Créer le point de terminaison de la passerelle Amazon S3 - 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.

Créer le point de terminaison de la passerelle Amazon S3

CodeArtifact utilise Amazon Simple Storage Service (Amazon S3) pour stocker les actifs du package. Pour extraire des packages CodeArtifact, vous devez créer un point de terminaison de passerelle pour Amazon S3. Lorsque votre processus de création ou de déploiement télécharge des packages depuis CodeArtifact, il doit y accéder CodeArtifact pour obtenir les métadonnées des packages et Amazon S3 pour télécharger les actifs des packages (par exemple, .jar les fichiers Maven).

Note

Un point de terminaison Amazon S3 n'est pas nécessaire lors de l'utilisation des formats de package Python ou Swift.

Pour créer le point de terminaison de la passerelle Amazon S3 pour CodeArtifact, utilisez la commande Amazon EC2. create-vpc-endpoint AWS CLI Lorsque vous créez le point de terminaison, vous devez sélectionner les tables de routage pour votre VPC. Pour plus d'informations, consultez la section Gateway VPC Endpoints dans le guide de l'utilisateur d'Amazon Virtual Private Cloud.

La commande suivante crée un point de terminaison Amazon S3.

aws ec2 create-vpc-endpoint --vpc-id vpcid --service-name com.amazonaws.region.s3 \ --route-table-ids routetableid

Autorisations minimales de compartiment Amazon S3 pour AWS CodeArtifact

Le point de terminaison de la passerelle Amazon S3 utilise un document de politique IAM pour limiter l'accès au service. Pour n'autoriser que les autorisations minimales relatives au compartiment Amazon S3 CodeArtifact, limitez l'accès au compartiment Amazon S3 CodeArtifact utilisé lorsque vous créez le document de politique IAM pour le point de terminaison.

Le tableau suivant décrit les compartiments Amazon S3 auxquels vous devez faire référence dans vos politiques pour autoriser l'accès CodeArtifact dans chaque région.

Région ARN du compartiment Amazon S3

us-east-1

arn:aws:s3 : ::assets-193858265520-us-east-1

us-east-2

arn:aws:s3 : ::assets-250872398865-us-east-2

us-west-2

arn:aws:s3 : ::assets-787052242323-us-west-2

eu-west-1

arn:aws:s3 : ::assets-438097961670-eu-west-1

eu-west-2

arn:aws:s3 : ::assets-247805302724-eu-west-2

eu-west-3

arn:aws:s3 : ::assets-762466490029-eu-west-3

eu-north-1

arn:aws:s3 : :assets-611884512288-eu-north-1

eu-south-1

arn:aws:s3 : ::assets-484130244270-eu-south-1

eu-central-1

arn:aws:s3 : ::assets-769407342218-eu-central-1

ap-northeast-1

arn:aws:s3 : ::assets-660291247815-ap-northeast-1

ap-southeast-1

arn:aws:s3 : ::assets-421485864821-ap-southeast-1

ap-southeast-2

arn:aws:s3 : ::assets-860415559748-ap-southeast-2

ap-south-1

arn:aws:s3 : :assets-681137435769-ap-south-1

Vous pouvez utiliser la aws codeartifact describe-domain commande pour récupérer le compartiment Amazon S3 utilisé par un CodeArtifact domaine.

aws codeartifact describe-domain --domain mydomain
{ "domain": { "name": "mydomain", "owner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/mydomain", "status": "Active", "createdTime": 1583075193.861, "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/a73que8sq-ba...", "repositoryCount": 13, "assetSizeBytes": 513830295, "s3BucketArn": "arn:aws:s3:::assets-787052242323-us-west-2" } }

Exemple

L'exemple suivant montre comment fournir l'accès aux compartiments Amazon S3 requis pour les CodeArtifact opérations dans la us-east-1 région. Pour les autres régions, mettez à jour l'Resourceentrée avec l'ARN d'autorisation correct pour votre région, conformément au tableau ci-dessus.

{ "Statement": [ { "Sid": "Access-to-specific-bucket-only", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": ["arn:aws:s3:::assets-193858265520-us-east-1/*"] } ] }