Configurar justificativas de acesso a chaves com o Cloud HSM

Esta página descreve como configurar Justificativas de acesso às chaves com o Cloud HSM para o pacote de controle de regiões do Japão do Assured Workloads.

Durante as etapas para criar uma nova pasta do Assured Workloads para as regiões do Japão, você tem a opção de criar um novo projeto e um keyring para suas chaves criptográficas. É possível adicionar chaves do Cloud HSM a esse keyring. Além disso, você pode configurar uma política das Justificativas de acesso às chaves para controlar o acesso a cada chave.

Antes de começar

  • A capacidade de usar Justificativas de acesso às chaves com chaves do Cloud HSM está disponível apenas para o pacote de controle de regiões do Japão no Assured Workloads.
  • Verifique se o administrador concedeu a você um dos papéis de gerenciamento de identidade e acesso (IAM) necessários para criar e gerenciar as políticas das Justificativas de acesso às chaves e as chaves do Cloud HSM.

Permissões do IAM obrigatórias

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

Esse papel predefinido contém as permissões necessárias para criar e gerenciar chaves do Cloud HSM e as políticas das 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 permissões a seguir são necessárias para criar e gerenciar chaves do Cloud HSM e as políticas das 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 Justificativas de acesso às chaves com uma chave do Cloud HSM, inclua a política de acesso à chave como um parâmetro ao criar a chave ou atualize a chave com a política depois que ela for criada.

Criar uma nova chave e política

REST

Crie uma chave e uma política usando o método 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 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 criar o projeto de gerenciamento de chaves e o keyring da pasta "Assured Workloads", por exemplo, my-key-ring.
  • KEY_NAME: o nome da chave HSM que você quer criar. Por 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 conferir uma lista de diferentes finalidades de chave, consulte Finalidades de chave, por exemplo, ENCRYPT_DECRYPT.
  • ALGORITHM: o algoritmo criptográfico a ser usado. Para conferir 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 códigos de justificativa permitidos para acessar a chave de criptografia. Por exemplo, CUSTOMER_INITIATED_ACCESS.

O exemplo de solicitação e corpo de solicitação a seguir permite apenas justificativas de acesso 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

REST

Atualize uma chave no Cloud KMS usando o método 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 o anel de chaves 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 criar o projeto de gerenciamento de chaves e o keyring da pasta "Assured Workloads", por exemplo, my-key-ring.
  • KEY_NAME: o nome da chave HSM que você quer atualizar, por 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 conferir uma lista de diferentes finalidades de chave, consulte Finalidades de chave, por exemplo, ENCRYPT_DECRYPT.
  • ALGORITHM: o algoritmo criptográfico a ser usado. Para conferir 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 códigos de justificativa permitidos para acessar a chave de criptografia. Por exemplo, CUSTOMER_INITIATED_ACCESS.

O exemplo de solicitação e corpo de solicitação a seguir permite apenas justificativas de acesso 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"
    ]
  }
}

Conferir a política de justificativas de acesso à chave

REST

Receba metadados sobre uma chave existente no Cloud KMS usando o método cryptoKeys.get:

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

Nos parâmetros de solicitação, substitua os seguintes valores de marcador pelo seu:

  • PROJECT_ID: o ID do projeto que contém o keyring da chave, por exemplo, 919698201234.
  • LOCATION: o local do keyring, por exemplo, us-west1.
  • KEY_RING: o nome do keyring que você especificou ao criar o projeto de gerenciamento de chaves e o keyring da pasta "Assured Workloads", por exemplo, my-key-ring.
  • KEY_NAME: o nome da chave HSM que você quer receber. Por 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 o keyAccessJustificationsPolicy. Exemplo:

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