Configure as justificativas de acesso às chaves com o Cloud HSM

Nesta página, descrevemos como configurar as justificativas de acesso às chaves com o Cloud HSM para Assured Workloads Pacote de controle das regiões do Japão.

Durante as etapas para criar uma nova pasta do Assured Workloads para regiões do Japão, é possível criar um novo projeto e um keyring para suas chaves criptográficas. As chaves do Cloud HSM podem ser a este keyring. Também é possível configurar uma política de justificativas de acesso às chaves para para controlar o acesso a cada chave.

Antes de começar

  • A capacidade de usar as justificativas de acesso às chaves com chaves do Cloud HSM está disponível apenas para o pacote de controle das regiões do Japão no Assured Workloads.
  • Verifique se o administrador concedeu a você um dos Papéis do Identity and Access Management (IAM) para criar e gerenciar Políticas de justificativas de acesso às chaves e as próprias chaves do Cloud HSM.

Permissões do IAM obrigatórias

Para ter as permissões necessárias para criar e gerenciar chaves do Cloud HSM e as políticas de justificativas de acesso às chaves, peça ao administrador para conceder a você Papel do IAM Administrador do Cloud KMS (roles/cloudkms.admin) no projeto que contém o keyring. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Esse papel predefinido contém as permissões necessárias para criar e gerenciar chaves do Cloud HSM e as políticas de justificativas de acesso às chaves. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para criar e gerenciar chaves do Cloud HSM e suas políticas de justificativas de acesso às chaves:

  • cloudkms.cryptoKeys.create
  • cloudkms.cryptoKeys.update
  • cloudkms.cryptoKeys.get

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Configurar uma chave do Cloud HSM com Justificativas de acesso às chaves

Para configurar as justificativas de acesso às chaves com uma chave do Cloud HSM, inclua as como parâmetro ao criar a chave ou atualizar com a política após a criação da chave.

Criar uma nova chave e política

REST

Crie uma nova chave e política usando o cryptoKeys.create :

POST https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME

Na solicitação, substitua os seguintes valores de marcador:

  • PROJECT_ID: o ID do projeto que contém o keyring em que em que você quer adicionar uma chave, por exemplo, 919698201234.
  • LOCATION: o local do keyring, por exemplo, us-west1.
  • KEY_RING: o nome do keyring que você especificou ao você criou o projeto de gerenciamento de chaves da pasta do Assured Workloads e um keyring, por exemplo, my-key-ring.
  • KEY_NAME: o nome da chave HSM que você quer criar para exemplo: my-hsm-key.

Corpo da solicitação:

{
  "purpose": "PURPOSE",
  "versionTemplate": {
    "protectionLevel": "HSM",
    "algorithm": "ALGORITHM"
  },
  "keyAccessJustificationsPolicy": {
    "allowedAccessReasons": [
      ALLOWED_ACCESS_REASONS
    ]
  }
}

No corpo da solicitação, substitua os seguintes valores de marcador:

  • PURPOSE: a finalidade da chave. Para uma lista de diferentes chaves objetivos, consulte Finalidades de chave, por exemplo, ENCRYPT_DECRYPT
  • ALGORITHM: o algoritmo criptográfico a ser usado. Para uma lista de algoritmos disponíveis, consulte Algoritmos do Cloud KMS, por exemplo, GOOGLE_SYMMETRIC_ENCRYPTION
  • ALLOWED_ACCESS_REASONS: a política de justificativas de acesso às chaves que define zero. ou mais permitidos códigos de justificativa para acessar a chave de criptografia, por exemplo, CUSTOMER_INITIATED_ACCESS.

O exemplo de solicitação e corpo da solicitação a seguir só permite acesso justificáveis por alguns motivos:

POST https://cloudkms.googleapis.com/v1/projects/919698201234/locations/us-west1/keyRings/my-key-ring/cryptoKeys?crypto_key_id=my-hsm-key
{
  "purpose": "ENCRYPT_DECRYPT",
  "versionTemplate": {
    "protectionLevel": "HSM",
    "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION"
  },
  "keyAccessJustificationsPolicy": {
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}

Atualizar a política de uma chave existente

REST

Atualize uma chave atual no Cloud KMS usando a cryptoKeys.patch :

PATCH https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?update_mask=keyAccessJustificationsPolicy

Na solicitação, substitua os seguintes valores de marcador:

  • PROJECT_ID: o ID do projeto que contém a chave para a chave, por exemplo, 919698201234.
  • LOCATION: o local do keyring, por exemplo, us-west1.
  • KEY_RING: o nome do keyring que você especificou ao você criou o projeto de gerenciamento de chaves da pasta do Assured Workloads e um keyring, por exemplo, my-key-ring.
  • KEY_NAME: o nome da chave HSM que você quer atualizar (para exemplo: my-hsm-key.

Corpo da solicitação:

{
  "purpose": "PURPOSE",
  "versionTemplate": {
    "protectionLevel": "HSM",
    "algorithm": "ALGORITHM"
  },
  "keyAccessJustificationsPolicy": {
    "allowedAccessReasons": [
      ALLOWED_ACCESS_REASONS
    ]
  }
}

No corpo da solicitação, substitua os seguintes valores de marcador:

  • PURPOSE: a finalidade da chave. Para uma lista de diferentes chaves objetivos, consulte Finalidades de chave, por exemplo, ENCRYPT_DECRYPT
  • ALGORITHM: o algoritmo criptográfico a ser usado. Para uma lista de algoritmos disponíveis, consulte Algoritmos do Cloud KMS, por exemplo, GOOGLE_SYMMETRIC_ENCRYPTION
  • ALLOWED_ACCESS_REASONS: a política de justificativas de acesso às chaves que define zero. ou mais permitidos códigos de justificativa para acessar a chave de criptografia, por exemplo, CUSTOMER_INITIATED_ACCESS.

O exemplo de solicitação e corpo da solicitação a seguir só permite acesso justificáveis por alguns motivos:

PATCH https://cloudkms.googleapis.com/v1/projects/919698201234/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-hsm-key?keyAccessJustificationsPolicy
{
  "purpose": "ENCRYPT_DECRYPT",
  "versionTemplate": {
    "protectionLevel": "HSM",
    "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION"
  },
  "keyAccessJustificationsPolicy": {
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}

Acessar a política de justificativas de acesso às chaves de uma chave

REST

Receba metadados sobre uma chave atual no Cloud KMS usando o cryptoKeys.get :

GET https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME

Nos parâmetros da solicitação, substitua os seguintes valores do marcador pelo seu por conta própria:

  • PROJECT_ID: o ID do projeto que contém o keyring do tecla, por exemplo, 919698201234.
  • LOCATION: o local do keyring, por exemplo, us-west1.
  • KEY_RING: o nome do keyring que você especificou ao você criou o projeto de gerenciamento de chaves da pasta do Assured Workloads e um keyring, por exemplo, my-key-ring.
  • KEY_NAME: o nome da chave HSM que você quer receber. exemplo: my-hsm-key.

O exemplo de solicitação a seguir recebe metadados sobre uma chave no Cloud KMS:

GET https://cloudkms.googleapis.com/v1/projects/919698201234/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-hsm-key

O corpo da resposta contém metadados sobre sua chave, incluindo os keyAccessJustificationsPolicy Exemplo:

{
  "purpose": "ENCRYPT_DECRYPT",
  "versionTemplate": {
    "protectionLevel": "HSM",
    "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION"
  },
  "keyAccessJustificationsPolicy": {
    "allowedAccessReasons": [
      "CUSTOMER_INITIATED_ACCESS",
      "GOOGLE_INITIATED_SYSTEM_OPERATION"
    ]
  }
}