设置默认 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 access、 Google-initiated system operation 以及您要允许的任何其他原因代码。Customer-initiated access 和 Google-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"
      ]
    }
  }
}

后续步骤