Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exemples de politiques
Les exemples suivants présentent des déclarations de politique que vous pouvez utiliser pour contrôler les autorisations accordées aux utilisateursAWS Batch.
Exemples
- Accès en lecture seule
- Restreindre l'utilisateur, l'image, les privilèges et le rôle
- Restreindre la soumission de tâches
- Restreindre la file des tâches
- Refuser l'action lorsque la condition est que toutes les clés correspondent à des chaînes
- Refuser l'action lorsque des clés de condition correspondent à des chaînes
- Utiliser la clé de batch:ShareIdentifier condition
Accès en lecture seule
La politique suivante autorise les utilisateurs à utiliser toutes les actions d'AWS BatchAPI dont le nom commence par Describe
etList
.
À moins qu'une autre déclaration ne leur accorde l'autorisation de le faire, les utilisateurs ne sont pas autorisés à effectuer des actions sur les ressources. Par défaut, ils ne sont pas autorisés à utiliser les actions de l'API.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:Describe*", "batch:List*" ], "Resource": "*" } ] }
Limitation à l'utilisateur POSIX, à l'image Docker, au niveau de privilège et au rôle lors de la soumission des tâches
La politique suivante permet à un utilisateur POSIX de gérer son propre ensemble de définitions de tâches restreintes.
Utilisez les première et deuxième instructions pour enregistrer et désenregistrer tout nom de définition de tâche dont le nom est préfixé par A_. JobDef
La première instruction utilise également des clés de contexte de condition pour restreindre l'utilisateur POSIX, le statut privilégié et les valeurs d'images de conteneur au sein des containerProperties
d'une définition de tâche. Pour plus d'informations, consultez RegisterJobDefinition dans la Référence d'API AWS Batch. Dans cet exemple, les définitions de tâches ne peuvent être enregistrées que lorsque l'utilisateur POSIX est défini sur. nobody
Le drapeau privilégié est défini surfalse
. Enfin, l'image est configurée pour figurer myImage
dans un référentiel Amazon ECR.
Important
Docker résout le user
paramètre pour cet utilisateur à uid
partir de l'image du conteneur. Dans la plupart des cas, cela se trouve dans le /etc/passwd
fichier contenu dans l'image du conteneur. Cette résolution de noms peut être évitée en utilisant des uid
valeurs directes à la fois dans la définition de la tâche et dans les politiques IAM associées. Les opérations AWS Batch d'API et les clés conditionnelles batch:User
IAM prennent en charge les valeurs numériques.
Utilisez la troisième déclaration pour limiter la définition d'une tâche à un rôle spécifique.
{ "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" ] } ] }
Restreindre au préfixe de définition de tâche lors de la soumission de la tâche
Utilisez la politique suivante pour soumettre des tâches à n'importe quelle file d'attente de tâches dont le nom de définition de tâche commence par JobDefA.
Important
Lors de la restriction de l'accès au niveau des ressources pour la soumission de tâche, vous devez fournir des types de ressources de file d'attente de tâches et de définition de tâche.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:SubmitJob" ], "Resource": [ "arn:aws:batch:
<aws_region>
:<aws_account_id>
:job-definition/JobDefA_*", "arn:aws:batch:<aws_region>
:<aws_account_id>
:job-queue/*" ] } ] }
Limiter à la file d'attente des tâches
Utilisez la politique suivante pour soumettre des tâches à une file d'attente de tâches spécifique nommée queue1 avec n'importe quel nom de définition de tâche.
Important
Lors de la restriction de l'accès au niveau des ressources pour la soumission de tâche, vous devez fournir des types de ressources de file d'attente de tâches et de définition de tâche.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:SubmitJob" ], "Resource": [ "arn:aws:batch:
<aws_region>
:<aws_account_id>
:job-definition/*", "arn:aws:batch:<aws_region>
:<aws_account_id>
:job-queue/queue1" ] } ] }
Refuser l'action lorsque la condition est que toutes les clés correspondent à des chaînes
La politique suivante refuse l'accès à l'opération d'RegisterJobDefinitionAPI lorsque la clé de condition batch:Image
(ID de l'image du conteneur) est à la fois « string1
» et que la clé de condition batch:LogDriver
(pilote du journal du conteneur) est « string2
». AWS Batch évalue les clés de condition sur chaque conteneur. Lorsqu'une tâche couvre plusieurs conteneurs, tels qu'une tâche parallèle à nœuds multiples, il est possible que les conteneurs aient des configurations différentes. Si plusieurs clés de condition sont évaluées dans une instruction, elles sont combinées de manière AND
logique. Ainsi, si l'une des multiples clés de condition ne correspond pas à un conteneur, l'Deny
effet ne s'applique pas à ce conteneur. Au contraire, un conteneur différent pour la même tâche peut être refusé.
Pour la liste des clés de condition pourAWS Batch, voir Clés de condition pour AWS Batch dans la référence d'autorisation de service. À l'exception debatch:ShareIdentifier
, toutes les clés de batch
condition peuvent être utilisées de cette manière. La clé de batch:ShareIdentifier
condition est définie pour une tâche, et non pour une définition de tâche.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "*" ] }, { "Effect": "Deny", "Action": "batch:RegisterJobDefinition", "Resource": "*", "Condition": { "StringEquals": { "batch:Image": "
string1
", "batch:LogDriver": "string2
" } } } ] }
Refuser l'action lorsque des clés de condition correspondent à des chaînes
La politique suivante refuse l'accès à l'opération d'RegisterJobDefinitionAPI lorsque la clé de condition batch:Image
(ID de l'image du conteneur) est « string1
» ou que la clé de condition batch:LogDriver
(pilote du journal du conteneur) est « string2
». Lorsqu'une tâche couvre plusieurs conteneurs, tels qu'une tâche parallèle à nœuds multiples, il est possible que les conteneurs aient des configurations différentes. Si plusieurs clés de condition sont évaluées dans une instruction, elles sont combinées de manière AND
logique. Ainsi, si l'une des multiples clés de condition ne correspond pas à un conteneur, l'Deny
effet ne s'applique pas à ce conteneur. Au contraire, un conteneur différent pour la même tâche peut être refusé.
Pour la liste des clés de condition pourAWS Batch, voir Clés de condition pour AWS Batch dans la référence d'autorisation de service. À l'exception debatch:ShareIdentifier
, toutes les clés de batch
condition peuvent être utilisées de cette manière. (La clé de batch:ShareIdentifier
condition est définie pour une tâche, pas pour une définition de tâche.)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "*" ] }, { "Effect": "Deny", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "batch:Image": [ "
string1
" ] } } }, { "Effect": "Deny", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "batch:LogDriver": [ "string2
" ] } } } ] }
Utiliser la clé de batch:ShareIdentifier
condition
Utilisez la politique suivante pour soumettre les tâches qui utilisent la définition de jobDefA
tâche à la file d'attente des jobqueue1
tâches avec l'identifiant de lowCpu
partage.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:SubmitJob" ], "Resource": [ "arn:aws::batch:
<aws_region>
:<aws_account_id>
:job-definition/JobDefA", "arn:aws::batch:<aws_region>
:<aws_account_id>
:job-queue/jobqueue1" ], "Condition": { "StringEquals": { "batch:ShareIdentifier": [ "lowCpu" ] } } } ] }