ドメインの作成
CodeArtifact コンソール、AWS Command Line Interface (AWS CLI)、または CloudFormation を使用して、ドメインを作成することができます。ドメインを作成するとき、そのドメインにはリポジトリは含まれていません。詳細については、リポジトリの作成 を参照してください。CloudFormation を使用して CodeArtifact ドメインを管理する方法の詳細については、「AWS CloudFormation での CodeArtifact リソースの作成」を参照してください。
ドメイン (コンソール) を作成するには
-
AWS CodeArtifact コンソールは http://console.aws.amazon.com/codesuite/codeartifact/home
で開きます。 -
ナビゲーションペインで [ドメイン] をクリックし、[Create domain] (ドメインの作成) をクリックします。
-
[名前] にドメイン名を入力します。
-
[Additional configuration (追加設定)] を展開します。
-
AWS KMS key (KMS キー) を使用して、ドメイン内のすべてのアセットを暗号化します。AWSマネージド KMS キーまたは管理する KMS キーを使用できます。CodeArtifact でサポートされている KMS キーのタイプの詳細については、「CodeArtifact でサポートされている AWS KMS キーのタイプ」を参照してください。
-
デフォルトAWS マネージドキーを使用するには、[AWS マネージドキー] を選択してください。
-
管理している KMS キーを使用する場合、[カスタマーマネージドキー] を選択してください。[カスタマーマネージドキー ARN] で管理している KMS キーを使用するには、KMS キーを検索して選択します。
詳細については、[AWS Key Management Service デベロッパーガイド] の AWS マネージドキー と [カスタマーマネージドキー] を参照してください。
-
-
[ドメインの作成] をクリックします。
ドメイン (AWS CLI) の作成
AWS CLI コマンドを使って、create-domain でドメインを作成します。ドメイン内のすべてのアセットを暗号化するためには、AWS KMS key (KMS キー) を使用する必要があります。 AWSマネージド KMS キーまたは管理する KMS キーを使用できます。AWSマネージド KMS キーを使用する場合、--encryption-keyパラメータは利用しないでください。
CodeArtifact でサポートされている KMS キーのタイプの詳細については、「CodeArtifact でサポートされている AWS KMS キーのタイプ」を参照してください。KMS キーの詳細については、「AWS Key Management Service Developer Guide」の「AWS マネージドキー」および「Customer managed key」を参照してください。
aws codeartifact create-domain --domainmy_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 キーを使用する場合は、Amazon リソースネーム (ARN) を--encryption-keyパラメータに含めてください。
aws codeartifact create-domain --domainmy_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" } }
タグ付きのドメインの作成
タグ付きのドメインを作成するには、--tagsパラメータをcreate-domainコマンドに追加してください。
aws codeartifact create-domain --domainmy_domain--tagskey=k1,value=v1 key=k2,value=v2
AWS KMS キーポリシーの例
CodeArtifact でドメインを作成する場合、KMS キーを使用してドメイン内のすべてのアセットを暗号化します。AWS マネージド KMS キー、またはご自身で管理するカスタマーマネージドキーを選択できます。KMS キーの詳細については、「AWS Key Management Service デベロッパーガイド」を参照してください。
カスタマーマネージドキーを使用するには、CodeArtifact へのアクセスを許可するキーポリシーが KMS キーに必要です。キーポリシーは AWS KMS キーに対するリソースポリシーであり、KMS キーへのアクセスを制御する主な方法です。すべての KMS キーには、厳密に 1 つのキーポリシーが必要です。キーポリシーのステートメントでは、KMS キーの使用が許可されるユーザーとその使用方法を決定します。
次のキーポリシーステートメントの例では、許可されたユーザーに代わって AWS CodeArtifact が権限を作成し、キーの詳細を閲覧できるようにするものです。このポリシーステートメントは、kms:ViaService および kms:CallerAccount の条件キーを使用して、指定されたアカウント ID に代わって動作する CodeArtifact に対してのみ許可を限定します。また、IAM ルートユーザーにすべての AWS KMS 権限を付与し、キー作成後もそのキーを管理できるようにしています。