AWS CodeArtifact référence aux autorisations - 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.

AWS CodeArtifact référence aux autorisations

AWS CodeArtifact ressources et opérations

Dans AWS CodeArtifact, la ressource principale est un domaine. Dans une stratégie, vous utilisez un Amazon Resource Name (ARN) pour identifier la ressource à laquelle la stratégie s'applique. Les référentiels sont également des ressources auxquelles des ARN sont associés. Pour plus d'informations, consultez Amazon Resource Names (ARN) dans le document Référence générale d'Amazon Web Services.

Type de ressource Format ARN
Domaine

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

Référentiel.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

Groupe de packages

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

Package avec un espace de noms

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

Package sans espace de noms

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format//my_package

Toutes les CodeArtifact ressources

arn:aws:codeartifact:*

Toutes les CodeArtifact ressources détenues par le compte spécifié dans la région AWS spécifiée

arn:aws:codeartifact:region-ID:account-ID:*

L'ARN de ressource que vous spécifiez dépend de l'action ou des actions auxquelles vous souhaitez contrôler l'accès.

Vous pouvez indiquer un domaine spécifique (MyDomain) dans votre déclaration à l'aide de son ARN comme suit.

"Resource": "arn:aws:codeartifact:us-east-2:123456789012:domain/myDomain"

Vous pouvez indiquer un dépôt spécifique (MyRepo) dans votre instruction en utilisant son ARN comme suit.

"Resource": "arn:aws:codeartifact:us-east-2:123456789012:domain/myDomain/myRepo"

Pour spécifier plusieurs ressources dans une seule instruction, séparez leurs ARN par des virgules. La déclaration suivante s'applique à tous les packages et référentiels d'un domaine spécifique.

"Resource": [ "arn:aws:codeartifact:us-east-2:123456789012:domain/myDomain", "arn:aws:codeartifact:us-east-2:123456789012:repository/myDomain/*", "arn:aws:codeartifact:us-east-2:123456789012:package/myDomain/*" ]
Note

De nombreux AWS services traitent deux points (:)) ou une barre oblique (/) comme le même caractère dans les ARN. Cependant, CodeArtifact utilise une correspondance exacte dans les modèles de ressources et les règles. Veillez à utiliser les caractères corrects lors de la création de modèles d'événements, afin qu'ils correspondent à la syntaxe ARN de la ressource.

AWS CodeArtifact Opérations et autorisation de l'API

Vous pouvez utiliser le tableau suivant comme référence lorsque vous configurez le contrôle d'accès et que vous rédigez des politiques d'autorisation que vous pouvez associer à une identité IAM (politiques basées sur l'identité).

Vous pouvez utiliser des AWS clés de condition larges dans vos AWS CodeArtifact polices pour exprimer des conditions. Pour obtenir une liste, reportez-vous à la section Référence des éléments de politique IAM JSON dans le guide de l'utilisateur IAM.

Vous spécifiez les actions dans le champ Action de la politique. Pour spécifier une action, utilisez le préfixe codeartifact: suivi du nom de l'opération d'API (par exemple, codeartifact:CreateDomain ou codeartifact:AssociateExternalConnection). Pour spécifier plusieurs actions dans une même instruction, séparez-les par une virgule (par exemple, "Action": [ "codeartifact:CreateDomain", "codeartifact:AssociateExternalConnection" ]).

Utilisation de caractères génériques

Vous spécifiez un ARN, avec ou sans caractère générique (*) comme valeur de ressource dans le champ Resource de la stratégie. Vous pouvez utiliser un caractère générique pour spécifier plusieurs actions ou ressources. Par exemple, codeartifact:* spécifie toutes les CodeArtifact actions et codeartifact:Describe* indique toutes les CodeArtifact actions qui commencent par le motDescribe.

CodeArtifact Opérations d'API et autorisations requises pour les actions
AWS CodeArtifact Opérations d'API Autorisations requises (actions API) Ressources
AssociateExternalConnection

codeartifact:AssociateExternalConnection

Nécessaire pour ajouter une connexion externe à un référentiel.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

CopyPackageVersions

Pour copier des versions de package d'un référentiel source vers un référentiel de destination :

codeartifact:CopyPackageVersions

Obligatoire sur le référentiel de destination.

codeartifact:ReadFromRepository

Obligatoire sur le référentiel source.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

CreateDomain

codeartifact:CreateDomain

Nécessaire pour créer des domaines.

kms:DescribeKey et kms:CreateGrant

Obligatoire sur la clé KMS fournie lorsque vous spécifiez une valeur autre que celle par défautencryptionKey.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

CreatePackageGroup

codeartifact:CreatePackageGroup

Nécessaire pour créer des groupes de packages.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

CreateRepository

codeartifact:CreateRepository

Nécessaire pour créer des référentiels.

codeartifact:AssociateWithDownstreamRepository

Obligatoire sur un référentiel pour pouvoir être ajouté en tant que référentiel en amont aux référentiels en aval.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DeleteDomain

codeartifact:DeleteDomain

Nécessaire pour supprimer des domaines.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

DeleteDomainPermissionsPolicy

codeartifact:DeleteDomainPermissionsPolicy

Nécessaire pour supprimer la politique de ressources d'un domaine.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

DeletePackage

codeartifact:DeletePackage

Nécessaire pour supprimer un package.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DeletePackageGroup

codeartifact:DeletePackageGroup

Nécessaire pour supprimer un groupe de packages.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

DeletePackageVersions

codeartifact:DeletePackageVersions

Nécessaire pour supprimer des versions d'un package.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DeleteRepository

codeartifact:DeleteRepository

Autorisation requise pour supprimer un référentiel .

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DeleteRepositoryPermissionsPolicy

codeartifact:DeleteRepositoryPermissionsPolicy

Nécessaire pour supprimer la politique de ressources d'un dépôt.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DescribeDomain

codeartifact:DescribeDomain

Nécessaire pour obtenir des informations sur un domaine.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

DescribePackage

codeartifact:DescribePackage

Nécessaire pour obtenir des informations sur un package.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DescribePackageGroup

codeartifact:DescribePackageGroup

Nécessaire pour obtenir des informations sur un groupe de packages.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

DescribePackageVersion

codeartifact:DescribePackageVersion

Nécessaire pour obtenir des informations sur la version d'un package.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DescribeRepository

codeartifact:DescribeRepository

Nécessaire pour obtenir des informations sur un dépôt.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DisassociateExternalConnection

codeartifact:DisassociateExternalConnection

Nécessaire pour supprimer une connexion externe à un référentiel.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DisposePackageVersions

codeartifact:DisposePackageVersions

Nécessaire pour supprimer les versions d'un package.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

GetAssociatedPackageGroup

codeartifact:GetAssociatedPackageGroup

Nécessaire pour obtenir le groupe de packages associé à un package.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

GetAuthorizationToken

codeartifact:GetAuthorizationToken

sts:GetServiceBearerToken

Nécessaire pour obtenir un jeton d'autorisation temporaire pour accéder aux référentiels.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

GetDomainPermissionsPolicy

codeartifact:GetDomainPermissionsPolicy

Nécessaire pour obtenir une politique de ressources de domaine.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

GetPackageVersionAsset

codeartifact:GetPackageVersionAsset

Nécessaire pour obtenir des actifs dans une version de package.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package
GetPackageVersionReadme

codeartifact:GetPackageVersionReadme

Nécessaire pour obtenir le fichier readme d'une version de package.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

GetRepositoryEndpoint

codeartifact:GetRepositoryEndpoint

Nécessaire pour obtenir un point de terminaison de référentiel.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

GetRepositoryPermissionsPolicy

codeartifact:GetRepositoryPermissionsPolicy

Nécessaire pour obtenir une politique de ressources du référentiel.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

ListAssociatedPackages

codeartifact:ListAssociatedPackages

Obligatoire pour renvoyer la liste des packages associés à un groupe de packages.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

ListDomains

codeartifact:ListDomains

Obligatoire pour renvoyer une liste paginée de domaines dans un compte AWS.

*

ListPackageGroups

codeartifact:ListPackageGroups

Obligatoire pour renvoyer une liste paginée des groupes de packages dans un domaine.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

ListPackages

codeartifact:ListPackages

Obligatoire pour renvoyer une liste paginée de packages dans un référentiel.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

ListPackageVersionAssets

codeartifact:ListPackageVersionAssets

Obligatoire pour renvoyer une liste paginée d'actifs dans une version de package.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

ListPackageVersionDependencies

codeartifact:ListPackageVersionDependencies

Obligatoire pour renvoyer une liste paginée des dépendances d'une version de package.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

ListPackageVersions

codeartifact:ListPackageVersions

Obligatoire pour renvoyer une liste paginée des versions de packages dans un référentiel.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

ListRepositories

codeartifact:ListRepositories

Obligatoire pour renvoyer une liste paginée de référentiels dans un compte AWS.

*

ListRepositoriesInDomain

codeartifact:ListRepositoriesInDomain

Obligatoire pour renvoyer une liste paginée des référentiels d'un domaine.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

ListSubPackageGroups

codeartifact:ListSubPackageGroups

Obligatoire pour renvoyer une liste des groupes de packages enfants directs d'un groupe de packages.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

ListTagsForResource

codeartifact:ListTagsForResource

Requise pour répertorier les balises pour une ressource spécifiée.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

PublishPackageVersion

codeartifact:PublishPackageVersion

Nécessaire pour publier une version de package dans un référentiel.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

PutDomainPermissionsPolicy

codeartifact:PutDomainPermissionsPolicy

Nécessaire pour ajouter une politique de ressources à un domaine.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

PutPackageMetadata

codeartifact:PutPackageMetadata

Nécessaire pour publier les versions des packages Maven dans un référentiel, ou pour ajouter ou supprimer des balises npm dans les versions des packages npm.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

PutPackageOriginConfiguration

codeartifact:PutPackageOriginConfiguration

Nécessaire pour mettre à jour la configuration d'origine d'un package.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

PutRepositoryPermissionsPolicy

codeartifact:PutRepositoryPermissionsPolicy

Nécessaire pour ajouter une politique de ressources à un référentiel.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

ReadFromRepository

codeartifact:ReadFromRepository

Nécessaire pour lire à partir d'un référentiel à l'aide d'un client de gestion de packages.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

TagResource

codeartifact:TagResource

Obligatoire pour étiqueter une ressource.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

UntagResource

codeartifact:UntagResource

Nécessaire pour supprimer un tag d'une ressource.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

UpdatePackageGroup

codeartifact:UpdatePackageGroup

Nécessaire pour mettre à jour un groupe de packages.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

UpdatePackageGroupOriginConfiguration

codeartifact:UpdatePackageGroupOriginConfiguration

Nécessaire pour mettre à jour la configuration d'origine d'un groupe de packages.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

UpdatePackageVersionsStatus

codeartifact:UpdatePackageVersionsStatus

Nécessaire pour modifier le statut d'une version de package.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

UpdateRepository

codeartifact:UpdateRepository

Nécessaire pour mettre à jour la description d'un dépôt ou les connexions en amont. Consultez Modifier la configuration en amont d'un référentiel ou consultez UpdateRepositoryle guide de CodeArtifact l'API pour plus d'informations.

codeartifact:AssociateWithDownstreamRepository

Obligatoire sur un référentiel pour pouvoir être ajouté en tant que référentiel en amont aux référentiels en aval.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

Arns du groupe de packages

Note

Cette section explique comment les ARN des groupes de packages et le codage des modèles sont informatifs. Il est recommandé de copier des ARN depuis la console ou de récupérer des ARN à l'aide de l'DescribePackageGroupAPI au lieu de coder des modèles et de construire des ARN.

Les politiques IAM utilisent le caractère générique pour correspondre à plusieurs actions IAM ou à plusieurs ressources. * Les modèles de groupes de packages utilisent également le * caractère. Afin de rédiger plus facilement des politiques IAM correspondant à un seul groupe de packages, le format ARN du groupe de packages utilise une version codée du modèle de groupe de packages.

Plus précisément, le format ARN du groupe de packages est le suivant :

arn:aws:codeartifact:region:account-ID:package-group/my_domain/encoded_package_group_pattern

Où le modèle de groupe de packages codé est le modèle de groupe de packages, certains caractères spéciaux étant remplacés par leurs valeurs codées en pourcentage. La liste suivante contient les caractères et leurs valeurs codées en pourcentage correspondantes :

  • * : %2a

  • $ : %24

  • % : %25

Par exemple, l'ARN d'un groupe de packages racine d'un domaine, (/*), serait :

arn:aws:codeartifact:us-east-1:111122223333:package-group/my_domain/%2a

Notez que les caractères non inclus dans la liste ne peuvent pas être codés et que les ARN distinguent les majuscules et minuscules. Ils * doivent donc être codés comme %2a et non. %2A