设置默认的 Key Access Justifications 政策

本页介绍了如何为 Assured Workloads 配置默认的 Key Access Justifications 政策。您可以为组织、文件夹或项目设置默认的 Key Access Justifications 政策。默认的 Key Access Justifications 政策会自动应用于相应资源中创建的新密钥,除非在创建密钥时为该密钥设置了 Key Access Justifications 政策。默认密钥访问理由政策不会应用于现有密钥。

准备工作

  • 为 Cloud KMS 密钥设置默认 Key Access Justifications 政策的功能仅适用于 Assured Workloads 中的“日本区域”控制软件包。

必需的 IAM 权限

如需获得创建和管理默认密钥访问权限正当理由政策所需的权限,请让您的管理员为您授予包含密钥的组织、文件夹或项目的 Key Access Justifications Policy Config Admin (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:列出允许的 Key Access Justifications 政策 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:列出允许的 Key Access Justifications 政策 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:列出允许的 Key Access Justifications 政策 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"
      ]
    }
  }
}

后续步骤