Configurar justificativas de acesso à chave com o Cloud HSM

Esta página descreve como configurar justificativas de acesso a chaves com o Cloud HSM para o pacote de controle de regiões do Japão de cargas de trabalho garantidas.

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. 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 justificativas de acesso a chaves com chaves do Cloud HSM está disponível apenas para o pacote de controle de regiões do Japão em cargas de trabalho garantidas.
  • 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 de justificativas de acesso a chaves e as 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 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 de justificativa de acesso a 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 de justificativas de acesso a 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 justificações de acesso à chave

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 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 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 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 finalidades, 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 a 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 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 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 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, 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 a 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 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"
    ]
  }
}

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 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 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"
    ]
  }
}