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.
Politiques de domaine
CodeArtifact prend en charge l'utilisation d'autorisations basées sur les ressources pour contrôler l'accès. Resource-basedles autorisations vous permettent de spécifier qui a accès à une ressource et les actions qu'il peut effectuer sur celle-ci. Par défaut, seul le compte AWS propriétaire du domaine peut créer des référentiels dans le domaine et y accéder. Vous pouvez appliquer un document de politique à un domaine pour permettre à d'autres administrateurs IAM d'y accéder.
Pour plus d'informations, consultez les sections Politiques et autorisations et Identity-Based Politiques et Resource-Based politiques.
Rubriques
Activer l'accès multicompte à un domaine
Une politique de ressources est un fichier texte au format JSON. Le fichier doit spécifier un acteur principal, une ou plusieurs actions et un effet (AllowouDeny). Pour créer un référentiel dans un domaine appartenant à un autre compte, le principal doit disposer de l'CreateRepositoryautorisation sur la ressource du domaine.
Par exemple, la politique de ressources suivante 123456789012 autorise le compte à créer un référentiel dans le domaine.
Pour autoriser la création de référentiels avec des balises, vous devez inclure cette codeartifact:TagResource autorisation. Cela permettra également au compte d'ajouter des balises au domaine et à tous les référentiels qu'il contient.
La politique de domaine est évaluée pour toutes les opérations relatives au domaine et à toutes les ressources du domaine. Cela signifie que la politique de domaine peut être utilisée pour appliquer des autorisations aux référentiels et aux packages du domaine. Lorsque l'Resourceélément est défini sur*, l'instruction s'applique à toutes les ressources du domaine. Par exemple, si la politique ci-dessus est également incluse codeartifact:DescribeRepository dans la liste des actions IAM autorisées, elle autorisera l'appel à tous DescribeRepository les référentiels du domaine. Une politique de domaine peut être utilisée pour appliquer des autorisations à des ressources spécifiques du domaine en utilisant des ARN de ressources spécifiques dans l'Resourceélément.
Note
Les politiques de domaine et de référentiel peuvent être utilisées pour configurer les autorisations. Lorsque les deux politiques sont présentes, les deux politiques sont évaluées et une action est autorisée si l'une ou l'autre des politiques l'autorise. Pour de plus amples informations, veuillez consulter Interaction entre les politiques du référentiel et du domaine.
Pour accéder aux packages d'un domaine appartenant à un autre compte, un principal doit disposer de l'GetAuthorizationTokenautorisation sur la ressource du domaine. Cela permet au propriétaire du domaine de contrôler quels comptes peuvent lire le contenu des référentiels du domaine.
Par exemple, la politique de ressources suivante autorise le compte 123456789012 à récupérer un jeton d'authentification pour n'importe quel référentiel du domaine.
Note
Un principal qui souhaite récupérer des packages à partir d'un point de terminaison de référentiel doit disposer de l'ReadFromRepositoryautorisation sur la ressource du référentiel en plus de l'GetAuthorizationTokenautorisation sur le domaine. De même, un responsable qui souhaite publier des packages sur un point de terminaison de référentiel doit en outre obtenir cette PublishPackageVersion autorisationGetAuthorizationToken.
Pour plus d'informations sur les PublishPackageVersion autorisations ReadFromRepository et, consultez la section Politiques du référentiel.
Exemple de politique de domaine
Lorsque plusieurs comptes utilisent un domaine, les comptes doivent bénéficier d'un ensemble d'autorisations de base pour permettre une utilisation complète du domaine. La politique de ressources suivante répertorie un ensemble d'autorisations qui permettent une utilisation complète du domaine.
Note
Il n'est pas nécessaire de créer une politique de domaine si un domaine et tous ses référentiels appartiennent à un seul compte et ne doivent être utilisés qu'à partir de ce compte.
Exemple de politique de domaine avec AWS Organizations
Vous pouvez utiliser la clé de aws:PrincipalOrgID condition pour autoriser l'accès à un CodeArtifact domaine depuis tous les comptes de votre organisation, comme suit.
Pour plus d'informations sur l'utilisation de la clé de aws:PrincipalOrgID condition, consultez AWS Global Condition Context Keys dans le guide de l'utilisateur IAM.
Définissez une politique de domaine
Vous pouvez utiliser la put-domain-permissions-policy commande pour associer une politique à un domaine.
aws codeartifact put-domain-permissions-policy --domainmy_domain--domain-owner111122223333\ --policy-documentfile://</PATH/TO/policy.json>
Lorsque vous appelezput-domains-permissions-policy, CodeArtifact ignore la politique de ressources du domaine lors de l'évaluation des autorisations. Cela garantit que le propriétaire d'un domaine ne peut pas s'exclure du domaine, ce qui l'empêcherait de mettre à jour la politique en matière de ressources.
Note
Vous ne pouvez pas autoriser un autre AWS compte à mettre à jour la politique de ressources d'un domaine à l'aide d'une politique de ressources, car la politique de ressources est ignorée lors de l'appel à put-domain-permissions-policy.
Exemple de sortie :
{ "policy": { "resourceArn": "arn:aws:codeartifact:region-id:111122223333:domain/my_domain", "document": "{ ...policy document content...}", "revision": "MQlyyTQRASRU3HB58gBtSDHXG7Q3hvxxxxxxx=" } }
Le résultat de la commande contient le nom de ressource Amazon (ARN) de la ressource de domaine, le contenu complet du document de politique et un identifiant de révision. L'identifiant de révision peut être transmis à put-domain-permissions-policy l'aide de l'--policy-revisionoption. Cela garantit qu'une révision connue du document est remplacée, et non une version plus récente définie par un autre rédacteur.
Lire une politique de domaine
Pour lire une version existante d'un document de politique, utilisez la get-domain-permissions-policy commande. Pour formater la sortie à des fins de lisibilité, utilisez le --output et --query policy.document avec le json.tool module Python, comme suit.
aws codeartifact get-domain-permissions-policy --domainmy_domain--domain-owner111122223333\ --output text --query policy.document | python -mjson.tool
Exemple de sortie :
Supprimer une politique de domaine
Utilisez la delete-domain-permissions-policy commande pour supprimer une politique d'un domaine.
aws codeartifact delete-domain-permissions-policy --domainmy_domain--domain-owner111122223333
Le format de sortie est le même que celui des delete-domain-permissions-policy commandes get-domain-permissions-policy et.