このページでは、リポジトリに保存されているコンテンツを、顧客管理の暗号鍵(CMEK)で暗号化する方法について説明します。
概要
デフォルトでは、Artifact Registry はお客様のコンテンツを保存時に 暗号化します。Artifact Registry では、ユーザーが追加で 操作を行わなくても、暗号化が行われます。このオプションは、Google のデフォルトの暗号化と呼ばれます。
暗号鍵を管理する場合は、Cloud KMS の顧客管理の暗号鍵 (CMEK)を、Cloud KMS を含む CMEK 統合サービスで使用できます。Cloud KMS 鍵を使用すると、保護 レベル、ロケーション、ローテーション スケジュール、使用とアクセスの権限、暗号境界を制御できます。 Cloud KMS を使用すると、監査ログを表示し、鍵のライフサイクルを管理することもできます。データを保護する対称 鍵暗号鍵(KEK)は Google が所有して管理するのではなく、ユーザーが Cloud KMS でこれらの鍵の制御と管理を行います。
CMEK を使用してリソースを設定した後は、Artifact Registry リソースへのアクセスは、Google のデフォルトの暗号化を使用する場合と同様です。暗号化 オプションの詳細については、顧客管理の暗号鍵(CMEK)をご覧ください。
Cloud KMS Autokey による CMEK
CMEK を手動で作成して Artifact Registry リソースを保護することも、Cloud KMS Autokey を使用することもできます。Autokey を使用すると、Artifact Registry でのリソース作成をサポートするために、キーリングと鍵がオンデマンドで生成されます。 暗号化と復号のオペレーションに鍵を使用するサービスエージェントがまだ存在しない場合、そのエージェントが作成され、必要な Identity and Access Management(IAM)ロールが付与されます。詳細については、Autokey の概要をご覧ください。
CMEK を手動で設定するには、 鍵の作成と権限の付与をご覧ください。
Autokey を使用して CMEK を設定するには、このページの Autokey を使用して鍵を作成するをご覧ください。
CMEK 鍵は、リポジトリを作成するときに割り当てます。既存のリポジトリの暗号化メカニズムは変更できません。CMEK で暗号化された リポジトリがある場合、暗号化メカニズムを Google 所有の Google 管理の 暗号鍵を使用するように変更したり、暗号化用の別の Cloud KMS 鍵を 割り当てたりすることはできません。
CMEK 全般について詳しくは、CMEK の概要をご覧ください。
鍵の作成と権限の付与
次の手順では、リポジトリの鍵を作成し、その鍵を使用してリポジトリ データを暗号化および復号する権限を付与する方法について説明します。Cloud KMS で直接作成された鍵または Cloud External Key Manager で利用できる外部管理鍵を使用できます。
鍵を管理する Google Cloud プロジェクトで、次の操作を行います。
次のいずれかのオプションを使用してキーリングと鍵を作成します。
Cloud KMS の鍵のロケーションは、暗号化するリポジトリの リポジトリ ロケーションと一致する必要があります。
Artifact Registry プロジェクトでリポジトリを作成していない場合、Artifact Registry サービス アカウントは存在しません。サービス アカウントを作成するには、次のコマンドを実行します。
gcloud beta services identity create --service=artifactregistry.googleapis.com --project=PROJECTPROJECT は、 Artifact Registry が実行されているプロジェクトの ID に置き換えます。
Artifact Registry サービス アカウントに CryptoKey Encrypter/Decrypter IAM ロール (
roles/cloudkms.cryptoKeyEncrypterDecrypter)を付与します。作成した鍵にこの権限を付与します。コンソール
[暗号鍵] ページに移動します。
作成した鍵を選択します。
Artifact Registry サービス アカウントにアクセス権を付与します。
- 情報パネルが表示されていない場合は、[情報パネルを表示] をクリックします。
- [アクセス権を付与] をクリックします。
- [