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 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 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 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 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 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 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 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 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 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 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 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 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 (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 de solicitação, substitua os seguintes valores de marcador pelo seu:

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