権限と役割

鍵リングと暗号鍵は Google Cloud Platform のリソースで、これらには、他のリソースと同様、IAM ポリシーを設定できます。個々の暗号鍵バージョンに IAM ポリシーを設定することはできません。ポリシーの設定例については、IAM と Cloud KMS の使用をご覧ください。

必要な権限

次の表に、各メソッドを呼び出すために呼び出し元が持っている必要のある権限のリストを示します。

メソッド 必要な権限
locations.list なし。
locations.get なし。
locations.keyRings.list それを含む Cloud プロジェクトに対する cloudkms.keyRings.list
locations.keyRings.get リクエストされた鍵リングに対する cloudkms.keyRings.get
locations.keyRings.create それを含む Cloud プロジェクトに対する cloudkms.keyRings.create
locations.keyRings.getIamPolicy リクエストされた鍵リングに対する cloudkms.keyRings.getIamPolicy
locations.keyRings.setIamPolicy リクエストされた鍵リングに対する cloudkms.keyRings.setIamPolicy
locations.keyRings.testIamPermissions なし。
locations.keyRings.cryptoKeys.list リクエストされた鍵リングに対する cloudkms.cryptoKeys.list
locations.keyRings.cryptoKeys.get リクエストされた暗号鍵に対する cloudkms.cryptoKeys.get
locations.keyRings.cryptoKeys.create それを含む鍵リングに対する cloudkms.cryptoKeys.create
locations.keyRings.cryptoKeys.encrypt リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.useToEncrypt
locations.keyRings.cryptoKeys.decrypt リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.useToDecrypt
locations.keyRings.cryptoKeys.patch リクエストされた暗号鍵に対する cloudkms.cryptoKeys.update
locations.keyRings.cryptoKeys.updatePrimaryVersion リクエストされた暗号鍵に対する cloudkms.cryptoKeys.update
locations.keyRings.cryptoKeys.getIamPolicy リクエストされた暗号鍵に対する cloudkms.cryptoKeys.getIamPolicy
locations.keyRings.cryptoKeys.setIamPolicy リクエストされた暗号鍵に対する cloudkms.cryptoKeys.setIamPolicy
locations.keyRings.cryptoKeys.testIamPermissions なし。
locations.keyRings.cryptoKeys.cryptoKeyVersions.list リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.list
locations.keyRings.cryptoKeys.cryptoKeyVersions.get リクエストされた暗号鍵バージョンに対する cloudkms.cryptoKeyVersions.get
locations.keyRings.cryptoKeys.cryptoKeyVersions.create それを含む暗号鍵に対する cloudkms.cryptoKeyVersions.create
locations.keyRings.cryptoKeys.cryptoKeyVersions.patch リクエストされた暗号鍵バージョンに対する cloudkms.cryptoKeyVersions.update
locations.keyRings.cryptoKeys.cryptoKeyVersions.destroy リクエストされた暗号鍵バージョンに対する cloudkms.cryptoKeyVersions.destroy
locations.keyRings.cryptoKeys.cryptoKeyVersions.restore リクエストされた暗号鍵バージョンに対する cloudkms.cryptoKeyVersions.restore
locations.keyRings.cryptoKeys.cryptoKeyVersions.asymmetricDecryptベータ版 リクエストされた暗号鍵バージョンに対する cloudkms.cryptoKeyVersions.useToDecrypt
locations.keyRings.cryptoKeys.cryptoKeyVersions.asymmetricSignベータ版 リクエストされた暗号鍵バージョンに対する cloudkms.cryptoKeyVersions.useToSign
locations.keyRings.cryptoKeys.cryptoKeyVersions.getPublicKeyベータ版 リクエストされた暗号鍵バージョンに対する cloudkms.cryptoKeyVersions.viewPublicKey

事前定義された役割

次の表に、Cloud Key Management Service の事前定義された IAM の役割と、各役割に含まれるすべての権限のリストを示します。各権限は、特定のリソースタイプに適用できます。

鍵に使用できるのは、オーナー、編集者、閲覧者基本の役割に加え、管理者、暗号化 / 復号化、Cloud KMS に固有の暗号化と復号化事前定義された役割です。

事前定義された役割を使用すると、役割が必要な職掌を分散できます。管理者の役割は、鍵を管理するが鍵を使用しないユーザーに向いています。暗号化または復号化の役割は、データの暗号化と復号化に鍵を使用するが鍵を管理しないサービスに向いています。

役割 含まれている権限 リソースタイプ
roles/cloudkms.admin
cloudkms.keyRings.setIamPolicy 鍵リング
cloudkms.cryptoKeys.setIamPolicy 暗号鍵
cloudkms.keyRings.create 鍵リング
cloudkms.cryptoKeys.create 暗号鍵
cloudkms.cryptoKeyVersions.create 暗号鍵バージョン
cloudkms.cryptoKeys.update 暗号鍵
cloudkms.cryptoKeyVersions.update 暗号鍵バージョン
cloudkms.cryptoKeyVersions.destroy 暗号鍵バージョン
cloudkms.cryptoKeyVersions.restore 暗号鍵バージョン
cloudkms.keyRings.list 鍵リング
cloudkms.cryptoKeys.list 暗号鍵
cloudkms.cryptoKeyVersions.list 暗号鍵バージョン
cloudkms.keyRings.get 鍵リング
cloudkms.cryptoKeys.get 暗号鍵
cloudkms.cryptoKeys.cryptoKeyVersions.get 暗号鍵バージョン
cloudkms.keyRings.getIamPolicy 鍵リング
cloudkms.cryptoKeys.getIamPolicy 暗号鍵
roles/cloudkms.cryptoKeyEncrypterDecrypter
cloudkms.cryptoKeyVersions.useToEncrypt 暗号鍵バージョン
cloudkms.cryptoKeyVersions.useToDecrypt 暗号鍵バージョン
roles/cloudkms.cryptoKeyEncrypter cloudkms.cryptoKeyVersions.useToEncrypt 暗号鍵バージョン
roles/cloudkms.cryptoKeyDecrypter cloudkms.cryptoKeyVersions.useToDecrypt 暗号鍵バージョン
roles/cloudkms.publicKeyViewerベータ版
cloudkms.cryptoKeyVersions.viewPublicKey 暗号鍵バージョン
roles/cloudkms.signerベータ版
cloudkms.cryptoKeyVersions.useToSign 暗号鍵バージョン
roles/cloudkms.signerVerifierベータ版
cloudkms.cryptoKeyVersions.useToSign 暗号鍵バージョン
cloudkms.cryptoKeyVersions.viewPublicKey 暗号鍵バージョン
roles/viewer
cloudkms.keyRings.list 鍵リング
cloudkms.cryptoKeys.list 暗号鍵
cloudkms.cryptoKeyVersions.list 暗号鍵バージョン
cloudkms.keyRings.get 鍵リング
cloudkms.cryptoKeys.get 暗号鍵
cloudkms.cryptoKeyVersions.get 暗号鍵バージョン
cloudkms.keyRings.getIamPolicy 鍵リング
cloudkms.cryptoKeys.getIamPolicy 暗号鍵
roles/editor
roles/viewer のすべての権限と次の権限:
cloudkms.keyRings.create 鍵リング
cloudkms.cryptoKeys.create 暗号鍵
cloudkms.cryptoKeyVersions.create 暗号鍵バージョン
cloudkms.cryptoKeys.update 暗号鍵
cloudkms.cryptoKeyVersions.update 暗号鍵バージョン
roles/owner
roles/editor のすべての権限と次の権限:
cloudkms.cryptoKeyVersions.useToEncrypt 暗号鍵バージョン
cloudkms.cryptoKeyVersions.useToDecrypt 暗号鍵バージョン
cloudkms.cryptoKeyVersions.useToSignベータ版 暗号鍵バージョン
cloudkms.cryptoKeyVersions.viewPublicKeyベータ版 暗号鍵バージョン
cloudkms.keyRings.setIamPolicy 鍵リング
cloudkms.cryptoKeys.setIamPolicy 暗号鍵
cloudkms.cryptoKeyVersions.destroy 暗号鍵バージョン
cloudkms.cryptoKeyVersions.restore 暗号鍵バージョン

役割 roles/ownerroles/editorroles/viewer には、他の Google Cloud Platform サービスに対する権限も含まれているので注意してください。

カスタムの役割

Cloud IAM では、カスタムの役割を作成することもできます。1 つ以上の権限を持つカスタムの Cloud IAM の役割を作成し、組織の一員であるユーザーにそのカスタムの役割を付与できます。カスタムの役割を使用すると、組織内のユーザー アカウントとサービス アカウントが目的の機能を遂行するために必要な権限のみを持つように、最小限の権限の原則を適用することができます。カスタムの役割の作成については、カスタムの役割の作成と管理をご覧ください。

カスタムの役割を定義するときに役立つように、一般的なユーザーフローと、Cloud KMS のオペレーションの実行に必要な権限を次に示します。このリストにすべてが記載されているわけではありません。

ユーザーフロー 必要な権限
API を使用する場合
必要な権限
GCP Console を使用する場合
脚注 1 を参照)
鍵リングを作成する それを含むプロジェクトに対する cloudkms.keyRings.create API を使用する場合に必要な権限と同じ
暗号鍵を作成する それを含む鍵リングに対する cloudkms.cryptoKeys.create API を使用する場合に必要な権限と次の権限:

それを含むプロジェクトに対する cloudkms.keyRings.list

暗号鍵バージョンを作成する それを含む暗号鍵に対する cloudkms.cryptoKeyVersions.create API を使用する場合に必要な権限と次の権限:

リクエストされた鍵リングに対する cloudkms.cryptoKeys.list

それを含むプロジェクトに対する cloudkms.keyRings.list

暗号鍵バージョンを有効にする リクエストされた暗号鍵バージョンに対する cloudkms.cryptoKeyVersions.update API を使用する場合に必要な権限と次の権限:

リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.list

リクエストされた鍵リングに対する cloudkms.cryptoKeys.list

それを含むプロジェクトに対する cloudkms.keyRings.list

暗号鍵バージョンを無効にする リクエストされた暗号鍵バージョンに対する cloudkms.cryptoKeyVersions.update API を使用する場合に必要な権限と次の権限:

リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.list

リクエストされた鍵リングに対する cloudkms.cryptoKeys.list

それを含むプロジェクトに対する cloudkms.keyRings.list

暗号鍵バージョンを破棄する リクエストされた暗号鍵バージョンに対する cloudkms.cryptoKeyVersions.destroy API を使用する場合に必要な権限と次の権限:

リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.list

リクエストされた鍵リングに対する cloudkms.cryptoKeys.list

それを含むプロジェクトに対する cloudkms.keyRings.list

暗号鍵バージョンを復元する リクエストされた暗号鍵バージョンに対する cloudkms.cryptoKeyVersions.restore API を使用する場合に必要な権限と次の権限:

リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.list

リクエストされた鍵リングに対する cloudkms.cryptoKeys.list

それを含むプロジェクトに対する cloudkms.keyRings.list

手動で暗号鍵をローテーションする リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.createcloudkms.cryptoKeys.update API を使用する場合に必要な権限と次の権限:

リクエストされた鍵リングに対する cloudkms.cryptoKeys.list

それを含むプロジェクトに対する cloudkms.keyRings.list

暗号鍵にローテーション期間を設定する リクエストされた暗号鍵に対する cloudkms.cryptoKeys.update API を使用する場合に必要な権限と次の権限:

リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.list

リクエストされた鍵リングに対する cloudkms.cryptoKeys.list

それを含むプロジェクトに対する cloudkms.keyRings.list

対称暗号鍵を使用してデータを暗号化する リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.useToEncrypt GCP Console ではサポートされていません。
対称暗号鍵を使用してデータを復号する リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.useToDecrypt GCP Console ではサポートされていません。
非対称暗号鍵を使用して署名を作成する(ベータ版 リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.useToSign GCP Console ではサポートされていません。
非対称暗号鍵を使用してデータを復号する(ベータ版 リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.asymmetricDecrypt GCP Console ではサポートされていません。
非対称暗号鍵の公開部分を取得する(ベータ版 リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.viewPublicKey API を使用する場合に必要な権限と次の権限:

リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.list

リクエストされた暗号鍵に対する cloudkms.cryptoKeys.get

リクエストされた鍵リングに対する cloudkms.cryptoKeys.list

リクエストされた鍵リングに対する cloudkms.keyRings.get

それを含むプロジェクトに対する cloudkms.keyRings.list

鍵リングに権限を設定する リクエストされた鍵リングに対する cloudkms.keyRings.setIamPolicy API を使用する場合に必要な権限と次の権限:

リクエストされた鍵リングに対する cloudkms.keyRings.getIamPolicy

暗号鍵に権限を設定する リクエストされた暗号鍵に対する cloudkms.cryptoKeys.setIamPolicy API を使用する場合に必要な権限と次の権限:

リクエストされた暗号鍵に対する cloudkms.cryptoKeys.getIamPolicy

GCP Console を使用してプロジェクトの鍵リングを表示する なし それを含むプロジェクトに対する cloudkms.keyRings.list
GCP Console を使用して、鍵リングの暗号鍵と鍵リングのメタデータを表示する なし リクエストされた鍵リングに対する cloudkms.cryptoKeys.list

リクエストされた鍵リングに対する cloudkms.keyRings.get

それを含むプロジェクトに対する cloudkms.keyRings.list

GCP Console を使用して、暗号鍵の暗号鍵バージョンと暗号鍵のメタデータを表示する なし リクエストされた暗号鍵に対する cloudkms.cryptoKeyVersions.list

リクエストされた暗号鍵に対する cloudkms.cryptoKeys.get

リクエストされた鍵リングに対する cloudkms.cryptoKeys.list

リクエストされた鍵リングに対する cloudkms.keyRings.get

それを含むプロジェクトに対する cloudkms.keyRings.list

1 これらの権限は、UI を使用してリソースページに移動するために必要です。また、ユーザーが特定のリソースに必要な権限を持っている場合は、そのリソース(鍵リングや暗号鍵など)のページに直接リンクすることもできます。

権限の確認

cloudkms.keyRings.testIamPermissionscloudkms.cryptoKeys.testIamPermissions を任意の ID で実行すると、Cloud KMS の任意の鍵リングと暗号鍵に対してこれらの権限をテストできます。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud KMS ドキュメント