Configure as Justificações de acesso às chaves com o Cloud KMS e o Cloud HSM

Esta página descreve como configurar as justificações de acesso a chaves com o Cloud KMS ou o Cloud HSM para o limite de dados do Japão do Assured Workloads.

Durante os passos para criar uma nova pasta do Assured Workloads para as regiões do Japão, tem a opção de criar um novo projeto e um anel de chaves para as suas chaves criptográficas. As chaves do Cloud KMS e as chaves do Cloud HSM podem ser adicionadas a este conjunto de chaves, e também pode configurar uma política de Key Access Justifications para controlar o acesso a cada chave.

Antes de começar

  • A capacidade de usar as Justificações de acesso às chaves com chaves do Cloud KMS e do Cloud HSM só está disponível para o limite de dados do Japão no Assured Workloads.
  • Certifique-se de que o seu administrador lhe concedeu uma das funções de gestão de identidade e de acesso (IAM) necessárias para criar e gerir as suas políticas de Key Access Justifications e as próprias chaves do Cloud KMS e do Cloud HSM.

Autorizações de IAM necessárias

Para receber as autorizações de que precisa para criar e gerir chaves do Cloud KMS e do Cloud HSM, bem como as respetivas políticas de justificação do acesso às chaves, peça ao seu administrador para lhe conceder a função da IAM administrador do Cloud KMS (roles/cloudkms.admin) no projeto que contém o conjunto de chaves. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Esta função predefinida contém as autorizações necessárias para criar e gerir chaves do Cloud KMS e do Cloud HSM, bem como as respetivas políticas de justificação do acesso às chaves. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

As seguintes autorizações são necessárias para criar e gerir chaves do Cloud KMS e do Cloud HSM, bem como as respetivas políticas de justificação de acesso às chaves:

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

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Configure uma chave com as Justificações de acesso a chaves

Para configurar as Justificações de acesso às chaves com uma chave do Cloud KMS ou do Cloud HSM, pode incluir a política de acesso às chaves como um parâmetro quando cria a chave ou pode atualizar a chave com a política depois de a chave ter sido criada.

Crie uma nova chave e política

Consola

  1. Na Google Cloud consola, aceda à página Gestão de chaves.

    Aceda à gestão de chaves

  2. Clique no nome do conjunto de chaves onde quer criar a chave.

  3. Clique em Criar chave.

  4. Em Nome da chave, introduza um nome para a chave.

  5. Nível de proteção, selecione Software ou HSM.

  6. Continue a selecionar as definições conforme necessário.

  7. Em Definições adicionais, selecione Definir política de justificação de acesso à chave e, de seguida, selecione Motivos de justificação permitidos.

  8. Para Motivos de justificação, selecione Acesso iniciado pelo cliente, Operação do sistema iniciada pela Google e quaisquer outros códigos de motivos que queira permitir. O acesso iniciado pelo cliente e o funcionamento do sistema iniciado pela Google são essenciais para o funcionamento normal.

  9. Clique em Criar.

REST

Crie uma nova chave e política através do método cryptoKeys.create:

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

No pedido, substitua os seguintes valores de marcadores de posição:

  • PROJECT_ID: o ID do projeto que contém o anel de chaves ao qual quer adicionar uma chave, por exemplo, 919698201234.
  • LOCATION: A localização do conjunto de chaves, por exemplo, asia-northeast1.
  • KEY_RING: o nome do conjunto de chaves que especificou quando criou o projeto de gestão de chaves e o conjunto de chaves da pasta Assured Workloads.
  • KEY_NAME: o nome da chave do HSM que quer criar. Por exemplo, my-hsm-key.

Corpo do pedido:

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

No corpo do pedido, substitua os seguintes valores de marcadores de posição:

  • PURPOSE: a finalidade da chave. Para ver uma lista de diferentes finalidades das chaves, consulte Finalidades das chaves, por exemplo, ENCRYPT_DECRYPT.
  • PROTECTION_LEVEL: o nível de proteção da chave, por exemplo, SOFTWARE ou HSM.
  • ALGORITHM: o algoritmo criptográfico a usar. Para uma lista dos algoritmos disponíveis, consulte os algoritmos do Cloud KMS, por exemplo, GOOGLE_SYMMETRIC_ENCRYPTION.
  • ALLOWED_ACCESS_REASONS: a política de justificações de acesso a chaves que define zero ou mais códigos de justificação permitidos para aceder à chave de encriptação, por exemplo, ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"].

O exemplo de pedido e corpo do pedido abaixo cria uma chave do Cloud HSM que só permite justificações de acesso por alguns motivos:

POST https://cloudkms.googleapis.com/v1/projects/919698201234/locations/asia-northeast1/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"
    ]
  }
}

Atualize a política de uma chave existente

Consola

  1. Na Google Cloud consola, aceda à página Gestão de chaves.

    Aceda à gestão de chaves

  2. Clique no nome do conjunto de chaves onde criou a chave.

  3. Clique no nome da chave para a qual quer atualizar a política de Justificações de acesso a chaves.

  4. Clique em Editar política de justificações de acesso a chaves.

  5. Efetue um dos seguintes passos:

    • Para desativar a política de justificação de acesso a chaves na chave, desmarque a caixa de verificação Definir política de justificação de acesso a chaves.

    • Para alterar os motivos de justificação permitidos, clique na caixa Motivos de justificação e selecione ou desmarque os códigos de motivos conforme necessário. O acesso iniciado pelo cliente e a operação do sistema iniciada pela Google são essenciais para o funcionamento normal.

    • Para recusar todos os códigos de motivo, selecione Recusar todos os códigos de motivo (não recomendado). Isto impede a utilização da chave, mesmo que a chave esteja ativada e o requerente tenha as autorizações necessárias.

  6. Clique em Guardar.

REST

Atualize uma chave existente no Cloud KMS através do método cryptoKeys.patch:

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

No pedido, substitua os seguintes valores de marcadores de posição:

  • PROJECT_ID: o ID do projeto que contém o conjunto de chaves para a chave, por exemplo, 919698201234.
  • LOCATION: A localização do conjunto de chaves, por exemplo, asia-northeast1.
  • KEY_RING: o nome do conjunto de chaves que especificou quando criou o projeto de gestão de chaves e o conjunto de chaves da pasta Assured Workloads.
  • KEY_NAME: o nome da chave que quer atualizar.

Corpo do pedido:

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

No corpo do pedido, substitua os seguintes valores de marcadores de posição:

  • PURPOSE: a finalidade da chave. Para ver uma lista de diferentes finalidades das chaves, consulte Finalidades das chaves, por exemplo, ENCRYPT_DECRYPT.
  • PROTECTION_LEVEL: o nível de proteção da chave, por exemplo, SOFTWARE ou HSM.
  • ALGORITHM: o algoritmo criptográfico a usar. Para uma lista dos algoritmos disponíveis, consulte os algoritmos do Cloud KMS, por exemplo, GOOGLE_SYMMETRIC_ENCRYPTION.
  • ALLOWED_ACCESS_REASONS: a política de justificações de acesso a chaves que define zero ou mais códigos de justificação permitidos para aceder à chave de encriptação, por exemplo, ["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"].

O exemplo de pedido e corpo do pedido seguinte só permite justificações de acesso por alguns motivos:

PATCH https://cloudkms.googleapis.com/v1/projects/919698201234/locations/asia-northeast1/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"
    ]
  }
}

Obtenha a política de justificações de acesso a chaves para uma chave

REST

Obtenha metadados sobre uma chave existente no Cloud KMS através do método cryptoKeys.get:

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

Nos parâmetros do pedido, substitua os seguintes valores de marcadores de posição pelos seus próprios valores:

  • PROJECT_ID: O ID do projeto que contém o conjunto de chaves para a chave, por exemplo, 919698201234.
  • LOCATION: A localização do conjunto de chaves, por exemplo, asia-northeast1.
  • KEY_RING: o nome do conjunto de chaves que especificou quando criou o projeto de gestão de chaves e o conjunto de chaves da pasta Assured Workloads, por exemplo, my-key-ring.
  • KEY_NAME: o nome da chave que quer obter.

O pedido de exemplo seguinte recebe metadados sobre uma chave no Cloud KMS:

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

O corpo da resposta contém metadados sobre a sua chave, incluindo o keyAccessJustificationsPolicy. Por exemplo:

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

O que se segue?