このページでは、Cloud KMS 鍵で保護されている組織内の Google Cloud リソースを表示する方法について説明します。鍵の使用状況の追跡は、組織リソース内でのみ使用できます。
鍵で保護されているリソースに関する情報は、次の 2 つのレベルで確認できます。
- 各鍵の鍵の使用状況の概要には、鍵を使用する保護されたリソース、プロジェクト、一意の Google Cloud プロダクトの数が含まれます。この詳細レベルは、鍵に対する Cloud KMS 閲覧者のロールを持つユーザーが利用できます。
- 鍵の使用状況の詳細情報には、この鍵で保護されているリソースと、この鍵に依存するリソースが示されます。この詳細レベルは特権であり、組織に対する Cloud KMS 保護リソース閲覧者のロールを持つアカウントでのみ使用できます。
始める前に
このページでは、Google Cloud 組織リソース内で Cloud KMS を使用していることを前提としています。
組織管理者に、組織リソースに対する Cloud KMS 組織のサービス エージェント(
cloudkms.orgServiceAgent
)ロールを Cloud KMS サービス アカウントに付与してもらいます。このロールは Google Cloud コンソールでは使用できないため、gcloud CLI を使用してロールを付与する必要があります。gcloud CLI
gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member=serviceAccount:service-org-ORGANIZATION_ID@gcp-sa-cloudkms.iam.gserviceaccount.com \ --role=roles/cloudkms.orgServiceAgent
ORGANIZATION_ID
は、組織の数値 ID に置き換えます。鍵の使用状況の概要を表示する必要があるユーザーに、Cloud KMS 閲覧者(
roles/cloudkms.viewer
)ロールを付与します。ロールの付与については、アクセスの管理をご覧ください。鍵の使用状況の詳細を表示する必要があるユーザーに、組織リソースに対する Cloud KMS 保護されたリソースの閲覧者(
roles/cloudkms.protectedResourcesViewer
)ロールを付与します。このロールは Google Cloud コンソールでは使用できないため、gcloud CLI を使用してロールを付与する必要があります。gcloud CLI
gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member=user:USER_EMAIL \ --role=roles/cloudkms.protectedResourcesViewer
次のように置き換えます。
ORGANIZATION_ID
: 組織の数値 ID。USER_EMAIL
: ユーザーのメールアドレス。
Cloud KMS Inventory API を有効にします。
鍵の使用状況の情報を表示する
コンソール
Google Cloud コンソールで、[主なインベントリ] ページに移動します。
省略可: キーのリストをフィルタリングするには、[filter_list] の [フィルタ] ボックスに検索キーワードを入力し、Enter キーを押します。たとえば、鍵のロケーション、キーリング、ステータス、その他のプロパティでフィルタできます。
使用状況情報を表示する鍵の名前をクリックします。
[使用状況のトラッキング] タブをクリックします。
省略可: 保護されたリソースのリストをフィルタリングするには、[filter_list] の [フィルタ] ボックスに検索キーワードを入力し、Enter キーを押します。
選択した鍵の鍵使用状況の概要と詳細が表示されます。
gcloud CLI
コマンドラインで Cloud KMS を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
鍵の使用状況の概要を表示するには、get-protected-resources-summary
メソッドを使用します。
gcloud kms inventory get-protected-resources-summary \ --keyname projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
次のように置き換えます。
PROJECT_ID
: キーリングを含むプロジェクトの ID。LOCATION
: キーリングの Cloud KMS のロケーションKEY_RING
: 鍵を含むキーリングの名前KEY_NAME
: 使用状況の概要を表示するキーの名前。
鍵の使用状況の詳細を表示するには、search-protected-resources
メソッドを使用します。
gcloud kms inventory search-protected-resources \ --keyname projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \ --scope=organizations/ORGANIZATION_ID
次のように置き換えます。
PROJECT_ID
: キーリングを含むプロジェクトの ID。LOCATION
: キーリングの Cloud KMS のロケーションKEY_RING
: 鍵を含むキーリングの名前KEY_NAME
: 使用状況の詳細を表示する鍵の名前。ORGANIZATION_ID
: 組織の数値 ID。
API
これらの例では、HTTP クライアントとして curl を使用して API の使用例を示しています。アクセス制御の詳細については、Cloud KMS API へのアクセスをご覧ください。
鍵の使用状況の概要を表示するには、cryptoKeys.getProtectedResourcesSummary
メソッドを使用します。
curl "https://kmsinventory.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/protectedResourcesSummary"
--request "GET" \
--header "x-goog-user-project: CALLING_PROJECT_ID"
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN"
次のように置き換えます。
PROJECT_ID
: キーリングを含むプロジェクトの ID。LOCATION
: キーリングの Cloud KMS のロケーションKEY_RING
: 鍵を含むキーリングの名前KEY_NAME
: 使用状況の概要を表示するキーの名前。CALLING_PROJECT_ID
: KMS Inventory API を呼び出すプロジェクトの ID。
鍵の使用状況の詳細を表示するには、protectedResources.search
メソッドを使用します。
curl "https://kmsinventory.googleapis.com/v1/organizations/ORGANIZATION_ID/protectedResources:search?crypto_key=projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
--request "GET" \
--header "x-goog-user-project: CALLING_PROJECT_ID"
--header "Content-Type: application/json" \
--header "Authorization: Bearer TOKEN"
次のように置き換えます。
ORGANIZATION_ID
: 組織の数値 ID。PROJECT_ID
: キーリングを含むプロジェクトの ID。LOCATION
: キーリングの Cloud KMS のロケーションKEY_RING
: 鍵を含むキーリングの名前KEY_NAME
: 使用状況の詳細を表示する鍵の名前。CALLING_PROJECT_ID
: KMS Inventory API を呼び出すプロジェクトの ID。
鍵の用途の詳細
選択した鍵で暗号化された保護対象リソースの使用状況の詳細には、次の情報が含まれます。
- 名前: 選択した鍵で保護されている Google Cloud リソースの名前。
- プロジェクト: 保護されたリソースを含むプロジェクトの名前。
- 暗号鍵バージョン: このリソースの暗号化に使用される鍵バージョン。一部の保護されたリソースは、暗号鍵バージョンを報告しません。
- Cloud プロダクト: このリソースに関連付けられた Google Cloud プロダクト。
- リソースタイプ: 保護されているリソースのタイプ(バケット(Cloud Storage)、ディスク(Compute Engine)など)。
- Location: リソースに関連付けられた Google Cloud リージョン。
- 作成日: リソースが作成された時刻。
- ラベル: リソースに関連付けられた Key-Value ペアのセット。
リソースを保護する鍵バージョンを一覧表示する
リソースが複数の鍵バージョンで保護されている場合、[使用状況のトラッキング] タブに鍵バージョンの完全なリストが表示されないことがあります。
リソースを保護する鍵バージョンを一覧表示するには、gcloud CLI を使用して次のコマンドを実行します。
gcloud beta kms inventory search-protected-resources \
--keyname=KEY_NAME \
--scope=organizations/ORGANIZATION_ID \
--filter="name:RESOURCE_NAME" \
--flatten="cryptoKeyVersions" \
--format="value(cryptoKeyVersions)"
次のように置き換えます。
KEY_NAME
: 鍵バージョンを一覧表示する鍵の名前。ORGANIZATION_ID
: 組織の数値 ID。RESOURCE_NAME
: 鍵バージョンを一覧表示するリソースの名前。
制限事項
鍵の使用状況トラッキングを使用する場合は、次の点に注意してください。
- 鍵の使用状況の追跡は、CMEK 鍵の使用状況でのみ使用できます。 Google Cloudの内外のアプリケーションでキー バージョンを使用している場合、その使用状況は [使用状況のトラッキング] タブに表示されません。
- 一部の CMEK リソースは追跡されません。トラッキング対象リソースタイプに記載されていないリソースタイプの場合、鍵の使用状況の詳細に鍵の使用状況情報が含まれないことがあります。たとえば、Datastream が
ConnectionProfile
(datastream.googleapis.com/ConnectionProfile
)リソースの暗号化に使用する鍵の使用状況は、[使用状況のトラッキング] タブに表示されません。 - データが遅延する可能性があります。たとえば、新しい保護リソースを作成しても、保護リソースと関連付けられた鍵バージョンは [使用状況の追跡] タブにすぐには追加されません。
- Cloud Storage の鍵の使用状況データには、次の追加の制限が適用されます。
- キーの使用状況データは、オブジェクトからバケットに集計されます。オブジェクト名は表示されません。バケットにその鍵を使用するオブジェクトが 1 つ以上ある場合、バケットは鍵を使用していると表示されます。
- 4,000 を超える一意の鍵バージョンで保護されたオブジェクトを含むバケットでは、鍵の使用状況のトラッキングが完了しないことがあります。
- 鍵使用状況の追跡の詳細は、情報提供のみを目的としています。停止やデータ損失につながる可能性のある変更を行う前に、他のソースを使用して独自のデュー デリジェンスを実施してください。鍵の使用状況のトラッキング情報のみに基づいて、鍵バージョンを無効にしたり破棄したりしないでください。
追跡されるリソースタイプ
サポートされるリソースタイプは次のとおりです。
サービス | リソース |
---|---|
AI Applications | discoveryengine.googleapis.com/DataStore |
AlloyDB for PostgreSQL | alloydb.googleapis.com/Backup |
AlloyDB for PostgreSQL | alloydb.googleapis.com/Cluster |
Apigee API Hub | apihub.googleapis.com/ApiHubInstance |
Artifact Registry | artifactregistry.googleapis.com/Repository |
BigQuery | bigquery.googleapis.com/Dataset |
BigQuery | bigquery.googleapis.com/Model |
BigQuery | bigquery.googleapis.com/Table |
BigQuery | bigquerydatatransfer.googleapis.com/TransferConfig |
Bigtable | bigtableadmin.googleapis.com/Backup |
Bigtable | bigtableadmin.googleapis.com/Cluster |
Bigtable | bigtableadmin.googleapis.com/Table |
Cloud Composer | composer.googleapis.com/Environment |
Cloud Data Fusion | datafusion.googleapis.com/Instance |
Cloud Healthcare API | healthcare.googleapis.com/Dataset |
Cloud Logging | logging.googleapis.com/LogBucket |
Cloud Run | run.googleapis.com/Revision |
Cloud Run functions | cloudfunctions.googleapis.com/CloudFunction |
Cloud Run functions | cloudfunctions.googleapis.com/Function |
Cloud SQL | sqladmin.googleapis.com/BackupRun |
Cloud SQL | sqladmin.googleapis.com/Instance |
Cloud Storage | storage.googleapis.com/Bucket |
Cloud Workstations | workstations.googleapis.com/Workstation |
Cloud Workstations | workstations.googleapis.com/WorkstationConfig |
Compute Engine | compute.googleapis.com/Disk |
Compute Engine | compute.googleapis.com/Image |
Compute Engine | compute.googleapis.com/MachineImage |
Compute Engine | compute.googleapis.com/Snapshot |
Database Migration Service | datamigration.googleapis.com/MigrationJob |
Database Migration Service | datamigration.googleapis.com/ConnectionProfile |
Dataflow | dataflow.googleapis.com/Job |
Dataproc | dataproc.googleapis.com/Cluster |
Dataproc | dataproc.googleapis.com/Batch |
Dataproc Metastore | metastore.googleapis.com/Service |
Datastream | datastream.googleapis.com/Stream |
Document AI | documentai.googleapis.com/HumanReviewConfig |
Document AI | documentai.googleapis.com/Processor |
Document AI | documentai.googleapis.com/ProcessorVersion |
Filestore | file.googleapis.com/Instance |
Filestore | file.googleapis.com/Backup |
Firestore | firestore.googleapis.com/Database |
Firestore | datastore.googleapis.com/Database |
Google Agentspace Enterprise | discoveryengine.googleapis.com/DataStore |
Google Kubernetes Engine | container.googleapis.com/Cluster |
Looker(Google Cloud コア) | looker.googleapis.com/Instance |
Memorystore for Redis | redis.googleapis.com/Instance |
Migrate to Virtual Machines | vmmigration.googleapis.com/Source |
Pub/Sub | pubsub.googleapis.com/Topic |
Secret Manager | secretmanager.googleapis.com/Secret |
Secret Manager | secretmanager.googleapis.com/SecretVersion |
Secure Source Manager | securesourcemanager.googleapis.com/Instance |
Spanner | spanner.googleapis.com/Database |
Vertex AI | aiplatform.googleapis.com/Dataset |
Vertex AI | aiplatform.googleapis.com/Featurestore |
Vertex AI | aiplatform.googleapis.com/Tensorboard |
Vertex AI | aiplatform.googleapis.com/BatchPredictionJob |
Vertex AI | aiplatform.googleapis.com/CustomJob |
Vertex AI | aiplatform.googleapis.com/Endpoint |
Vertex AI | aiplatform.googleapis.com/Model |
Vertex AI | aiplatform.googleapis.com/TrainingPipeline |
Vertex AI | aiplatform.googleapis.com/PipelineJob |
Vertex AI | aiplatform.googleapis.com/MetadataStore |
Vertex AI Workbench インスタンス | notebooks.googleapis.com/Instance |
Workflows | workflows.googleapis.com/Workflow |