【问题标题】:AWS Python IAM API - how to get AWS IAM privileges programmatically?AWS Python IAM API - 如何以编程方式获取 AWS IAM 权限?
【发布时间】:2018-03-20 02:55:57
【问题描述】:

有没有办法知道 AWS IAM 账户是否拥有创建 VPC、EC2、SQS、SNS 和 CloudTrail 的权限?

鉴于 IAM 的访问密钥和安全访问密钥,如果 IAM 没有正确的权限,我想以编程方式阻止它进一步创建 VPC、SQS、SNS。

是否有可以让我进行此类检查的 AWS Python API?
VPC 和 EC2 有 DryRun 选项。但是 SQS、SNS、S3 和 CloudTrail API 没有这样的选项。

有人可以帮忙吗?提前致谢。

【问题讨论】:

    标签: python amazon-web-services amazon-s3 aws-sdk amazon-iam


    【解决方案1】:

    AWS 为此提供了一个 CLI 命令:

    aws iam simulate-principal-policy \
    --policy-source-arn arn:aws:iam::123456789:user/SomeUser \
    --action-names sqs:CreateQueue
    

    https://docs.aws.amazon.com/cli/latest/reference/iam/simulate-principal-policy.html

    您也可以将它与 Python boto3 包一起使用: http://boto3.readthedocs.io/en/latest/reference/services/iam.html#IAM.Client.simulate_principal_policy

    作为一种解决方法,您还可以检查特定策略是否附加到特定用户/角色。如果您的 IAM 中有秩序和良好的结构,对于 AWS 和客户管理的政策,它可能很简单:

    aws iam list-attached-user-policies --user-name your SomeUser
    aws iam list-attached-role-policies --role-name SomeRole
    aws iam list-attached-group-policies --group-name SomeGroup
    

    【讨论】:

      猜你喜欢
      • 2021-08-13
      • 2019-05-13
      • 2018-12-06
      • 1970-01-01
      • 2019-04-18
      • 2021-01-03
      • 2020-03-10
      • 2016-12-26
      • 1970-01-01
      相关资源
      最近更新 更多