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.
Contrôle des autorisations pour les opérations par lots à l'aide de balises de tâche
Pour vous aider à gérer vos tâches Amazon S3 Batch Operations, vous pouvez ajouter des balises de tâche. Les étiquettes de tâche vous permettent de contrôler l'accès à vos tâches d'opérations par lot et d'imposer l'application d'étiquettes lors de la création de toute tâche.
Vous pouvez appliquer jusqu'à 50 étiquettes de tâche à chaque tâche d'opérations par lot. À l'aide de balises, vous pouvez définir des politiques détaillées afin de limiter le nombre d'utilisateurs autorisés à modifier le travail. Les étiquettes de tâche peuvent octroyer ou limiter la capacité d'un utilisateur à annuler une tâche, activer une tâche dans l'état de confirmation ou modifier le niveau de priorité d'une tâche. En outre, vous pouvez exiger l’application d'étiquettes à toutes les nouvelles tâches et spécifier les paires clé-valeur autorisées pour les étiquettes. Vous pouvez exprimer toutes ces conditions en utilisant le langage politique AWS Identity and Access Management (IAM). Pour plus d'informations, consultez Actions, ressources et clés de condition pour Amazon S3 dans le Service Authorization Reference.
Pour plus d'informations sur les autorisations relatives aux API opérations S3 par type de ressource S3, consultezAutorisations requises pour les API opérations Amazon S3.
L'exemple suivant montre comment utiliser des étiquettes de tâche d'opérations par lot S3 pour accorder aux utilisateurs l'autorisation de créer et de modifier uniquement les tâches exécutées au sein d'un service spécifique (par exemple, le service Finance ou Conformité). Vous pouvez également affecter des tâches en fonction du stade de développement auquel elles sont liées, notamment l’assurance qualité ou la production.
Dans cet exemple, vous utilisez les balises de tâche S3 Batch Operations dans les IAM politiques pour autoriser les utilisateurs à créer et à modifier uniquement les tâches exécutées au sein de leur département. Vous affectez des tâches en fonction du stade de développement auquel elles sont liées, telles que l’assurance qualité ou la production.
Les exemples suivants utilisent les départements suivants, chaque département utilisant Batch Operations de différentes manières :
-
Finance
-
Conformité
-
Business Intelligence
-
Ingénierie
Rubriques
Contrôler l'accès en affectant des étiquettes aux utilisateurs et aux ressources
Dans ce scénario, les administrateurs utilisent le contrôle d'accès basé sur les attributs () ABAC. ABACest une stratégie IAM d'autorisation qui définit les autorisations en attachant des balises aux utilisateurs et aux AWS ressources.
Les utilisateurs et les tâches se voient attribuer l'une des étiquettes de service suivantes :
Clé : Valeur
-
department : Finance
-
department : Compliance
-
department : BusinessIntelligence
-
department : Engineering
Note
Les clés et valeurs d'étiquette sont sensibles à la casse.
À l'aide de la stratégie de contrôle d'ABACaccès, vous autorisez un utilisateur du service financier à créer et à gérer des tâches S3 Batch Operations au sein de son service en associant le tag department=Finance
à son utilisateur.
En outre, vous pouvez associer une politique gérée à l'IAMutilisateur qui permet à n'importe quel utilisateur de son entreprise de créer ou de modifier des tâches S3 Batch Operations au sein de ses services respectifs.
La stratégie de cet exemple comprend trois déclarations de stratégie :
-
La première déclaration de la stratégie permet à l'utilisateur de créer une tâche d'opérations par lot à condition que la demande de création de tâche comprenne une étiquette de tâche correspondant à son service. Ceci est exprimé à l'aide de la syntaxe
"${aws:PrincipalTag/department}"
, qui est remplacée par l'étiquette du service de l'utilisateur au moment de l'évaluation de la stratégie. La condition est remplie lorsque la valeur fournie pour l'étiquette du service dans la demande("aws:RequestTag/department")
correspond au département de l'utilisateur. -
La deuxième déclaration de la stratégie permet aux utilisateurs de modifier la priorité des tâches ou de mettre à jour le statut d'une tâche, à condition que la tâche mise à jour corresponde au service de l'utilisateur.
-
La troisième déclaration permet à un utilisateur de mettre à jour les étiquettes d'une tâche d'opérations par lot à tout moment via une demande
PutJobTagging
, à condition que (1) l'étiquette de son service soit conservée et (2) la tâche qu'il met à jour se trouve dans son département.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:CreateJob", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}" } } }, { "Effect": "Allow", "Action": [ "s3:UpdateJobPriority", "s3:UpdateJobStatus" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/department": "${aws:PrincipalTag/department}" } } }, { "Effect": "Allow", "Action": "s3:PutJobTagging", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}", "aws:ResourceTag/department": "${aws:PrincipalTag/department}" } } } ] }
Balisage des tâches d'opérations par lot par étape et application de limites sur la priorité des tâches
Toutes les tâches d'opérations par lot S3 ont une priorité numérique, qu'Amazon S3 utilise pour décider de leur ordre d'exécution. Dans cet exemple, vous limitez la priorité maximale que la plupart des utilisateurs peuvent affecter aux tâches, avec des plages de priorité plus élevées réservées à un ensemble limité d'utilisateurs privilégiés, comme suit :
Plage de priorité de l'étape assurance qualité (faible) : 1-100
Plage de priorité de l'étape production (élevée) : 1-300
Pour ce faire, introduisez un nouveau jeu d'étiquettes représentant l’étape de la tâche :
Clé : Valeur
stage : QA
stage : Production
Création et mise à jour de tâches à faible priorité au sein d'un service
Cette stratégie introduit deux nouvelles restrictions sur la création et la mise à jour de tâches d'opérations par lot S3, en plus de la restriction basée sur le service :
Les utilisateurs peuvent créer ou mettre à jour des tâches dans leur service avec une nouvelle condition qui exige que la tâche inclue l'étiquette
stage=QA
.Les utilisateurs peuvent créer ou mettre à jour la priorité d'une tâche jusqu'à une nouvelle priorité maximale de 100.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:CreateJob", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}", "aws:RequestTag/stage": "QA" }, "NumericLessThanEquals": { "s3:RequestJobPriority": 100 } } }, { "Effect": "Allow", "Action": [ "s3:UpdateJobStatus" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/department": "${aws:PrincipalTag/department}" } } }, { "Effect": "Allow", "Action": "s3:UpdateJobPriority", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/department": "${aws:PrincipalTag/department}", "aws:ResourceTag/stage": "QA" }, "NumericLessThanEquals": { "s3:RequestJobPriority": 100 } } }, { "Effect": "Allow", "Action": "s3:PutJobTagging", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department" : "${aws:PrincipalTag/department}", "aws:ResourceTag/department": "${aws:PrincipalTag/department}", "aws:RequestTag/stage": "QA", "aws:ResourceTag/stage": "QA" } } }, { "Effect": "Allow", "Action": "s3:GetJobTagging", "Resource": "*" } ] }
Création et mise à jour de tâches hautement prioritaires au sein d'un service
Un petit nombre d'utilisateurs peut avoir besoin de créer des tâches hautement prioritaires dans les services de l’assurance qualité ou de la production. Pour répondre à ce besoin, vous créez une stratégie gérée adaptée à la stratégie de faible priorité décrite dans la section précédente.
Cette stratégie effectue les opérations suivantes :
Elle permet aux utilisateurs de créer ou de mettre à jour des tâches dans leur service avec l'étiquette
stage=QA
oustage=Production
.Elle permet aux utilisateurs de créer ou de mettre à jour la priorité d'une tâche jusqu'à un maximum de 300.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:CreateJob", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:RequestTag/stage": [ "QA", "Production" ] }, "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}" }, "NumericLessThanEquals": { "s3:RequestJobPriority": 300 } } }, { "Effect": "Allow", "Action": [ "s3:UpdateJobStatus" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/department": "${aws:PrincipalTag/department}" } } }, { "Effect": "Allow", "Action": "s3:UpdateJobPriority", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:ResourceTag/stage": [ "QA", "Production" ] }, "StringEquals": { "aws:ResourceTag/department": "${aws:PrincipalTag/department}" }, "NumericLessThanEquals": { "s3:RequestJobPriority": 300 } } }, { "Effect": "Allow", "Action": "s3:PutJobTagging", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}", "aws:ResourceTag/department": "${aws:PrincipalTag/department}" }, "ForAnyValue:StringEquals": { "aws:RequestTag/stage": [ "QA", "Production" ], "aws:ResourceTag/stage": [ "QA", "Production" ] } } } ] }