このページでは、お客様が管理する認証局(CA)と鍵を使用して Google Kubernetes Engine(GKE)クラスタ コントロール プレーンを構成する方法について説明します。このガイダンスは、認証情報の発行と署名を制御するための組織のコンプライアンス要件またはポリシー要件があるセキュリティ管理者を対象としています。
このページでは、GKE のコントロール プレーンの一連のオプション機能について説明します。これらの機能を使用すると、コントロール プレーンのセキュリティ ポスチャーを確認したり、管理対象の鍵を使用してコントロール プレーンでの暗号化と認証情報の署名を構成したりといったタスクを実行できます。詳細については、control plane authority についてをご覧ください。
デフォルトでは、Google Cloud はマネージド コントロール プレーンにさまざまなセキュリティ対策を適用します。このページでは、コントロール プレーンの可視性と制御性をさらに高めるオプション機能について説明します。
次のコンセプトに精通している必要があります。
コントロール プレーンの認証情報コンポーネント
GKE クラスタは、X.509 証明書や ServiceAccount トークンなど、特定の CA と鍵を使用して、クラスタ内で認証情報を発行します。Cloud Key Management Service(Cloud KMS)で鍵を作成し、Certificate Authority Service(CA Service)で CA を作成し、Google Cloud マネージドの CA および鍵の代わりにこれらのリソースを使用するようにクラスタを構成できます。
作成する特定のコンポーネントの詳細については、セルフマネージド CA と鍵をご覧ください。
他の GKE control plane authority 機能での使用
GKE control plane authority は、セルフマネージド鍵に関連する次の機能を提供します。
- 独自の認証局(CA)と鍵を実行する(このページ)
- コントロール プレーン コンポーネントを暗号化する
目標
- Cloud KMS で鍵を作成する
- CA Service で CA を作成する
- GKE サービス エージェントに Identity and Access Management(IAM)ロールを付与する
- CA と鍵を使用する GKE クラスタを作成する
- クラスタで CA と鍵を使用していることを確認する
費用
このドキュメントでは、Google Cloud の次の課金対象のコンポーネントを使用します。
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
このドキュメントに記載されているタスクの完了後、作成したリソースを削除すると、それ以上の請求は発生しません。詳細については、クリーンアップをご覧ください。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Kubernetes Engine, Certificate Authority Service, and Cloud Key Management Service APIs:
gcloud services enable container.googleapis.com
privateca.googleapis.com cloudkms.googleapis.com - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Kubernetes Engine, Certificate Authority Service, and Cloud Key Management Service APIs:
gcloud services enable container.googleapis.com
privateca.googleapis.com cloudkms.googleapis.com - 環境で GKE control plane authority 機能を使用できることを確認します。これらの機能を有効にするには、Google Cloud セールスチームにお問い合わせください。
- 認証情報の発行と使用を確実に追跡するには、次のデータアクセス監査ログが有効になっていることを確認します。
- Cloud KMS:
DATA_READ
- CA Service:
ADMIN_READ
、ADMIN_WRITE
これらのログタイプを有効にするには、データアクセス監査ログを有効にするをご覧ください。
- Cloud KMS:
必要なロールと権限
独自の CA と鍵を実行するために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
Cloud KMS 鍵を作成する: 鍵プロジェクトに対する Cloud KMS 管理者(
roles/cloudkms.admin
) -
CA プールとルート CA を作成する: 鍵プロジェクトに対する CA Service 管理者(
roles/privateca.admin
) -
GKE クラスタを作成する: クラスタ プロジェクトに対する Kubernetes Engine クラスタ管理者(
roles/container.clusterAdmin
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
要件
GKE バージョン 1.31.1-gke.1846000 以降を使用する必要があります。
制限事項
次の制限が適用されます。
- Cloud KMS の鍵のみを使用できます。別の KMS プロバイダや別の暗号化プロバイダは使用できません。
- Cloud External Key Manager(Cloud EKM)鍵はサポートされていません。
- 使用できるのは CA Service の CA のみです。
環境を準備する
このセクションでは、このチュートリアルで使用する Google Cloud プロジェクトを特定し、Cloud KMS で鍵を保持するキーリングを作成します。
プロジェクトを特定する
次のように、別々の Google Cloud プロジェクトを使用することをおすすめします。
- 鍵プロジェクト: すべての鍵と CA が含まれます。
- クラスタ プロジェクト: GKE クラスタが含まれます。
必要に応じて、鍵、CA、GKE クラスタに同じプロジェクトを使用することもできますが、組織内の暗号オペレーションを管理するチームとクラスタ オペレーションを管理するチームを分離するために、個別のプロジェクトを使用することをおすすめします。
キーリングを作成する
特定のクラスタのすべての鍵を保持するキーリングを鍵プロジェクト内に作成します。キーリングは、GKE クラスタと同じロケーションに作成する必要があります。
次のコマンドを実行します。
gcloud kms keyrings create KEY_RING_NAME \
--location=us-central1 \
--project=KEY_PROJECT_ID
次のように置き換えます。
KEY_RING_NAME
: キーリングの名前。KEY_PROJECT_ID
: 鍵プロジェクトのプロジェクト ID。
鍵を作成する
サービス アカウントの鍵や CA などの認証局ごとに、Cloud KMS を使用して鍵を作成します。このセクションでは、GKE でクラスタ内の認証情報の署名と検証に使用する鍵を作成する方法について説明します。組織のニーズに応じて、これらの鍵に独自のプロパティを指定できます。詳細については、鍵を作成ページと projects.locations.keyRings.cryptoKeys
API リファレンスをご覧ください。
Cloud KMS でこれらのリソースを作成する場合は、次の点を考慮してください。
- 鍵プロジェクトに既存のキーリングがある場合は、そのキーリングを使用して、クラスタで使用する鍵をすべて保存できます。
- レイテンシを最小限に抑えるには、クラスタと同じ Google Cloud ロケーションにキーリングを配置する必要があります。
- 鍵の目的として
asymmetric-signing
を指定する必要があります。 - 鍵のタイプに応じて、次のアルゴリズムを使用します。
- ServiceAccount 署名鍵:
rsa-sign-pkcs1-4096-sha256
やrsa-sign-pkcs1-3072-sha256
などの強力な RSA 署名 PKCS1 アルゴリズム。 - 認証局の鍵:
ec-sign-p256-sha256
などの強力なアルゴリズム。
- ServiceAccount 署名鍵:
- Cloud HSM ハードウェア鍵はサポートされていますが、ほとんどのユースケースでは
software
の保護レベルで十分です。ハードウェア鍵の詳細については、Cloud HSM をご覧ください。 - 鍵が破棄されるまでのデフォルトの期間は変更しないでください。
- GKE では、クラスタで使用されている Cloud KMS 鍵(CA Service 鍵など)を削除できます。鍵または CA を削除する前に、リソースが未使用であることを確認してください。
鍵を作成するには、次のコマンドを実行します。
Kubernetes ServiceAccount 署名鍵を作成します。この鍵は、クラスタの作成時にサービス アカウントの検証鍵としても指定します。
gcloud kms keys create sa-signing-key \ --keyring=KEY_RING_NAME \ --location=us-central1\ --purpose="asymmetric-signing" \ --protection-level=hsm \ --default-algorithm=rsa-sign-pkcs1-4096-sha256 \ --project=KEY_PROJECT_ID
KEY_PROJECT_ID
は、専用の鍵プロジェクトのプロジェクト ID に置き換えます。クラスタルート CA 鍵を作成します。
gcloud kms keys create cluster-ca-key \ --keyring=KEY_RING_NAME \ --location=us-central1\ --purpose="asymmetric-signing" \ --protection-level=hsm \ --default-algorithm=ec-sign-p256-sha256 \ --project=KEY_PROJECT_ID
etcd ピアルート CA 鍵を作成します。
gcloud kms keys create etcd-peer-ca-key \ --keyring=KEY_RING_NAME \ --location=us-central1\ --purpose="asymmetric-signing" \ --protection-level=hsm \ --default-algorithm=ec-sign-p256-sha256 \ --project=KEY_PROJECT_ID
etcd API ルート CA 鍵を作成します。
gcloud kms keys create etcd-api-ca-key \ --keyring=KEY_RING_NAME \ --location=us-central1\ --purpose="asymmetric-signing" \ --protection-level=hsm \ --default-algorithm=ec-sign-p256-sha256 \ --project=KEY_PROJECT_ID
集約ルート CA 鍵を作成します。
gcloud kms keys create aggregation-ca-key \ --keyring=KEY_RING_NAME \ --location=us-central1\ --purpose="asymmetric-signing" \ --protection-level=hsm \ --default-algorithm=ec-sign-p256-sha256 \ --project=KEY_PROJECT_ID
CA を作成する
各コントロール プレーン機能の鍵を作成した後、それぞれの鍵を使って、CA Service を使用して CA プールおよび対応するルート CA を作成します。
クラスタ CA プールを作成します。
gcloud privateca pools create cluster-ca-pool \ --location=us-central1 \ --tier=enterprise \ --project=KEY_PROJECT_ID \ --no-publish-crl --no-publish-ca-cert
--no-publish-crl
フラグと--no-publish-ca-cert
フラグは省略可能です。これらのフラグを省略すると、証明書が Cloud Storage バケットに公開されます。詳細については、CA プール内の CA の CA 証明書と CRL の公開を有効にするをご覧ください。クラスタルート CA を作成します。
gcloud privateca roots create cluster-root-ca \ --pool=cluster-ca-pool \ --location=us-central1 \ --kms-key-version=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/cluster-ca-key/cryptoKeyVersions/1 \ --subject="CN=cluster-ca, O=ORGANIZATION" \ --project=KEY_PROJECT_ID \ --auto-enable
ここで、
ORGANIZATION
は実際の組織名に置き換えます。etcd ピア CA プールを作成します。
gcloud privateca pools create etcd-peer-ca-pool \ --location=us-central1 \ --tier=enterprise \ --project=KEY_PROJECT_ID \ --no-publish-crl --no-publish-ca-cert
etcd ピアルート CA を作成します。
gcloud privateca roots create etcd-peer-root-ca \ --pool=etcd-peer-ca-pool \ --location=us-central1 \ --kms-key-version=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/etcd-peer-ca-key/cryptoKeyVersions/1 \ --subject="CN=etcd-peer-ca, O=ORGANIZATION" \ --project=KEY_PROJECT_ID \ --auto-enable
etcd API CA プールを作成します。
gcloud privateca pools create etcd-api-ca-pool \ --location=us-central1 \ --tier=enterprise \ --project=KEY_PROJECT_ID \ --no-publish-crl --no-publish-ca-cert
etcd API ルート CA を作成します。
gcloud privateca roots create etcd-api-root-ca \ --pool=etcd-api-ca-pool \ --location=us-central1 \ --kms-key-version=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/etcd-api-ca-key/cryptoKeyVersions/1 \ --subject="CN=etcd-api-ca, O=ORGANIZATION" \ --project=KEY_PROJECT_ID \ --auto-enable
集約 CA プールを作成します。
gcloud privateca pools create aggregation-ca-pool \ --location=us-central1 \ --tier=enterprise \ --project=KEY_PROJECT_ID \ --no-publish-crl --no-publish-ca-cert
集約ルート CA を作成します。
gcloud privateca roots create aggregation-root-ca \ --pool=aggregation-ca-pool \ --location=us-central1 \ --kms-key-version=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/aggregation-ca-key/cryptoKeyVersions/1 \ --subject="CN=aggregation-ca, O=ORGANIZATION" \ --project=KEY_PROJECT_ID \ --auto-enable
GKE サービス エージェントに IAM ロールを付与する
GKE サービス エージェントには、Cloud KMS および CA Service で作成したリソースへのアクセス権が必要です。サービス エージェントは、これらのリソースを使用して、クラスタ内の認証情報の署名、検証、発行を行います。次の IAM 事前定義ロールを使用できます。
- Kubernetes Engine KMS 暗号鍵ユーザー(
roles/container.cloudKmsKeyUser
) - CA Service 証明書管理者(
roles/privateca.certificateManager
)
これらのロールを GKE サービス エージェントに付与する手順は次のとおりです。
クラスタ プロジェクトのプロジェクト番号を確認します。
gcloud projects describe CLUSTER_PROJECT_ID \ --format='value(projectNumber)'
CLUSTER_PROJECT_ID
は、実際のクラスタ プロジェクトのプロジェクト ID に置き換えます。鍵を作成するで作成したサービス アカウント署名鍵に、Kubernetes Engine KMS 暗号鍵ユーザーのロールを付与します。
gcloud kms keys add-iam-policy-binding sa-signing-key \ --location=us-central1 \ --keyring=KEY_RING_NAME \ --member="serviceAccount:service-CLUSTER_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com" \ --role=roles/container.cloudKmsKeyUser \ --project=KEY_PROJECT_ID
CLUSTER_PROJECT_NUMBER
は、鍵プロジェクトのプロジェクト番号に置き換えます。CA を作成するで作成した CA プールに、CA Service 証明書管理者のロールを付与します。
gcloud privateca pools add-iam-policy-binding cluster-ca-pool \ --location=us-central1 \ --member="serviceAccount:service-CLUSTER_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com" \ --role=roles/privateca.certificateManager \ --project=KEY_PROJECT_ID gcloud privateca pools add-iam-policy-binding etcd-peer-ca-pool \ --location=us-central1 \ --member="serviceAccount:service-CLUSTER_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com" \ --role=roles/privateca.certificateManager \ --project=KEY_PROJECT_ID gcloud privateca pools add-iam-policy-binding etcd-api-ca-pool \ --location=us-central1 \ --member="serviceAccount:service-CLUSTER_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com" \ --role=roles/privateca.certificateManager \ --project=KEY_PROJECT_ID gcloud privateca pools add-iam-policy-binding aggregation-ca-pool \ --location=us-central1 \ --member="serviceAccount:service-CLUSTER_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com" \ --role=roles/privateca.certificateManager \ --project=KEY_PROJECT_ID
新しいクラスタで CA と鍵を設定する
鍵、CA プール、ルート CA を作成し、GKE サービス エージェントに IAM ロールを付与したら、これらのリソースを使用する新しいクラスタを作成します。
クラスタ作成コマンドで指定するフラグには、次のリソースパスを値として指定する必要があります。
- 鍵を作成するで作成したサービス アカウント署名鍵の Cloud KMS 内の鍵バージョンへのパス。このパスは、
service-account-signing-keys
フラグとservice-account-verification-keys
フラグに指定します。 - CA を作成するで作成した各 CA プールのパス。
鍵と CA を使用するように新しいクラスタを構成する手順は次のとおりです。
有効になっている最新のサービス アカウント署名鍵バージョンのパスを確認します。
gcloud kms keys versions list \ --key=sa-signing-key \ --keyring=KEY_RING_NAME \ --location=us-central1 \ --project=KEY_PROJECT_ID \ --filter="STATE=ENABLED" --sort-by=~ --format="value(name)" | sed 1q
KEY_PROJECT_ID
は、鍵プロジェクトのプロジェクト ID に置き換えます。出力は次のようになります。
projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1
作成した各 CA プールのパスを確認します。
gcloud privateca pools list --format="get(name)" \ --project=KEY_PROJECT_ID
出力は次のようになります。
projects/KEY_PROJECT_ID/locations/us-central1/caPools/cluster-ca-pool projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-peer-ca-pool projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-api-ca-pool projects/KEY_PROJECT_ID/locations/us-central1/caPools/aggregation-ca-pool
出力に、GKE 用に作成したすべての CA プールが含まれていることを確認します。
クラスタを作成
このセクションでは、構成する GKE control plane authority 機能に応じて、さまざまなオプションを指定してクラスタを作成します。これらの機能は、クラスタの作成時にのみクラスタで構成できます。次のコマンドでは、Autopilot モードのクラスタを作成します。代わりに Standard モードのクラスタを作成するには、gcloud container clusters create
コマンドに同じフラグを使用します。
このチュートリアルで作成した CA と鍵のみを構成するには、次のコマンドを実行します。
gcloud container clusters create-auto example-cluster \ --location=us-central1 \ --project=CLUSTER_PROJECT_ID \ --cluster-version=VERSION \ --service-account-signing-keys=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1 \ --service-account-verification-keys=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1 \ --cluster-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/cluster-ca-pool \ --etcd-peer-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-peer-ca-pool \ --etcd-api-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-api-ca-pool \ --aggregation-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/aggregation-ca-pool
次のように置き換えます。
CLUSTER_PROJECT_ID
: クラスタ プロジェクトのプロジェクト ID。VERSION
: クラスタの GKE バージョン。1.31.1-gke.1846000 以降である必要があります。
CA と鍵、コントロール プレーンのブートディスクの暗号化、etcd 暗号化を構成するには、次の操作を行います。
- etcd とコントロール プレーンのブートディスクを暗号化するに記載されているすべての鍵構成手順を実施します。
- クラスタで暗号鍵を使用するの手順に沿って、各鍵のパスを確認します。
クラスタを作成します。
gcloud container clusters create-auto example-cluster \ --location=us-central1 \ --project=CLUSTER_PROJECT_ID \ --cluster-version=VERSION \ --service-account-signing-keys=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1 \ --service-account-verification-keys=projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1 \ --cluster-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/cluster-ca-pool \ --etcd-peer-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-peer-ca-pool \ --etcd-api-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-api-ca-pool \ --aggregation-ca=projects/KEY_PROJECT_ID/locations/us-central1/caPools/aggregation-ca-pool \ --control-plane-disk-encryption-key=PATH_TO_DISK_KEY \ --gkeops-etcd-backup-encryption-key=PATH_TO_ETCD_BACKUP_KEY
次のように置き換えます。
CLUSTER_PROJECT_ID
: クラスタ プロジェクトのプロジェクト ID。VERSION
: クラスタの GKE バージョン。1.31.1-gke.1846000 以降である必要があります。PATH_TO_DISK_KEY
: ディスク暗号鍵のパス。PATH_TO_ETCD_BACKUP_KEY
: etcd 内部バックアップ暗号鍵のパス。
これらのフラグは、新しい Standard モードのクラスタを作成する場合にも使用できます。
指定した鍵と CA をクラスタが使用していることを確認する
このセクションでは、クラスタの作成時に使用された鍵と CA を確認する方法について説明します。この確認は、Cloud Logging または Google Cloud CLI を使用して実行できます。
Logging を使用して鍵と CA を確認する
Logging を使用して鍵と CA を確認する手順は次のとおりです。
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。
次のクエリを指定します。
resource.type="gke_cluster" resource.labels.cluster_name="CLUSTER_NAME" resource.labels.location="CLUSTER_LOCATION" protoPayload.serviceName="container.googleapis.com" protoPayload.methodName="google.container.v1.ClusterManager.CreateCluster" protoPayload.request.cluster.userManagedKeysConfig:*
protoPayload.request.cluster.userManagedKeysConfig:*
は、管理する鍵と CA を含むクラスタ作成ログの結果をフィルタします。[クエリを実行] をクリックします。
結果で、クラスタ作成ログを開きます。鍵と CA へのパスが、そのクラスタ用に作成したものと同じであることを確認します。
gcloud CLI を使用して鍵と CA を確認する
作成した CA と鍵をクラスタが使用していることを確認するには、次のコマンドを実行します。
gcloud container clusters describe example-cluster \
--location=us-central1 \
--project=CLUSTER_PROJECT_ID
出力には、次の例のように userManagedKeysConfig
フィールドが含まれます。
# lines omitted for clarity
userManagedKeysConfig:
sa-signing-key: projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1
sa-verification-key: projects/KEY_PROJECT_ID/locations/us-central1/keyRings/KEY_RING_NAME/cryptoKeys/sa-signing-key/cryptoKeyVersions/1
cluster-ca: projects/KEY_PROJECT_ID/locations/us-central1/caPools/cluster-ca-pool
etcd-peer-ca: projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-peer-ca-pool
etcd-api-ca: projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-api-ca-pool
aggregation-ca: projects/KEY_PROJECT_ID/locations/us-central1/caPools/aggregation-ca-pool
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。
プロジェクトを削除する
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
リソースを個別に削除する
クラスタを削除します。
gcloud container clusters delete example-cluster \ --location=us-central1 \ --project=CLUSTER_PROJECT_ID
ルート CA を無効にします。
gcloud privateca roots disable cluster-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/cluster-ca-pool \ --project=KEY_PROJECT_ID gcloud privateca roots disable etcd-peer-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-peer-ca-pool \ --project=KEY_PROJECT_ID gcloud privateca roots disable etcd-api-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-api-ca-pool \ --project=KEY_PROJECT_ID gcloud privateca roots disable aggregation-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/aggregation-ca-pool \ --project=KEY_PROJECT_ID
ルート CA を削除します。
gcloud privateca roots delete cluster-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/cluster-ca-pool \ --project=KEY_PROJECT_ID gcloud privateca roots delete etcd-peer-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-peer-ca-pool \ --project=KEY_PROJECT_ID gcloud privateca roots delete etcd-api-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/etcd-api-ca-pool \ --project=KEY_PROJECT_ID gcloud privateca roots delete aggregation-root-ca \ --location=us-central1 \ --pool=projects/KEY_PROJECT_ID/locations/us-central1/caPools/aggregation-ca-pool \ --project=KEY_PROJECT_ID
CA プールを削除します。
gcloud privateca pools delete cluster-ca-pool --location=us-central1 \ --project=KEY_PROJECT_ID gcloud privateca pools delete etcd-peer-ca-pool --location=us-central1 \ --project=KEY_PROJECT_ID gcloud privateca pools delete etcd-api-ca-pool --location=us-central1 \ --project=KEY_PROJECT_ID gcloud privateca pools delete aggregation-ca-pool --location=us-central1 \ --project=KEY_PROJECT_ID
鍵を削除します。
gcloud kms keys versions destroy 1 \ --location=us-central1 \ --keyring=KEY_RING_NAME \ --key=sa-signing-key \ --project=KEY_PROJECT_ID gcloud kms keys versions destroy 1 \ --location=us-central1 \ --keyring=KEY_RING_NAME \ --key=cluster-ca-key \ --project=KEY_PROJECT_ID gcloud kms keys versions destroy 1 \ --location=us-central1 \ --keyring=KEY_RING_NAME \ --key=etcd-peer-ca-key \ --project=KEY_PROJECT_ID gcloud kms keys versions destroy 1 \ --location=us-central1 \ --keyring=KEY_RING_NAME \ --key=etcd-api-ca-key \ --project=KEY_PROJECT_ID gcloud kms keys versions destroy 1 \ --location=us-central1 \ --keyring=KEY_RING_NAME \ --key=aggregation-ca-key \ --project=KEY_PROJECT_ID
Cloud KMS からキーリングを削除することはできません。なお、キーリングに追加費用は発生しません。
次のステップ
- 発行から ID の使用状況を追跡する
- Google Cloud に関するリファレンス アーキテクチャ、図、ベスト プラクティスを確認する。Cloud アーキテクチャ センターをご覧ください。