Configurar justificativas de acesso à chave com o Cloud HSM

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

Durante as etapas para criar uma pasta do Assured Workloads para as regiões do Japão, você pode criar um novo projeto e um keyring para suas chaves criptográficas. As chaves do Cloud HSM podem ser adicionadas a esse keyring, e você também pode configurar uma política de 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 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) necessários para criar e gerenciar as políticas das Justificativas de acesso às chaves e as próprias 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 seguintes permissões 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 as 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: a localização do keyring, por exemplo, us-west1.
  • KEY_RING: o nome do keyring especificado ao criar o projeto de gerenciamento de chaves e o keyring da pasta do Assured Workloads. Por exemplo, my-key-ring.
  • KEY_NAME: o nome da chave do 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 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", "GOOGLE_INITIATED_SYSTEM_OPERATION"].

O exemplo de solicitação e corpo de solicitação a seguir permite 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 atual 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 keyring da chave. Por exemplo, 919698201234.
  • LOCATION: a localização do keyring, por exemplo, us-west1.
  • KEY_RING: o nome do keyring especificado ao criar o projeto de gerenciamento de chaves e o keyring da pasta do Assured Workloads. Por exemplo, my-key-ring.
  • KEY_NAME: o nome da chave do 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 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", "GOOGLE_INITIATED_SYSTEM_OPERATION"].

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

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

REST

Receba metadados sobre uma chave atual 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 de marcador pelos seus:

  • PROJECT_ID: o ID do projeto que contém o keyring da chave, por exemplo, 919698201234.
  • LOCATION: a localização do keyring, por exemplo, us-west1.
  • KEY_RING: o nome do keyring especificado ao criar o projeto de gerenciamento de chaves e o keyring da pasta do Assured Workloads. Por exemplo, my-key-ring.
  • KEY_NAME: o nome da chave do HSM que você quer receber. Por exemplo, my-hsm-key.

A solicitação de exemplo 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"
    ]
  }
}

A seguir