Visualizando associações entre chaves raiz e recursos criptografados do IBM Cloud

Para visualizar as associações entre as chaves raiz e outros recursos de nuvem, como os depósitos de Cloud Object Storage ou as implementações de Cloud Databases, é possível usar a API do IBM Key Protect.

Ao usar uma chave raiz para proteger dados em repouso com a criptografia de envelope, os serviços de nuvem que usam a chave podem criar um registro entre a chave e o recurso que ela protege.

Registros são associações entre as chaves e os recursos de nuvem e que oferecem uma visão completa dos dados protegidos por cada uma das chaves de criptografia no IBM Cloud.

Descreve os benefícios do registro de chaves.
Benefício Descrição
Visualização centralizada de recursos protegidos Como um administrador para a sua instância do Key Protect, você deseja entender rapidamente quais recursos em nuvem são protegidos por uma chave raiz.
Segurança e conformidade Como um administrador de segurança, você precisa de uma maneira para determinar o risco que está envolvido com a destruição de uma chave raiz.
Você deseja examinar quais chaves estão protegendo ativamente quais dados para que possa avaliar as exposições com base nas necessidades de segurança ou de conformidade de sua organização.

O registro de chaves é um recurso adicional disponível apenas se o serviço em nuvem tiver ativado esse recurso como parte de sua integração com Key Protect. Para determinar se um serviço integrado suporta o registro de chave, consulte a sua documentação de serviço para obter mais informações.

Visualizando recursos protegidos no console

Para procurar os registros que estão disponíveis entre as chaves do Key Protect e os recursos de nuvem, é possível utilizar o console do IBM Cloud do Key Protect.

Visualizando os recursos protegidos em sua instância

  1. Efetue login no console do IBM Cloud.

  2. Acesse Menu > Lista de recursos para visualizar uma lista de seus recursos.

  3. Em sua lista de recursos do IBM Cloud, selecione a sua instância provisionada do Key Protect.

  4. Selecione o link Associated resources no menu lateral esquerdo.

  5. Na página Recursos associados, use a tabela Recursos associados para procurar os registros em seu serviço.

  6. Clique no ícone ^ na coluna Details para visualizar uma lista de detalhes para um registro específico.

  7. Clique no botão Filter para filtrar os recursos por ID de chave, nome de recurso em nuvem (CRN) e política de retenção.

Visualizando os recursos protegidos associados à sua chave

  1. Efetue login no console do IBM Cloud.

  2. Acesse Menu > Lista de recursos para visualizar uma lista de seus recursos.

  3. Em sua lista de recursos do IBM Cloud, selecione a sua instância provisionada do Key Protect.

  4. Na página de detalhes do aplicativo, use a tabela de Chaves para procurar as chaves em seu serviço.

  5. Clique no ícone ⋯ para abrir uma lista de opções para a chave.

  6. No menu de opções, clique em Recursos associados à chave para visualizar os registros associados à chave.

Visualizando os recursos protegidos com a API

Para procurar os registros que estão disponíveis entre as chaves do Key Protect e os recursos de nuvem, é possível utilizar a API do Key Protect.

Por exemplo, ao chamar GET api/v2/keys/{id}/registrations, o Key Protect retorna detalhes sobre o registro de chaves. A saída JSON a seguir representa um registro entre uma chave e um recurso em nuvem.

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.registration+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "keyId": "02fd6835-6001-4482-a892-13bd2085f75d",
            "resourceCrn": "crn:v1:bluemix:public:<service-name>:<region>:a/<account-id>:<service-instance>:bucket:<bucket-name>",
            "createdBy": "IBMid-25555555",
            "creationDate": "2010-01-12T05:23:19+0000",
            "updatedBy": "IBMid-25555555",
            "lastUpdated": "2010-01-12T05:23:19+0000",
            "description": "A description of the registration",
            "preventKeyDeletion": true,
            "keyVersion": {
                "id": "02fd6835-6001-4482-a892-13bd2085f75d",
                "creationDate": "2010-01-12T05:23:19+0000"
            }
        }
    ]
}

A tabela a seguir descreve as propriedades de um registro.

Propriedades que estão associadas a um registro.
Parâmetro Descrição
keyID O ID que identifica a chave raiz que está associada ao recurso em nuvem.
resourceCrn O Cloud Resource Name (CRN) que representa o recurso em nuvem, como um depósito do Cloud Object Storage, que está associado à chave.
createdBy O identificador exclusivo do recurso que criou o registro.
creationDate A data em que o registro foi criado.
lastUpdated A data na qual o registro foi atualizado.
descrição Uma descrição para o registro.
preventKeyDeletion Um booleano que determina se o Key Protect deve evitar a exclusão da chave raiz. Se true, o recurso associado é não apagável devido a uma política de retenção e a chave do Key Protect que está criptografando o recurso não pode ser excluída.
keyVersion A versão da chave raiz que está protegendo o recurso em nuvem.

Listando registros para uma chave raiz específica

É possível recuperar os detalhes de registro que estão associados a uma chave raiz específica fazendo uma chamada GET para o terminal a seguir.

https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/registrations
  1. Recupere as suas credenciais de autenticação para trabalhar com a API.

  2. Visualize os registros que estão associados a uma chave raiz, executando o comando curl a seguir.

    $ curl -X GET \
        "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/registrations" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>"
    

    Substitua as variáveis na solicitação de exemplo de acordo com a tabela a seguir.

Descreve as variáveis que são necessárias para listar todos os registros que estão associados a uma chave raiz.
Variável Descrição
região Obrigatório. A abreviação da região, como us-south ou eu-gb, que representa a área geográfica onde sua instância do Key Protect está localizada.

Para obter mais informações, consulte “Pontos de conexão de serviço regionais ”.
keyID_or_alias Obrigatório. O identificador ou apelido da chave raiz associada aos recursos em nuvem que você deseja visualizar.

Para obter mais informações, consulte Visualizar chaves.
IAM_token Obrigatório. Seu token de acesso do IBM Cloud. Inclua o conteúdo completo do token do IAM, incluindo o valor Bearer, na solicitação curl.

Para obter mais informações, consulte “Como recuperar um token de acesso ”.
instance_ID Obrigatório. O identificador exclusivo que é designado para sua instância de serviço Key Protect.

Para obter mais informações, consulte “Como recuperar um ID de instância ”.

Quando bem-sucedida, a solicitação GET api/v2/keys/<keyID_or_alias>/registrations retorna uma coleção dos registros que estão mapeados para o ID de chave especificado.

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.registration+json",
        "collectionTotal": 2
    },
    "resources": [
        {
            "keyId": "12e8c9c2-a162-472d-b7d6-8b9a86b815a6",
            "resourceCrn": "crn:v1:bluemix:public:cloud-object-storage:global:a/<account-id>:<service-instance>:bucket:<bucket-name>",
            "createdBy": "IBMid-25555555",
            "creationDate": "2010-01-12T05:23:19+0000",
            "updatedBy": "IBMid-25555555",
            "lastUpdated": "2010-01-12T05:23:19+0000",
            "description": "A description of the registration",
            "preventKeyDeletion": true,
            "keyVersion": {
                "id": "12e8c9c2-a162-472d-b7d6-8b9a86b815a6",
                "creationDate": "2010-01-12T05:23:19+0000"
            }
        },
        {
            "keyId": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
            "resourceCrn": "crn:v1:bluemix:public:cloud-object-storage:global:a/<account-id>:<service-instance>:bucket:<other-bucket-name>",
            "createdBy": "IBMid-25555555",
            "creationDate": "2010-01-12T05:23:19+0000",
            "updatedBy": "IBMid-25555555",
            "lastUpdated": "2010-01-12T05:23:19+0000",
            "description": "A description of the registration",
            "preventKeyDeletion": true,
            "keyVersion": {
                "id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
                "creationDate": "2010-01-12T05:23:19+0000"
            }
        }
    ]
}

O valor resourceCrn representa o identificador exclusivo do recurso em nuvem que é criptografado por keyId. Os metadados que estão associados ao registro, como a sua data de criação, também são retornados no corpo de resposta.

Por padrão, GET api/v2/keys/registrations retorna os primeiros 200 registros, mas é possível ajustar esse limite usando o parâmetro limit no momento da consulta.

Filtrar registros para uma chave raiz específica

É possível filtrar um conjunto de registros associados a uma chave raiz especificando o parâmetro “ preventKeyDeletion ” e urlEncodedResourceCRNQuery parâmetros no momento da consulta

Por exemplo, pode haver um total de 25 registros armazenados na instância do Key Protect, mas talvez queira recuperar apenas os registros que possuem uma política de retenção associada a um Nome de recurso de nuvem específico (CRN).

É possível usar a solicitação de exemplo a seguir para recuperar um conjunto filtrado de registros.

$ curl -X GET \
    "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/registrations?preventKeyDeletion=<true|false>&urlEncodedResourceCRNQuery=<url_encoded_CRN>" \
    -H "accept: application/vnd.ibm.collection+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

Substitua as variáveis preventKeyDeletion e urlEncodedResourceCRNQuery em sua solicitação de acordo com a tabela a seguir.

Descreve as variáveis preventKeyDeletion e urlEncodedResourceCRNQuery.
Variável Descrição
preventKeyDeletion Um booleano que filtra registros com base em se um recurso registrado tem uma política de retenção.

Por exemplo, se você tiver vários registros em sua instância e quiser listar apenas aqueles em que preventKeyDeletion é true, use ` `../registrations?preventKeyDeletion=true.

Também é possível emparelhar preventKeyDeletion com offest, limit e urlEncodedResourceCRNQuery para pesquisar seus recursos disponíveis.
urlEncodedResourceCRNQuery O CRN de recurso pelo qual você deseja filtrar os registros.

Por exemplo, se você tiver várias inscrições em sua instância e quiser visualizar apenas as inscrições associadas a um nome de recurso em nuvem (CRN) específico, use ../registrations?urlEncodedResourceCRNQuery="url_encoded_CRN".

Para obter mais informações, consulte os exemplos de consultas CRN.

Também é possível emparelhar urlEncodedResourceCRNQuery com offest, limit e preventKeyDeletion para pesquisar seus recursos disponíveis.

Também é possível filtrar um subconjunto de registros especificando o limit e offset no momento da consulta.

É possível usar a solicitação de exemplo a seguir para recuperar um conjunto filtrado de registros.

$ curl -X GET \
    "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/registrations?offset=<offset>&limit=<limit>" \
    -H "accept: application/vnd.ibm.collection+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

Substitua as variáveis limit e offset em sua solicitação de acordo com a tabela a seguir.

Descreve as variáveis de limite e deslocamento.
Variável Descrição
compensação O número de registros a ignorar.

Por exemplo, se você tiver 50 registros em sua instância e quiser listar os registros de 26 a 50, use ../registrations?offset=25.

Também é possível emparelhar offset com limit para percorrer seus recursos disponíveis.
limite O número de registros a recuperar.

Por exemplo, se você tiver 100 registros em sua instância e quiser listar apenas 10 deles, use ../registrations?limit=10. O valor máximo para limit é 5000.

Também é possível emparelhar offset com limit para percorrer seus recursos disponíveis.

Listando registros para qualquer chave raiz

Também é possível recuperar uma lista de registros que estão associados a qualquer recurso em nuvem fazendo uma chamada GET para o terminal a seguir.

https://<region>.kms.cloud.ibm.com/api/v2/keys/registrations
  1. Recupere as suas credenciais de autenticação para trabalhar com a API.

  2. Visualize os registros que correspondem a uma consulta de CRN especificada executando o comando curl a seguir.

    $ curl -X GET \
        "https://<region>.kms.cloud.ibm.com/api/v2/keys/registrations" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>"
    

    Substitua as variáveis na solicitação de exemplo de acordo com a tabela a seguir.

Descreve as variáveis necessárias para listar os registros de qualquer chave na sua instância do Key Protect.
Variável Descrição
região Obrigatório. A abreviação da região, como us-south ou eu-gb, que representa a área geográfica onde sua instância do Key Protect está localizada.

Para obter mais informações, consulte “Pontos de conexão de serviço regionais ”.
IAM_token Obrigatório. Seu token de acesso do IBM Cloud. Inclua o conteúdo completo do token do IAM, incluindo o valor Bearer, na solicitação curl.

Para obter mais informações, consulte “Como recuperar um token de acesso ”.
instance_ID Obrigatório. O identificador exclusivo que é designado para sua instância de serviço Key Protect.

Para obter mais informações, consulte “Como recuperar um ID de instância ”.

Filtrar registros para qualquer chave raiz

Para filtrar um conjunto de registros associados a qualquer chave raiz gerenciada contida na instância fornecida do Key Protect especificando o preventKeyDeletion e urlEncodedResourceCRNQuery parâmetros no momento da consulta

Por exemplo, pode haver um total de 25 registros armazenados na instância do Key Protect, mas você deseja recuperar apenas os registros que possuem uma política de retenção associada a um Nome de recurso de nuvem (CRN) específico.

É possível usar a solicitação de exemplo a seguir para recuperar um conjunto específico de registros.

$ curl -X GET \
    "https://<region>.kms.cloud.ibm.com/api/v2/keys/registrations?preventKeyDeletion=<true|false>&urlEncodedResourceCRNQuery=<url_encoded_CRN>" \
    -H "accept: application/vnd.ibm.collection+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

Substitua as variáveis preventKeyDeletion e urlEncodedResourceCRNQuery em sua solicitação de acordo com a tabela a seguir.

Descreve as variáveis preventKeyDeletion e urlEncodedResourceCRNQuery.
Variável Descrição
preventKeyDeletion Um booleano que filtra registros com base em se um recurso registrado tem uma política de retenção.

Por exemplo, se você tiver vários registros em sua instância e quiser listar apenas aqueles em que preventKeyDeletion é true, use ` `../registrations?preventKeyDeletion=true.

Também é possível emparelhar preventKeyDeletion com offest, limit e urlEncodedResourceCRNQuery para pesquisar seus recursos disponíveis.
urlEncodedResourceCRNQuery O CRN de recurso pelo qual você deseja filtrar os registros.

Por exemplo, se você tiver várias inscrições em sua instância e quiser visualizar apenas as inscrições associadas a um nome de recurso em nuvem (CRN) específico, use ../registrations?urlEncodedResourceCRNQuery="url_encoded_CRN".

Para obter mais informações, consulte os exemplos de consultas CRN.

Também é possível emparelhar urlEncodedResourceCRNQuery com offest, limit e preventKeyDeletion para pesquisar seus recursos disponíveis.

Também é possível filtrar um subconjunto de registros especificando o limit e offset no momento da consulta.

É possível usar a solicitação de exemplo a seguir para recuperar um conjunto diferente de registros.

$ curl -X GET \
    "https://<region>.kms.cloud.ibm.com/api/v2/keys/registrations?offset=<offset>&limit=<limit>" \
    -H "accept: application/vnd.ibm.collection+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

Substitua as variáveis limit e offset em sua solicitação de acordo com a tabela a seguir.

Descreve as variáveis de limite e deslocamento.
Variável Descrição
compensação O número de registros a ignorar.

Por exemplo, se você tiver 50 registros em sua instância e quiser listar os registros de 26 a 50, use ../registrations?offset=25.

Também é possível emparelhar offset com limit para percorrer seus recursos disponíveis.
limite O número de registros a recuperar.

Por exemplo, se você tiver 100 registros em sua instância e quiser listar apenas 10 deles, use ../registrations?limit=10. O valor máximo para limit é 5000.

Também é possível emparelhar offset com limit para percorrer seus recursos disponíveis.

Exemplos de consulta de CRN

Use consultas de CRN codificadas por URL para filtrar os recursos por instância do Key Protect, tipo de recurso ou nome de recurso. Para saber mais sobre os segmentos e o formato do CRN, consulte Nomes de recursos na nuvem.

Os Serviços de nuvem que usam o Key Protect para fazer a associação entre chaves e recursos em nome do usuário, podem visualizar ou consultar apenas utilizando CRNs que correspondam aos primeiros oito segmentos do CRN de serviço.

  • Para procurar a existência de um registro até um segmento de CRN específico, use dois-pontos seguidos por um asterisco (*).

    crn:v1:bluemix:public:databases-for-redis:us-south:a/
    274074dce64e9c423ffc238516c755e1:29caf0e7-120f-4da8-9551-3abf57ebcfc7:*:*
    

    Esta consulta retorna os registros de Bancos de dados do Redis que estão associados a todos os tipos e nomes de recursos para o ID de implementação_29caf0e7-120f-4da8-9551-3abf57ebcfc7_.

  • Para procurar um registro até um determinado segmento de CRN prefixado por <string>, use um caractere de dois pontos, seguido por <string>* no último segmento da consulta de CRN.

    crn:v1:bluemix:public:cloud-object-storage:global:a/e1bb63d6a20dc57c87501ac4c4c99dcb:*:bucket:prod*
    

    Esta consulta retorna todos os registros de depósitos de Cloud Object Storage dentro de uma conta e1bb63d6a20dc57c87501ac4c4c99dcb que são prefixados por prod.

Ao listar registros associados a qualquer chave raiz, sua consulta CRN não deve conter um asterisco (*) nos oito primeiros segmentos.

As tabelas a seguir fornecem uma lista de exemplos de consulta de CRN antes e após a codificação de URL. Para visualizar os valores codificados por URL, clique na guia Codificado por URL.

Exemplos de consulta de CRN.
Valor
crn:v1:bluemix:public:databases-for-redis:us-south:a/274074dce64e9c423ffc238516c755e1:29caf0e7-120f-4da8-9551-3abf57ebcfc7:*:*
crn:v1:bluemix:public:cloud-object-storage:global:a/e1bb63d6a20dc57c87501ac4c4c99dcb:*:bucket:prod*
crn:v1:bluemix:public:cloudantnosqldb:us-south:a/f586c28d154d4c65a4a4a34cf75f55d0:94255ea3-af1c-41b7-9805-61f775e20702:*:prod*.
Exemplos de consulta de CRN.
Valor
crn%3Av1%3Abluemix%3Apublic%3Adatabases-for-redis%3Aus-south%3Aa%2F274074dce64e9c423ffc238516c755e1%3A29caf0e7-120f-4da8-9551-3abf57ebcfc7%3A*%3A*
crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2Fe1bb63d6a20dc57c87501ac4c4c99dcb%3A*%3Abucket%3Aprod*
crn%3Av1%3Abluemix%3Apublic%3Acloudantnosqldb%3Aus-south%3Aa%2Ff586c28d154d4c65a4a4a34cf75f55d0%3A94255ea3-af1c-41b7-9805-61f775e20702%3A%2A%3Aprod%2A

O que vem a seguir

Para saber mais sobre como visualizar registros, consulte a documentação de referência da API do Key Protect.