本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 Amazon S3 閘道端點
CodeArtifact 使用 Amazon Simple Storage Service (Amazon S3) 來存放套件資產。若要從 CodeArtifact 提取套件,您必須為 Amazon S3 建立閘道端點。當您的建置或部署程序從 CodeArtifact 下載套件時,必須存取 CodeArtifact 以取得套件中繼資料,以及 Amazon S3 下載套件資產 (例如 Maven .jar
檔案)。
注意
使用 Python 或 Swift 套件格式時,不需要 Amazon S3 端點。
若要為 CodeArtifact 建立 Amazon S3 閘道端點,請使用 Amazon EC2 create-vpc-endpoint
AWS CLI 命令。建立端點時,您必須選取 VPC 的路由表。如需詳細資訊,請參閱《Amazon Virtual Private Cloud 使用者指南》中的閘道 VPC 端點。
下列命令會建立 Amazon S3 端點。
aws ec2 create-vpc-endpoint --vpc-id
vpcid
--service-name com.amazonaws.region
.s3 \ --route-table-idsroutetableid
AWS CodeArtifact 的最低 Amazon S3 儲存貯體許可
Amazon S3 閘道端點會使用 IAM 政策文件來限制服務的存取權限。若要僅允許 CodeArtifact 的最低 Amazon S3 儲存貯體許可,請限制 CodeArtifact 在您為端點建立 IAM 政策文件時所使用的 Amazon S3 儲存貯體存取權。
下表說明政策中應該參考的 Amazon S3 儲存貯體,以允許存取每個區域的 CodeArtifact。
區域 | Amazon S3 儲存貯體 ARN |
---|---|
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 |
您可以使用 aws codeartifact describe-domain
命令來擷取 CodeArtifact 網域所使用的 Amazon S3 儲存貯體。
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" } }
範例
下列範例說明如何提供us-east-1
區域中 CodeArtifact 操作所需的 Amazon S3 儲存貯體存取權。對於其他區域,請根據上表,使用您區域的正確許可 ARN 更新Resource
項目。
{ "Statement": [ { "Sid": "Access-to-specific-bucket-only", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": ["arn:aws:s3:::assets-
193858265520
-us-east-1
/*"] } ] }