示例策略 - AWS Batch
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

示例策略

以下示例显示了您可用于控制 IAM 用户 AWS Batch 权限的策略语句。

示例:只读访问权限

以下策略向用户授予使用名称以 AWS Batch 和 Describe 开头的所有 List API 操作的权限。

用户无权对资源执行任何操作 (除非其他语句为用户授予执行此操作的权限),因为在默认情况下会对用户拒绝使用 API 操作的权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:Describe*", "batch:List*" ], "Resource": "*" } ] }

示例:限制为 POSIX 用户、Docker 映像、权限级别和作业提交角色

以下策略允许用户管理自己的一组受限作业定义。

第一个语句和第二个语句允许用户注册和取消注册名称前缀为 的任何作业定义名称 JobDefA_.

第一个语句还使用条件上下文键来限制作业定义的 containerProperties 中的 POSIX 用户、特权状态和容器映像值。有关更多信息,请参阅 中的 RegisterJobDefinitionAWS Batch API 参考。在此示例中,仅在以下情况下能够在 nobody 存储库中注册作业定义:POSIX 用户设置为 false,特权标签设置为 myImage 映像设置为 Amazon ECR。

重要

Docker 将 user 参数解析为该用户在容器映像中的 uid。在大多数情况下,这可在容器映像中的 /etc/passwd 文件中找到。可以通过在作业定义和任何关联的 uid 策略中使用直接 IAM 值来避免此名称解析。AWS Batch API 和 batch:User IAM 条件键都支持数字值。

第三个语句限制用户仅将特定角色传递给作业定义。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "arn:aws-cn:batch:<aws_region>:<aws_account_id>:job-definition/JobDefA_*" ], "Condition": { "StringEquals": { "batch:User": [ "nobody" ], "batch:Image": [ "<aws_account_id>.dkr.ecr.<aws_region>.amazonaws.com/myImage" ] }, "Bool": { "batch:Privileged": "false" } } }, { "Effect": "Allow", "Action": [ "batch:DeregisterJobDefinition" ], "Resource": [ "arn:aws-cn:batch:<aws_region>:<aws_account_id>:job-definition/JobDefA_*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws-cn:iam::<aws_account_id>:role/MyBatchJobRole" ] } ] }

示例:限于作业提交的作业定义前缀

以下策略允许用户将作业提交到任何作业队列,其任何作业定义名称以 开头 JobDefA_.

重要

在限定作业提交的资源级访问时,必须同时提供作业队列和作业定义资源类型。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:SubmitJob" ], "Resource": [ "arn:aws-cn:batch:<aws_region>:<aws_account_id>:job-definition/JobDefA_*", "arn:aws-cn:batch:<aws_region>:<aws_account_id>:job-queue/*" ] } ] }

示例:限于作业队列

以下策略允许用户将作业提交到名为 queue1 的特定作业队列,该队列具有任何作业定义名称。

重要

在限定作业提交的资源级访问时,必须同时提供作业队列和作业定义资源类型。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:SubmitJob" ], "Resource": [ "arn:aws-cn:batch:<aws_region>:<aws_account_id>:job-definition/*", "arn:aws-cn:batch:<aws_region>:<aws_account_id>:job-queue/queue1" ] } ] }