デフォルトの Key Access Justifications ポリシーを設定する

このページでは、Assured Workloads のデフォルトの Key Access Justifications ポリシーを構成する方法について説明します。組織、フォルダ、プロジェクトのデフォルトの Key Access Justifications ポリシーを設定できます。鍵の作成時に Key Access Justifications ポリシーが設定されていない限り、デフォルトの Key Access Justifications ポリシーは、そのリソース内で作成された新しい鍵に自動的に適用されます。デフォルトの Key Access Justifications ポリシーは、既存の鍵には適用されません。

始める前に

  • Cloud KMS 鍵のデフォルトの Key Access Justifications ポリシーを設定できるのは、Assured Workloads の日本リージョン コントロール パッケージのみです。

必要な IAM 権限

デフォルトの Key Access Justifications ポリシーを作成および管理するために必要な権限を取得するには、鍵を含む組織、フォルダ、またはプロジェクトに対する Key Access Justifications ポリシー構成管理者 roles/cloudkms.keyAccessJustificationsPolicyConfigAdmin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、デフォルトの Key Access Justifications ポリシーを作成および管理するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

デフォルトの Key Access Justifications ポリシーを作成および管理するには、次の権限が必要です。

  • cloudkms.keyAccessJustificationsConfig.getKeyAccessJustificationsPolicyConfig
  • cloudkms.keyAccessJustificationsConfig.updateKeyAccessJustificationsPolicyConfig
  • cloudkms.keyAccessJustificationsConfig.showEffectiveKeyAccessJustificationsPolicyConfig

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

デフォルトの Key Access Justifications ポリシーを設定する

REST

organizations.updateKeyAccessJustificationsPolicyConfig メソッドを使用して、組織のデフォルトの Key Access Justifications ポリシーを作成または更新します。

curl "https://cloudkms.googleapis.com/v1/organizations/ORGANIZATION_ID/kajPolicyConfig?updateMask=defaultKeyAccessJustificationPolicy" \
  --request "PATCH" \
  --header "authorization: Bearer TOKEN" \
  --header "content-type: application/json" \
  --data '{"name": "organizations/ORGANIZATION_ID/kajPolicyConfig", "defaultKeyAccessJustificationPolicy": POLICY}'

次のように置き換えます。

  • ORGANIZATION_ID: デフォルトの Key Access Justifications ポリシーを設定する組織の ID。
  • POLICY: 許可された allowedAccessReasons を一覧表示するキー アクセス正当化ポリシー。JSON オブジェクトとしてフォーマットされます(例: {"allowedAccessReasons": ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"]})。考えられる正当化理由の一覧については、正当化コードをご覧ください。

folders.updateKeyAccessJustificationsPolicyConfig メソッドを使用して、フォルダのデフォルトの Key Access Justifications ポリシーを作成または更新します。

curl "https://cloudkms.googleapis.com/v1/folders/FOLDER_ID/kajPolicyConfig?updateMask=defaultKeyAccessJustificationPolicy" \
  --request "PATCH" \
  --header "authorization: Bearer TOKEN" \
  --header "content-type: application/json" \
  --data '{"name": "folders/FOLDER_ID/kajPolicyConfig", "defaultKeyAccessJustificationPolicy": POLICY}'

次のように置き換えます。

  • FOLDER_ID: デフォルトの Key Access Justifications ポリシーを設定するフォルダの ID。
  • POLICY: 許可された allowedAccessReasons を一覧表示するキー アクセス正当化ポリシー。JSON オブジェクトとしてフォーマットされます(例: {"allowedAccessReasons": ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"]})。考えられる正当化理由の一覧については、正当化コードをご覧ください。

projects.updateKeyAccessJustificationsPolicyConfig メソッドを使用して、プロジェクトのデフォルトの Key Access Justifications ポリシーを作成または更新します。

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/kajPolicyConfig?updateMask=defaultKeyAccessJustificationPolicy" \
  --request "PATCH" \
  --header "authorization: Bearer TOKEN" \
  --header "content-type: application/json" \
  --data '{"name": "projects/PROJECT_ID/kajPolicyConfig", "defaultKeyAccessJustificationPolicy": POLICY}'

次のように置き換えます。

  • PROJECT_ID: デフォルトの Key Access Justifications ポリシーを設定するプロジェクトの ID。
  • POLICY: 許可された allowedAccessReasons を一覧表示するキー アクセス正当化ポリシー。JSON オブジェクトとしてフォーマットされます(例: {"allowedAccessReasons": ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"]})。考えられる正当化理由の一覧については、正当化コードをご覧ください。

デフォルトの Key Access Justifications ポリシーを取得する

REST

organizations.getKajPolicyConfig メソッドを使用して、組織の既存のデフォルトの Key Access Justifications ポリシーに関するメタデータを取得します。

curl "https://cloudkms.googleapis.com/v1/organizations/ORGANIZATION_ID/kajPolicyConfig"

ORGANIZATION_ID は、デフォルトの Key Access Justifications ポリシーを取得する組織の ID に置き換えます。

レスポンスは次の例のようになります。

{
  "name" : "organizations/ORGANIZATION_ID/kajPolicyConfig"
  "defaultKeyAccessJustificationPolicy": {
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}

folders.getKajPolicyConfig メソッドを使用して、フォルダの既存のデフォルトの Key Access Justifications ポリシーに関するメタデータを取得します。

curl "https://cloudkms.googleapis.com/v1/folders/FOLDER_ID/kajPolicyConfig"

FOLDER_ID は、デフォルトの Key Access Justifications ポリシーを取得するフォルダの ID に置き換えます。

レスポンスは次の例のようになります。

{
  "name" : "folders/FOLDER_ID/kajPolicyConfig"
  "defaultKeyAccessJustificationPolicy": {
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}

projects.getKajPolicyConfig メソッドを使用して、プロジェクトの既存のデフォルトの Key Access Justifications ポリシーに関するメタデータを取得します。

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/kajPolicyConfig"

PROJECT_ID は、デフォルトの Key Access Justifications ポリシーを取得するプロジェクトの ID に置き換えます。

レスポンスは次の例のようになります。

{
  "name" : "project/PROJECT_ID/kajPolicyConfig"
  "defaultKeyAccessJustificationPolicy": {
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}

プロジェクトで有効なデフォルトの Key Access Justifications ポリシーを取得する

プロジェクトは、最も近い祖先からデフォルトのポリシーを継承します。単一のプロジェクトの祖先に複数のデフォルト ポリシーが設定されている場合は、プロジェクトに実際に適用されているポリシーを取得して、そのプロジェクトで作成された新しい Cloud KMS 鍵に適用されるポリシーを確認できます。

REST

projects.showEffectiveKeyAccessJustificationsPolicyConfig メソッドを使用して、プロジェクトの有効なデフォルトの Key Access Justifications ポリシーに関するメタデータを取得します。

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID:showEffectiveKeyAccessJustificationsPolicyConfig"

PROJECT_ID は、有効なデフォルトの Key Access Justifications ポリシーを取得するプロジェクトの ID に置き換えます。

レスポンスは次の例のようになります。

{
  "effectiveKajPolicy" : {
    "name" : "folders/FOLDER_ID/kajPolicyConfig"
    "defaultKeyAccessJustificationPolicy": {
      "allowedAccessReasons": [
        "CUSTOMER_INITIATED_ACCESS",
        "GOOGLE_INITIATED_SYSTEM_OPERATION"
      ]
    }
  }
}

次のステップ