Ida*_*ski 5 python amazon-web-services boto3
我想以编程方式获取允许用户跨 aws 服务执行的所有操作。我试图摆弄simulate_principal_policy,但似乎这种方法需要所有操作的列表,我不想维护一个硬编码列表。
例如,我还尝试使用 iam:* 调用它并得到一个通用的“implicitDeny”响应,因此我知道不允许用户执行所有操作,但我需要更高粒度的操作。
关于如何动态获取动作列表的任何想法?谢谢!
首先,没有编程方式来检索所有可能的操作(无论是否允许它们使用某个操作)。
在检查安全性之前,您需要构建一个可能的操作列表。例如,boto3Python 开发工具包包含一个内部命令列表,用于在将命令发送到 AWS 之前验证命令。
一旦您执行了特定操作,您就可以使用访问策略模拟器 API来验证是否允许给定用户进行特定 API 调用。这比尝试解析Allow与Deny给定用户关联的各种权限要容易得多。
但是,根据呼叫的具体参数,呼叫可能会被拒绝。例如,用户可能有权终止具有特定标签的任何 Amazon EC2 实例,但无法终止所有实例。为了正确测试这一点,InstanceId需要为模拟提供一个。
此外,权限可能会受到 IP 地址甚至时间的限制。因此,虽然用户有权调用某个操作,但他们执行操作的地点和时间将会影响该操作是否被允许。
底线:这并不容易!AWS 将在调用时验证权限。使用策略模拟器获得类似的验证结果。
| 归档时间: |
|
| 查看次数: |
569 次 |
| 最近记录: |