IAM JSON 策略元素:Action
Action
元素描述将允许或拒绝的特定操作。声明必须包含 Action
或 NotAction
元素。每款 Amazon 服务各自拥有一套描述任务的操作,您可使用相应服务来执行所描述的任务。例如,Amazon S3 的操作列表可以在 Amazon Simple Storage Service 用户指南中的在策略中指定权限找到,Amazon EC2 操作列表可以在Amazon EC2 API 参考中找到,而适用于 Amazon Identity and Access Management 的操作列表可以在 IAM API 参考中找到。要查找其他服务的操作列表,请参阅 API 参考文档
此外,Amazon 以 JSON 格式提供服务参考信息,以简化策略管理工作流程的自动化。借助服务参考信息,您可以从机器可读文件中跨 Amazon Web Services 服务访问可用操作、资源和条件键。有关更多信息,请参阅《服务授权参考》中的用于编程访问的简化 Amazon Web Services 服务信息。
通过将服务命名空间用作操作前缀(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" ]
可以使用多字符匹配通配符 (*
) 和单字符匹配通配符 (?
),来授予对特定 Amazon 产品所提供所有操作的访问权限。例如,以下 Action
元素适用于所有 S3 操作。
"Action": "s3:*"
还可以将通配符(*
或 ?
)作为操作名称的一部分使用。例如,下列 Action
元素适用于所有包含字符串 AccessKey
的 IAM 操作,包括 CreateAccessKey
、DeleteAccessKey
、ListAccessKeys
及 UpdateAccessKey
。
"Action": "iam:*AccessKey*"
某些产品允许您限制可用的操作。例如,Amazon SQS 允许您只提供所有可能的 Amazon SQS 操作的一部分。在这种情况下,*
通配符不允许完全控制队列;而是仅允许控制您已共享的操作子集。有关更多信息,请参阅 Amazon Simple Storage Service 开发人员指南中的了解权限。