ドメインの概要 - CodeArtifact

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ドメインの概要

で作業する場合 CodeArtifact、ドメインは次のような場合に役立ちます。

  • 重複排除されたストレージ: リポジトリで利用できるアセットが 1 つでも、1,000 個でも、ドメインには一度しか保存する必要がありません。つまり、ストレージ料金は一度しか払わないということです。

  • 高速コピー: CodeArtifact 上流のリポジトリから下流のリポジトリにパッケージをプルしたり、CopyPackageVersions API を使用したりする場合、更新する必要があるのはメタデータレコードだけです。アセットはコピーされません。これにより、ステージングまたはテスト用の新しいリポジトリを迅速にセットアップできます。詳細については、「CodeArtifact でアップストリームリポジトリを操作する」を参照してください。

  • リポジトリやチーム間での簡単な共有:ドメイン内のすべてのアセットとメタデータは 1 つの AWS KMS key (KMS キー) で暗号化されます。リポジトリごとにキーを管理したり、複数のアカウントにひとつのキーへのアクセス権を付与したりする必要はありません。

  • 複数のリポジトリにポリシーを適用する: ドメイン管理者は、ドメイン全体にポリシーを適用できます。これには、ドメイン内のリポジトリにアクセスできるアカウントを制限したり、パッケージのソースとして使用する公開リポジトリへの接続を設定できるアカウントを制限することも含まれます。詳細については、[ドメインポリシー] を参照してください。

  • [固有のリポジトリ名]: ドメインはリポジトリのネームスペースを提供します。リポジトリ名は、ドメイン内で固有であれば十分です。わかりやすい意味のある名前を使ってください。

ドメイン名はアカウント内で固有である必要があります。

ドメインがないと、リポジトリを作成することはできません。CreateRepositoryAPI を使用してリポジトリを作成するときは、ドメイン名を指定する必要があります。あるドメインから別のドメインにリポジトリを移動することはできません。

リポジトリは、 AWS ドメインを所有している同じアカウントでも、別のアカウントでも所有できます。所有アカウントが異なる場合は、リポジトリ所有アカウントにCreateRepositoryドメインリソースに対する権限を与える必要があります。そのためには、PutDomainPermissionsPolicyコマンドを使用してリソースポリシーをドメインに追加します。

ひとつの組織が複数のドメインを使用することもできますが、開発チームが組織中でパッケージを見つけて共有できるように、公開されたアーティファクトをすべて含む 1 つの本稼働ドメインを使用することをお勧めします。二つ目の運用前ドメインがあれば、本稼働ドメイン設定の変更をテストするのに便利です。

クロスアカウントドメイン

ドメイン名はアカウント内でのみ固有であれば十分です。つまり、リージョン内に同じ名前のドメインが複数存在することも可能です。このため、認証されていないアカウントが所有するドメインにアクセスする場合は、CLI とコンソールの両方で、ドメイン所有者 ID とドメイン名を提供する必要があります。以下の CLI の例を参照してください。

認証されたアカウントが所有するドメインにアクセス:

認証されたアカウント内のドメインにアクセスする場合は、ドメイン名を指定するだけで済みます。以下の例では、アカウントに所有されている [my_domain] というドメインの [my_repo] リポジトリ内のパッケージを一覧表示します。

aws codeartifact list-packages --domain my_domain --repository my_repo

認証されていないアカウントが所有するドメインにアクセス:

認証されていないアカウントが所有するドメインにアクセスする場合は、ドメイン所有者とドメイン名を指定する必要があります。以下の例では、認証されていないアカウントが所有する [other-domain] ドメインの [other-repo] リポジトリ内パッケージを一覧表示します。--domain-owner パラメータが追加されたことに注目してください。

aws codeartifact list-packages --domain other-domain --domain-owner 111122223333 --repository other-repo

AWS KMS でサポートされているキータイプ CodeArtifact

CodeArtifact 対称 KMS キーのみをサポートします非対称 KMS キーを使用してドメインを暗号化することはできません。 CodeArtifact 詳細については、「Identifying symmetric and asymmetric KMS keys」を参照してください。新しいカスタマーマネージドキーの作成方法については、「AWS Key Management Service Developer Guide」の「Creating symmetric encryption KMS keys」を参照してください。

CodeArtifact AWS KMS 外部キーストア (XKS) をサポートします。XKS キーによるキー操作の可用性、耐久性、および遅延は、の可用性、耐久性、および遅延に影響する可能性があるので、お客様の責任となります。 CodeArtifactXKS キーを併用した場合の影響の例を以下に示します。 CodeArtifact

  • リクエストされたパッケージのすべてのアセットとその依存関係は復号レイテンシーの影響を受けるため、XKS 操作のレイテンシーが増えると構築のレイテンシーが大幅に増加する可能性があります。

  • すべてのアセットは暗号化されているため CodeArtifact、XKS キーマテリアルが失われると、XKS キーを使用するドメインに関連するすべてのアセットが失われます。

XKS キーの詳細については、「AWS Key Management Service Developer Guide」の「External key stores」を参照してください。