azure - Azure 有 IAM 吗?
问题描述
我刚刚使用 Azure 编写了我的第一个应用程序。只是一个调用 IoT 服务的小型函数应用程序,突然间它击中了我——我不需要创建任何 IAM 角色或任何东西。该应用程序刚刚工作。我试图在 Azure 上查找 IAM 服务,但一无所获。这永远不会与 AWS 或 Google Cloud 一起使用。Azure 在任何地方都有任何类似 IAM 的管理吗?如果我的应用程序存在允许远程服务器端代码执行的错误,是否意味着攻击者基本上可以访问我的整个 Azure 帐户?
解决方案
Azure 确实具有基于角色的访问控制和托管服务标识(您分配给 azure 服务的标识,并非所有服务都具有该标识)。如果您使用的是连接字符串(通常的模式),那么如果您的应用程序受到攻击,则不会发生任何事情。攻击者将能够与您的 IoT 中心(或您正在使用的任何东西)交谈。
如果您使用的是托管服务身份,那么理论上攻击者可以代表该身份行事。因此,如果您授予该身份的所有权限 - 那么是的。攻击者可以做任何事情。
如果您的应用程序直接与 Azure REST Api 对话以创建\修改资源并受到攻击 - 从理论上讲,攻击者将拥有与应用程序相同的权限。
话虽如此,我认为 Azure 的安全性丝毫不亚于 AWS 或 GCP。除非您授予应用程序世界上所有的权限 - 它没有实际管理 Azure 的权限。
推荐阅读
- c# - 使用 Observable.FromAsync 和 Switch 运算符时保证使用 Rx 执行串行任务?
- python - Sqlalchemy 加载实例事件未触发
- c# - C#从Active Directory,IIS中的登录用户获取登录用户电子邮件地址
- appium - 发生未知的服务器端错误在运行 Web 测试时 300 秒后没有得到任何响应
- ios - 我们是否需要为每次绘制创建一个新的 RenderPassDescriptor,或者我们可以缓存并重用它?
- jquery - 使用 REST API 获取 SharePoint 人员选取器数据
- fuse - 如何使用 FUSE 文件系统最小化进程崩溃
- laravel - 在 Laravel 中无法连接到 RDS PostgresQL SSL
- c# - 在彼此的 get 属性中处理多个值
- flutter - Flutter Provider:notifyListeners() 到特定目标