Utilisation de balises pour contrôler l'accès aux ressources CodeArtifact - CodeArtifact

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.

Utilisation de balises pour contrôler l'accès aux ressources CodeArtifact

Les conditions figurant dans les déclarations de politique utilisateur IAM font partie de la syntaxe que vous utilisez pour spécifier les autorisations relatives aux ressources requises par CodeArtifact les actions. L'utilisation des balises dans les conditions est un moyen de contrôler l'accès aux ressources et demandes. Pour plus d'informations sur le balisage CodeArtifact des ressources, consultezBalisage des ressources. Cette rubrique explique le contrôle d'accès basé sur les balises.

Lorsque vous concevez des stratégies IAM, vous pouvez définir des autorisations granulaires en accordant l'accès à des ressources spécifiques. Au fur et à mesure que le nombre de ressources que vous gérez s'accroît, cette tâche devient plus difficile. Le balisage des ressources et l'utilisation de balises dans les déclarations de politique peuvent rendre cette tâche plus facile. Vous accordez l'accès en bloc à toute ressource avec une balise spécifique. Puis, vous appliquez cette balise à plusieurs reprises aux ressources correspondantes, lors de la création ou ultérieurement.

Les balises peuvent être attachées à la ressource ou transmises dans la demande aux services qui prennent en charge le balisage. Dans CodeArtifact, les ressources peuvent avoir des balises, et certaines actions peuvent inclure des balises. Lorsque vous créez une politique IAM, vous pouvez utiliser des clés de condition de balise pour contrôler :

  • Quels utilisateurs peuvent effectuer des actions sur un domaine ou une ressource de référentiel, en fonction des balises qu'il possède déjà.

  • quelles balises peuvent être transmises dans une demande d’action ;

  • si des clés de balise spécifiques peuvent être utilisées dans une demande.

Pour connaître la syntaxe complète et la sémantique des clés de condition de balise, consultez Contrôle de l’accès à l’aide de balises dans le Guide de l’utilisateur IAM.

Important

Lorsque vous utilisez des balises sur des ressources pour limiter les actions, les balises doivent se trouver sur la ressource sur laquelle l'action agit. Par exemple, pour refuser DescribeRepository des autorisations avec des balises, celles-ci doivent se trouver sur chaque référentiel et non sur le domaine. Consultez AWS CodeArtifact référence aux autorisations la liste des actions CodeArtifact et des ressources sur lesquelles elles opèrent.

Exemples de contrôle d'accès basé sur des balises

Les exemples suivants montrent comment spécifier des conditions de balises dans les stratégies pour les utilisateurs CodeArtifact .

Exemple 1 : Limiter les actions en fonction des balises dans la demande

La politique des utilisateurs AWSCodeArtifactAdminAccess gérés donne aux utilisateurs des autorisations illimitées pour effectuer n'importe quelle CodeArtifact action sur n'importe quelle ressource.

La politique suivante limite ce pouvoir et refuse aux utilisateurs non autorisés l'autorisation de créer des référentiels à moins que la demande ne contienne certaines balises. Pour ce faire, il refuse l'CreateRepositoryaction si la demande ne spécifie pas de balise nommée costcenter avec l'une des valeurs 1 ou2. L'administrateur d'un client peut attacher cette stratégie IAM aux utilisateurs IAM non autorisés et à la stratégie d'utilisateur gérée.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "codeartifact:CreateRepository", "Resource": "*", "Condition": { "Null": { "aws:RequestTag/costcenter": "true" } } }, { "Effect": "Deny", "Action": "codeartifact:CreateRepository", "Resource": "*", "Condition": { "ForAnyValue:StringNotEquals": { "aws:RequestTag/costcenter": [ "1", "2" ] } } } ] }
Exemple 2 : Limiter les actions en fonction des balises de ressource

La politique des utilisateurs AWSCodeArtifactAdminAccess gérés donne aux utilisateurs des autorisations illimitées pour effectuer n'importe quelle CodeArtifact action sur n'importe quelle ressource.

La politique suivante limite ce pouvoir et refuse aux utilisateurs non autorisés l'autorisation d'effectuer des actions sur des référentiels dans des domaines spécifiques. Pour ce faire, elle refuse certaines actions si la ressource possède une balise nommée Key1 avec une valeur Value1 ou Value2. (La clé de condition aws:ResourceTag est utilisée pour contrôler l'accès aux ressources en fonction des balises sur ces ressources.) L'administrateur d'un client peut attacher cette stratégie IAM aux utilisateurs IAM non autorisés et à la stratégie d'utilisateur gérée.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codeartifact:TagResource", "codeartifact:UntagResource", "codeartifact:DescribeDomain", "codeartifact:DescribeRepository", "codeartifact:PutDomainPermissionsPolicy", "codeartifact:PutRepositoryPermissionsPolicy", "codeartifact:ListRepositoriesInDomain", "codeartifact:UpdateRepository", "codeartifact:ReadFromRepository", "codeartifact:ListPackages", "codeartifact:ListTagsForResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Key1": ["Value1", "Value2"] } } } ] }
Exemple 3 : Autoriser les actions en fonction des balises de ressources

La politique suivante autorise les utilisateurs à effectuer des actions et à obtenir des informations sur les référentiels et les packages qu'ils contiennent. CodeArtifact

Pour ce faire, il autorise des actions spécifiques si le référentiel possède une balise nommée Key1 avec la valeurValue1. (La clé de condition aws:RequestTag est utilisée pour contrôler les balises qui peuvent être transmises dans une demande IAM.) La condition aws:TagKeys garantit que la clé de balise est sensible à la casse. Cette stratégie est utile pour les utilisateurs IAM auxquels la stratégie utilisateur gérée AWSCodeArtifactAdminAccess n'est pas attachée. La politique gérée donne aux utilisateurs des autorisations illimitées pour effectuer n'importe quelle CodeArtifact action sur n'importe quelle ressource.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeartifact:UpdateRepository", "codeartifact:DeleteRepository", "codeartifact:ListPackages" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Key1": "Value1" } } } ] }
Exemple 4 : Autoriser les actions en fonction des balises de la demande

La politique suivante autorise les utilisateurs à créer des référentiels dans des domaines spécifiques dans CodeArtifact.

Pour ce faire, elle autorise les TagResource actions CreateRepository et si l'API de création de ressources dans la demande spécifie une balise nommée Key1 avec la valeurValue1. (La clé de condition aws:RequestTag est utilisée pour contrôler les balises qui peuvent être transmises dans une demande IAM.) La condition aws:TagKeys garantit que la clé de balise est sensible à la casse. Cette stratégie est utile pour les utilisateurs IAM auxquels la stratégie utilisateur gérée AWSCodeArtifactAdminAccess n'est pas attachée. La politique gérée donne aux utilisateurs des autorisations illimitées pour effectuer n'importe quelle CodeArtifact action sur n'importe quelle ressource.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeartifact:CreateRepository", "codeartifact:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/Key1": "Value1" } } } ] }