IAM JSON 策略元素:Action
Action
元素描述将允许或拒绝的特定操作。声明必须包含 Action
或 NotAction
元素。每款 AWS 服务各自拥有一套描述任务的操作,您可使用相应服务来执行所描述的任务。例如,Amazon S3 的操作列表可以在 Amazon Simple Storage Service 用户指南中的在策略中指定权限找到,Amazon EC2 操作列表可以在Amazon EC2 API 参考中找到,而适用于 AWS Identity and Access Management 的操作列表可以在 IAM API 参考中找到。要查找其他服务的操作列表,请参阅 API 参考文档
通过将服务命名空间用作操作前缀(iam
、ec2
、sqs
、sns
、s3
等)并后跟允许或拒绝的操作名称来指定值。该名称必须与产品支持的操作相匹配。前缀和操作名称不区分大小写。例如,iam:ListAccessKeys
与 IAM:listaccesskeys
相同。以下示例显示用于不同服务的 Action
元素。
Amazon SQS 操作
"Action": "sqs:SendMessage"
Amazon EC2 操作
"Action": "ec2:StartInstances"
IAM 操作
"Action": "iam:ChangePassword"
Amazon S3 操作
"Action": "s3:GetObject"
您可以为 Action
元素指定多个值。
"Action": [ "sqs:SendMessage", "sqs:ReceiveMessage", "ec2:StartInstances", "iam:ChangePassword", "s3:GetObject" ]
您可使用通配符 (*) 来访问特定 AWS 产品提供的所有操作。例如,以下 Action
元素适用于所有 S3 操作。
"Action": "s3:*"
还可以使用通配符 (*) 作为操作名称的一部分。例如,下列 Action
元素适用于所有包含字符串 AccessKey
的 IAM 操作,包括 CreateAccessKey
、DeleteAccessKey
、ListAccessKeys
及 UpdateAccessKey
。
"Action": "iam:*AccessKey*"
某些产品允许您限制可用的操作。例如,Amazon SQS 允许您只提供所有可能的 Amazon SQS 操作的一部分。在这种情况下,*
通配符不允许完全控制队列;而是仅允许控制您已共享的操作子集。有关更多信息,请参阅 Amazon Simple Storage Service 开发人员指南中的了解权限。