本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建域
您可以使用 CodeArtifact 控制台、 AWS Command Line Interface (AWS CLI) 或创建域 AWS CloudFormation。创建域时,域中不包含任何存储库。有关更多信息,请参阅 创建存储库。有关使用管理 CodeArtifact 域的更多信息 CloudFormation,请参阅使用创建 CodeArtifact 资源 AWS CloudFormation。
创建域(控制台)
-
在 https://console.aws.amazon.com/codesuite/codeartifact
/hom AWS CodeArtifact e 打开控制台。 -
在导航窗格中,选择域,然后选择创建域。
-
在名称中,输入域的名称。
-
展开其他配置。
-
使用 AWS KMS key (KMS密钥)加密您域中的所有资产。您可以使用 AWS 托管密KMS钥或自己管理的KMS密钥。有关中支持的KMS密钥类型的更多信息 CodeArtifact,请参阅中支持的 AWS KMS 密钥类型 CodeArtifact。
-
如果要使用默认密钥,请选择AWS托管密钥 AWS 托管式密钥。
-
如果您想使用自己管理的密钥,请选择客户管理的KMS密钥。要使用您管理的KMS密钥,请在客户管理的密钥ARN中搜索并选择该KMS密钥。
有关更多信息,请参阅《AWS Key Management Service 开发人员指南》中的 AWS 托管式密钥 和客户管理的密钥。
-
-
选择创建域。
创建域 (AWS CLI)
要使用创建域 AWS CLI,请使用create-domain
命令。您必须使用 AWS KMS key (KMS密钥)来加密您域中的所有资产。您可以使用 AWS 托管密KMS钥或自己管理的KMS密钥。如果您使用 AWS 托管KMS密钥,请不要使用--encryption-key
参数。
有关中支持的KMS密钥类型的更多信息 CodeArtifact,请参阅中支持的 AWS KMS 密钥类型 CodeArtifact。有关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 资源名称 (ARN)。
aws codeartifact create-domain --domain
my_domain
--encryption-keyarn: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" } }
创建带标签的域
要创建带标签的域,请在 create-domain
命令中添加 --tags
参数。
aws codeartifact create-domain --domain
my_domain
--tagskey=k1,value=v1 key=k2,value=v2
AWS KMS 密钥策略示例
在中创建域时 CodeArtifact,使用KMS密钥加密该域中的所有资产。您可以选择 AWS 托管KMS密钥或由您管理的客户托管密钥。有关KMS密钥的更多信息,请参阅《AWS Key Management Service 开发人员指南》。
要使用客户管理的密钥,您的KMS密钥必须具有授予访问权限的密钥策略 CodeArtifact。密钥策略是密 AWS KMS 钥的资源策略,也是控制KMS密钥访问的主要方式。每个KMS密钥必须只有一个密钥策略。密钥策略中的声明决定谁有权使用KMS密钥以及他们如何使用密钥。
以下示例密钥策略声明 AWS CodeArtifact 允许代表授权用户创建授权和查看密钥详细信息。本政策声明将权限限制为使用kms:ViaService
和kms:CallerAccount
条件键代表指定账户 ID CodeArtifact 行事。它还向 IAM root 用户授予所有 AWS KMS 权限,因此可以在创建密钥后对其进行管理。
{ "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": "*" } ] }