本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 Amazon S3 閘道端點
CodeArtifact 使用亞馬遜簡單儲存服務 (Amazon S3) 來存放套件資產。若要從中提取套件 CodeArtifact,您必須為 Amazon S3 建立閘道端點。當您的建置或部署程序從下載套件時 CodeArtifact,必須存取 CodeArtifact 以取得套件中繼資料,Amazon S3 才能下載套件資產 (例如 Maven .jar
檔案)。
注意
使用 Python 或斯威夫特套件格式時,不需要使用 Amazon S3 端點。
若要為其建立 Amazon S3 閘道端點 CodeArtifact,請使用 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
Amazon S3 儲存貯體的最低許可 AWS CodeArtifact
Amazon S3 閘道端點會使用 IAM 政策文件來限制服務的存取權限。若要僅允許最低 Amazon S3 儲存貯體許可 CodeArtifact,請限制存取 Amazon S3 儲存貯體,該儲存貯體在為端點建立 IAM 政策文件時 CodeArtifact 使用。
下表說明您應在政策中參考以允許在每個區域存取的 Amazon S3 儲存貯體。 CodeArtifact
區域 | Amazon S3 桶 ARN |
---|---|
us-east-1 |
骨 us-east-1: 符號:: 3:: 資產 |
us-east-2 |
骨架:符號:S3:: 資產管理系統-us-east-2 |
us-west-2 |
阿姆斯特丹:: 三:: 資產管理系統-us-west-2 |
eu-west-1 |
骨架:符號:S3:: 資產 |
eu-west-2 |
系統:符號:3::資產 eu-west-2 |
eu-west-3 |
系統:AWS:3::資產 -762466490029 eu-west-3 |
eu-north-1 |
航天:符號:S3:: 資產 |
eu-south-1 |
航天:符 eu-south-1:3:: 資產 |
eu-central-1 |
骨架:符號:S3:: 資產-eu-central-1 |
ap-northeast-1 |
系統:AWS:3::資產 -660291247815 ap-northeast-1 |
ap-southeast-1 |
企業管理系統:: 三:: 資產 ap-southeast-1 |
ap-southeast-2 |
骨架:符號:S3:: 資產 -860415559748-安 ap-southeast-2 |
ap-south-1 |
企業管理局:: 三:: 資產 -6811374769-阿里南 -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
/*"] } ] }