建立網域 - CodeArtifact

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

建立網域

您可以使用 CodeArtifact 主控台、 AWS Command Line Interface (AWS CLI) 或 建立網域 AWS CloudFormation。當您建立網域時,它不包含任何儲存庫。如需詳細資訊,請參閱建立 儲存庫。如需使用 CodeArtifact 管理 CloudFormation 網域的詳細資訊,請參閱 建立 CodeArtifact 資源 AWS CloudFormation

建立網域 (主控台)

  1. 在 AWS CodeArtifact codeartifact/home 開啟 https://console.aws.amazon.com/codesuite/ 主控台。

  2. 在導覽窗格中,選擇網域,然後選擇建立網域

  3. 名稱中,輸入網域的名稱。

  4. 展開 Additional configuration (其他組態)

  5. 使用 AWS KMS key (KMS 金鑰) 加密網域中的所有資產。您可以使用 AWS 受管 KMS 金鑰或您管理的 KMS 金鑰。如需支援之 KMS 金鑰類型的詳細資訊 CodeArtifact,請參閱 in CodeArtifact 支援的 AWS KMS 金鑰類型

    • 如果您想要使用預設 ,請選擇 AWS 受管金鑰 AWS 受管金鑰。

    • 如果您想要使用您管理的 KMS 金鑰,請選擇客戶受管金鑰。若要使用您管理的 KMS 金鑰,請在客戶受管金鑰 ARN 中搜尋並選擇 KMS 金鑰。

    如需詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的 AWS 受管金鑰客戶受管金鑰

  6. 選擇建立網域

建立網域 (AWS CLI)

若要使用 建立網域 AWS CLI,請使用 create-domain命令。您必須使用 AWS KMS key (KMS 金鑰) 加密網域中的所有資產。您可以使用 AWS 受管 KMS 金鑰或您管理的 KMS 金鑰。如果您使用 AWS 受管 KMS 金鑰,請勿使用 --encryption-key 參數。

如需支援之 KMS 金鑰類型的詳細資訊 CodeArtifact,請參閱 in CodeArtifact 支援的 AWS KMS 金鑰類型。如需 KMS 金鑰的詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的 AWS 受管金鑰客戶受管金鑰

aws codeartifact create-domain --domain my_domain

JSON 格式資料會顯示在輸出中,其中包含新網域的詳細資訊。

{ "domain": { "name": "my_domain", "owner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/my_domain", "status": "Active", "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/your-kms-key", "repositoryCount": 0, "assetSizeBytes": 0, "createdTime": "2020-10-12T16:51:18.039000-04:00" } }

如果您使用管理的 KMS 金鑰,請在 --encryption-key 參數中包含其 Amazon Resource Name (ARN)。

aws codeartifact create-domain --domain my_domain --encryption-key arn:aws:kms:us-west-2:111122223333:key/your-kms-key

JSON 格式資料會顯示在輸出中,其中包含新網域的詳細資訊。

{ "domain": { "name": "my_domain", "owner": "111122223333", "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/my_domain", "status": "Active", "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/your-kms-key", "repositoryCount": 0, "assetSizeBytes": 0, "createdTime": "2020-10-12T16:51:18.039000-04:00" } }

使用標籤建立網域

若要使用標籤建立網域,請將 --tags 參數新增至您的create-domain命令。

aws codeartifact create-domain --domain my_domain --tags key=k1,value=v1 key=k2,value=v2

AWS KMS 範例金鑰政策

當您建立網域 in CodeArtifact 時,您可以使用 KMS 金鑰來加密網域中的所有資產。您可以選擇受 AWS 管 KMS 金鑰,或由您管理的客戶受管金鑰。如需 KMS 金鑰的詳細資訊,請參閱 AWS Key Management Service 開發人員指南

若要使用客戶受管金鑰,您的 KMS 金鑰必須具有授予 CodeArtifact 存取權的金鑰政策。金鑰政策是 AWS KMS 金鑰的資源政策,也是控制 KMS 金鑰存取的主要方式。每個 KMS 金鑰必須只有一個金鑰政策。金鑰政策中的陳述式會決定誰有權使用 KMS 金鑰,以及他們可以如何使用它。

下列金鑰政策陳述式範例允許 AWS CodeArtifact 代表授權使用者建立授予和檢視金鑰詳細資訊。此政策陳述式使用 kms:ViaServicekms:CallerAccount條件索引鍵,限制代表指定帳戶 ID 的 to CodeArtifact 許可。它也會將所有 AWS KMS 許可授予 IAM 根使用者,以便在建立金鑰後對其進行管理。

{ "Version": "2012-10-17", "Id": "key-consolepolicy-3", "Statement": [ { "Sid": "Allow access through AWS CodeArtifact for all principals in the account that are authorized to use CodeArtifact", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:CallerAccount": "111122223333", "kms:ViaService": "codeartifact.us-west-2.amazonaws.com" } } }, { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" } ] }