设置默认 Key Access Justifications 政策

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

准备工作

  • 您只能为 Assured Workloads 中注册了日本地区控制软件包的文件夹中的 Cloud KMS 密钥设置默认 Key Access Justifications 政策。

必需的 IAM 权限

如需获得创建和管理默认 Key Access Justifications 政策所需的权限,请让您的管理员为您授予包含密钥的组织、文件夹或项目的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 政策

控制台

  1. 在 Google Cloud 控制台中,前往 密钥管理 页面。

    前往密钥管理

  2. 点击 KMS Controls ,然后点击 Key Access Justifications (KAJ)

  3. 点击修改

  4. 选择 Set Key Access Justifications policy,然后选择 Allow specific reason codes

  5. 对于 Justification reasons,选择 Customer-initiated accessGoogle-initiated system operation 以及您要允许的任何其他原因代码。Customer-initiated accessGoogle-initiated system operation 对于正常运行至关重要。

  6. 点击创建

gcloud

在组织上设置默认政策

使用带有 --organization 标志的 kms kaj-config update 命令在文件夹上创建或更新默认 Key Access Justifications 政策:

gcloud beta kms kaj-config update
    --organization=ORGANIZATION_NUMBER
    --allowed-access-reasons="ALLOWED_ACCESS_REASONS"

替换以下内容:

  • ORGANIZATION_NUMBER:您要为其设置默认 Key Access Justifications 政策的组织的编号。
  • ALLOWED_ACCESS_REASONS:列出允许的访问理由的 Key Access Justifications 政策,格式为逗号分隔列表,例如 CUSTOMER_INITIATED_ACCESS,GOOGLE_INITIATED_SYSTEM_OPERATION如需查看可能的理由列表,请参阅理由代码。

在文件夹上设置默认政策

使用带有 --folder 标志的 kms kaj-config update 命令在文件夹上创建或更新默认 Key Access Justifications 政策:

gcloud beta kms kaj-config update
    --folder=FOLDER_ID
    --allowed-access-reasons="ALLOWED_ACCESS_REASONS"

替换以下内容:

  • FOLDER_ID:您要为其设置默认 Key Access Justifications 政策的文件夹的 ID。
  • ALLOWED_ACCESS_REASONS:列出允许的访问理由的 Key Access Justifications 政策,格式为逗号分隔列表,例如 CUSTOMER_INITIATED_ACCESS,GOOGLE_INITIATED_SYSTEM_OPERATION如需查看可能的理由列表,请参阅理由代码。

在项目上设置默认政策

使用带有 --project 标志的 kms kaj-config update 命令在项目上创建或更新默认 Key Access Justifications 政策:

gcloud beta kms kaj-config update
    --project=PROJECT_ID
    --allowed-access-reasons="ALLOWED_ACCESS_REASONS"

替换以下内容:

  • PROJECT_ID:您要为其设置默认 Key Access Justifications 政策的项目的 ID。
  • ALLOWED_ACCESS_REASONS:列出允许的访问理由的 Key Access Justifications 政策,格式为逗号分隔列表,例如 CUSTOMER_INITIATED_ACCESS,GOOGLE_INITIATED_SYSTEM_OPERATION如需查看可能的理由列表,请参阅理由代码。

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 的 Key Access Justifications 政策,格式为 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 的 Key Access Justifications 政策,格式为 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 的 Key Access Justifications 政策,格式为 JSON 对象,例如 {"allowedAccessReasons": ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"]}。如需查看 可能的理由列表,请参阅 理由代码

查看默认 Key Access Justifications 政策

控制台

  1. 在 Google Cloud 控制台中,前往 密钥管理 页面。

    前往密钥管理

  2. 点击 KMS Controls ,然后点击 Key Access Justifications (KAJ) 。系统会显示所选组织、文件夹或项目的默认政策。

gcloud

查看组织上的默认政策

如需查看在组织上设置的默认政策,请运行带有 --organization 标志的 kms kaj-config describe 命令:

gcloud beta kms kaj-config describe --organization=ORGANIZATION_NUMBER

ORGANIZATION_NUMBER 替换为组织的编号。

响应类似于以下示例:

defaultKeyAccessJustificationPolicy:
  defaultPolicyAvailable: true
  allowedAccessReasons:
  - CUSTOMER_INITIATED_ACCESS
  - GOOGLE_INITIATED_SYSTEM_OPERATION
name: organizations/ORGANIZATION_NUMBER/kajPolicyConfig

查看文件夹上的默认政策

如需查看在文件夹上设置的默认政策,请运行带有 --folder 标志的 kms kaj-config describe 命令:

gcloud beta kms kaj-config describe --folder=FOLDER_ID

FOLDER_ID 替换为文件夹的 ID。

响应类似于以下示例:

defaultKeyAccessJustificationPolicy:
  defaultPolicyAvailable: true
  allowedAccessReasons:
  - CUSTOMER_INITIATED_ACCESS
  - GOOGLE_INITIATED_SYSTEM_OPERATION
name: folders/FOLDER_ID/kajPolicyConfig

查看项目上的默认政策

如需查看在项目上设置的默认政策,请运行带有 --project 标志的 kms kaj-config describe 命令:

gcloud beta kms kaj-config describe --project=PROJECT_ID

PROJECT_ID 替换为项目的 ID。

响应类似于以下示例:

defaultKeyAccessJustificationPolicy:
  defaultPolicyAvailable: true
  allowedAccessReasons:
  - CUSTOMER_INITIATED_ACCESS
  - GOOGLE_INITIATED_SYSTEM_OPERATION
name: projects/PROJECT_ID/kajPolicyConfig

此命令会返回在项目上设置的默认政策(如果存在)。如果未在项目上设置默认政策,即使项目从父级文件夹或组织继承了默认政策,此命令也不会返回任何政策。如需查看项目上的有效默认政策,请参阅本页中的 查看项目上的有效默认 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": {
    "defaultPolicyAvailable": true,
    "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": {
    "defaultPolicyAvailable": true,
    "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": {
    "defaultPolicyAvailable": true,
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}

查看项目上的有效默认 Key Access Justifications 政策

项目会从其最近的父级文件夹或组织继承默认政策。如果为单个项目的祖先设置了多个默认政策,您可以获取项目的有效政策,以查看应用于在该项目中创建的新 Cloud KMS 密钥的政策。

在 Google Cloud 控制台中,当您在 项目中创建密钥时,系统会显示项目上的有效默认 Key Access Justifications 政策。在密钥 创建期间,您可以选择是继承有效默认政策,还是 创建新密钥和 政策

gcloud

如需查看有关项目上的有效默认 Key Access Justifications 政策的元数据,请调用 projects.showEffectiveKeyAccessJustificationsPolicyConfig 方法:

gcloud beta kms kaj-config show-effective-config --project=PROJECT_ID

PROJECT_ID 替换为您要获取有效默认 Key Access Justifications 政策的项目的 ID。

响应类似于以下示例:

effectiveKajPolicy:
  defaultKeyAccessJustificationPolicy:
    defaultPolicyAvailable: true
    allowedAccessReasons:
    - CUSTOMER_INITIATED_ACCESS
    - GOOGLE_INITIATED_SYSTEM_OPERATION
  name: folders/FOLDER_ID/kajPolicyConfig

REST

如需查看有关项目上的有效默认 Key Access Justifications 政策的元数据,请调用 projects.showEffectiveKeyAccessJustificationsPolicyConfig 方法:

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

PROJECT_ID 替换为您要获取有效默认 Key Access Justifications 政策的项目的 ID。

响应类似于以下示例:

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

后续步骤