资源:提交作业时仅限POSIX用户、Docker 镜像、权限级别和角色 - AWS Batch

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

资源:提交作业时仅限POSIX用户、Docker 镜像、权限级别和角色

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

使用第一和第二条语句注册和取消注册名称前缀为的任何作业定义名称。JobDefA_

第一条语句还使用条件上下文键来限制作业定义中的POSIX用户、特权状态和容器映像值。containerProperties有关更多信息,请参阅 AWS Batch API 参考中的 RegisterJobDefinition。在此示例中,只有当POSIX用户设置为时,才能注册作业定义nobody。特权标志设置为 false。最后,在 Amazon ECR 存储库myImage中将图像设置为。

重要

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

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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "arn:aws: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:batch:<aws_region>:<aws_account_id>:job-definition/JobDefA_*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<aws_account_id>:role/MyBatchJobRole" ] } ] }