CMEK の組織のポリシー

Cloud de Confiance by S3NS には、組織全体で CMEK が使用されるように、2 つの組織のポリシーの制約が提供されています。

  • constraints/gcp.restrictNonCmekServices は、CMEK 保護を要求するために使用されます。
  • constraints/gcp.restrictCmekCryptoKeyProjects は、CMEK の保護に使用される Cloud KMS 鍵を制限するために使用されます。

CMEK の組織のポリシーは、 サポート対象 Cloud de Confiance サービス内で新しく作成されたリソースにのみ適用されます。

必要なロール

リソースの作成時に各ユーザーが組織のポリシーを確認するために必要な権限を確実に持つようにするため、各ユーザーに組織のポリシー閲覧者 roles/orgpolicy.policyViewer)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、リソースの作成時に組織のポリシーを確認するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

リソースの作成時に組織のポリシーを確認するには、次の権限が必要です。

  • 組織のポリシーの詳細を表示する: orgpolicy.policy.get
  • リソースの作成時に組織のポリシーを確認するには: orgpolicy.policies.check

管理者は、各ユーザーに これらの権限を カスタムロールまたは 他の事前定義ロールで付与することもできます。

組織のポリシーが有効な場合、orgpolicy.policies.check 権限 は、CMEK 鍵で保護されたリソースを作成する Cloud de Confiance コンソール ユーザーに必要です。この権限のないユーザーは、CMEK で保護された リソースを Cloud de Confiance コンソールを使用して作成できますが、こうしたユーザーは restrictCmekCryptoKeyProjects制約で許可されていない CMEK 鍵を選択できます。この制約を満たさない鍵が選択されると、リソースの作成は最終的に失敗します。

CMEK 保護を要求する

組織の CMEK 保護を要求するには、constraints/gcp.restrictNonCmekServices 組織のポリシーを構成します。

リスト型制約として許可される値は、 Cloud de Confiance by S3NS サービス名です(例: bigquery.googleapis.com)。この制約を使用するには、 サービス名のリストを指定し、 Cloud de Confiance by S3NS 制約を [**拒否**]に設定します。リソースが CMEK によって保護されていない場合、この構成によりこれらのサービスでのリソースの作成がブロックされます。つまり、 サービス内でリソースを作成するリクエストは Cloud KMS 鍵を指定しないと成功しません。また、この制約により、これらのサービスのリソースから CMEK 保護を削除できなくなります。この制約 は、サポート対象サービスにのみ適用されます。

CMEK の Cloud KMS 鍵の使用を制限する

CMEK の保護に使用される Cloud KMS 鍵がどれかを制限するには、constraints/gcp.restrictCmekCryptoKeyProjects 制約を構成します。

リスト型制約として許容される値は、リソース階層インジケーター( たとえば、projects/PROJECT_IDunder:folders/FOLDER_IDunder:organizations/ORGANIZATION_ID など)です。この制約を使用するには、 リソース階層インジケーターのリストを構成し、制約を [許可]に設定します。この構成では、CMEK 鍵が、リストされたプロジェクト、フォルダ、組織からのみ選択できるように、サポート対象サービスが制限されます。 構成されたサービスで CMEK で保護されたリソースを作成するリクエストは、許可されたリソースのいずれかからの Cloud KMS 鍵がないと成功しません。この制約が構成されている場合、 すべてのサポート対象サービスに適用されます。

サポート対象のサービス

サービス CMEK を要求する場合の制約値
Cloud Storage storage.googleapis.com

リソースタイプ別の適用例外

CMEK の組織のポリシーの制約は、新しいリソースを作成するとき、または既存のリソースの Cloud KMS 鍵を変更するとき(サポートされている場合)に適用されます。通常、これらの制約は、CMEK をサポートし、リソースの構成のみに基づいた、すべてのサービス リソースタイプに適用されます。主な例外を以下にまとめます。

リソースの種類 適用例外
storage.googleapis.com/Bucket バケットのデフォルトの Cloud KMS 鍵に適用されます
storage.googleapis.com/Object バケットとは独立して適用されます。個別のバケットのデフォルト Cloud KMS 鍵の構成もご覧ください。

設定例

この構成例では、サンプル組織について次のリソース階層があると想定しています。

組織リソース階層の図

CMEK を要求し、プロジェクトの鍵を制限する

projects/5 のすべての Cloud Storage リソースに対して CMEK による保護を要求し、projects/4 から取得した鍵のみを使用できるようにします。

すべての新しい Cloud Storage リソースで CMEK の保護を要求するには、次の組織のポリシー設定を使用します。

  • 組織のポリシー: constraints/gcp.restrictNonCmekServices
  • バインディングの場所: projects/5
  • ポリシータイプ: 拒否
  • ポリシーの値: storage.googleapis.com

projects/4 の鍵のみが使用されるようにするには、次の構成を使用します。

  • 組織のポリシー: constraints/gcp.restrictCmekCryptoKeyProjects
  • バインディングの場所: projects/5
  • ポリシータイプ: 許可
  • ポリシーの値: projects/4

CMEK を要求し、フォルダ内の鍵を制限する

または、今後 folders/2 に Cloud KMS プロジェクトを追加する予定があり、folders/3 内で CMEK をより広範に要求するとします。このシナリオでは、構成が少し異なります。

folders/3 で新しい Cloud SQL リソースと Cloud Storage リソースに対して追加の CMEK 保護を要求するには:

  • 組織のポリシー: constraints/gcp.restrictNonCmekServices
  • バインディングの場所: folders/3
  • ポリシータイプ: 拒否
  • ポリシーの値: sqladmin.googleapis.comstorage.googleapis.com

folders/2 の Cloud KMS プロジェクトの鍵のみが使用されるようにするには:

  • 組織のポリシー: constraints/gcp.restrictCmekCryptoKeyProjects
  • バインディングの場所: folders/3
  • ポリシータイプ: 許可
  • ポリシーの値: under:folders/2

組織の CMEK を要求する

CMEK を組織内の任意の場所(サポート対象サービス)で要求するには、次の設定で constraints/gcp.restrictNonCmekServices 制約を構成します。

  • 組織のポリシー: constraints/gcp.restrictNonCmekServices
  • バインディングの場所: organizations/1
  • ポリシータイプ: 拒否
  • ポリシーの値:(すべてのサポート対象サービス

制限事項

コンソールを使用してリソースを作成する場合、プロジェクトとサービスに constraints/gcp.restrictNonCmekServices が構成されていると、CMEK 以外の暗号化オプションを使用できないことがあります。 Cloud de Confiance CMEK の組織のポリシーの制限は、顧客アカウントにプロジェクトに対する orgpolicy.policy.get IAM 権限が付与されている場合にのみ表示されます。

次のステップ

組織のポリシーの利点と一般的なユースケースの詳細について、組織のポリシー サービスの概要を確認する。

特定の制約を含む組織のポリシーを作成するその他の例については、制約の使用 をご覧ください。