建立 Amazon S3 閘道端點 - CodeArtifact

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立 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-ids routetableid

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/*"] } ] }