是否有办法知道AWS IAM帐户是否具有创建VPC、EC2、SQS、SNS和CloudTrail的权限?
考虑到IAM的访问密钥和安全访问密钥,如果IAM没有正确的权限,我想通过编程阻止它进一步创建VPC、SQS、SNS。
有没有AWS Python API可以让我做这种检查
VPC和EC2有DryRun选项。但是对于SQS、SNS、S3和CloudTrail API没有这样的选项。
有人能帮忙吗?提前谢谢。
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