Criando uma Instância
É possível criar uma instância de IBM® Key Protect for IBM Cloud® usando o console do IBM Cloud ou a CLI do IBM Cloud.
Visão geral
No Key Protect, uma instance (às vezes referida como uma service instance) é um namespace.
Um namespace organiza chaves em grupos lógicos e fornece isolamento e proteção entre namespaces.
- Por exemplo, é possível optar por definir duas instâncias do Key Protect - uma para o departamento financeiro e uma para manufatura. As duas instâncias fornecem isolamento para que as chaves em uma unidade de negócios não sejam acessíveis por meio de outras unidades de negócios.
O termo instance às vezes é usado para descrever recursos de computação, como servidores virtuaisou instâncias de servidor virtual para VPC Uma instância no Key Protect não deve ser equiparada com recursos de cálculo. A instância do Key Protect é um namespace.
Provisionamento da instância Key Protect Standard ou Dedicated no console IBM Cloud
Para provisionar uma instância do Key Protect por meio do console do IBM Cloud, conclua as etapas a seguir.
-
Clique em Catálogo para visualizar a lista de serviços que estão disponíveis no IBM Cloud.
-
Procure por " Key Protect " no campo Search the catalog... (Pesquisar no catálogo) e clique em
Key Protect. -
Selecione um plano Standard ou Dedicated e clique em Create para provisionar uma instância do Key Protect na conta, na região e no grupo de recursos em que você está conectado. Para obter mais informações sobre preços, consulte a seção Preços para Key Protect em IBM Cloud.
Se você precisar repetir a mesma configuração entre contas ou ambientes, poderá automatizá-la com o curador Terraform IBM Módulos. O módulo Key Protect All-Inclusive é uma opção que pode fornecer uma instância juntamente com chaves e chaveiros. Para obter uma visão geral, consulte Terraform IBM Modules.
Provisionando o Key Protect por meio da CLI da IBM Cloud
Também é possível provisionar uma instância do Key Protect usando a CLI do IBM Cloud.
Embora os exemplos a seguir usem o plano tiered-pricing, você também pode implementar recursos em regiões selecionadas usando o plano cross-region-resiliency,
que oferece suporte adicional a failover. As regiões em que esse plano está disponível são us-south (localizada em Dallas, Estados Unidos), jp-tok (localizada em Tóquio, Japão) e eu-de (localizada em
Frankfurt, Alemanha). Você não pode usar esse plano para implantar em outras regiões.
Efetuar login usando a CLI
Efetue login no IBM Cloud por meio da IBM Cloud CLI. Esta é a conta usada para esta instância do Key Protect.
Login
Efetue login com o comando login. Se isso falhar, será necessário testar a opção --sso para efetuar login com um ID federado (consulte a próxima seção).
Este exemplo falha porque o endereço de e-mail pertence a um ID federado.
ibmcloud login
Exemplo
$ ibmcloud login
API endpoint: https://cloud.ibm.com
Region: us-south
Email> <email address>
Password>
Authenticating...
You are using a federated user ID, please use one time passcode ( ibmcloud login --sso ), or use API key ( ibmcloud --apikey key or @key_file ) to authenticate.
API endpoint: https://cloud.ibm.com
Region: us-south
Not logged in.
FAILED
Efetuar login com um ID federado
Efetuar login com a opção --sso abre uma janela do navegador (requer um login) e cria uma senha descartável. A senha é usada para concluir o processo de login.
ibmcloud login --sso
Exemplo
$ ibmcloud login --sso
API endpoint: https://cloud.ibm.com
Region: us-south
Get One Time Code from https://identity-2.us-south.iam.cloud.ibm.com/identity/passcode to proceed.
Open the URL in the default browser? [Y/n] > Y
One Time Code > <paste the one-time passcode from your browser>
Authenticating...
OK
Select an account:
1. Account name (ea988d3289c24739a0977651b46fb145)
Enter a number> 1
Targeted account Account name (ea988d3289c24739a0977651b46fb145)
API endpoint: https://cloud.ibm.com
Region: us-south
User: <email address>
Account: Account name (ea988d3289c24739a0977651b46fb145)
Resource group: No resource group targeted, use 'ibmcloud target -g RESOURCE_GROUP'
CF API endpoint:
Org:
Space:
Selecionar uma região e um grupo de recursos
Selecione a região e o grupo de recursos no qual deseja criar uma instância do Key Protect.
A <resource_group_name> pode ser Default (com distinção entre maiúsculas e minúsculas).
ibmcloud target -r <region_name> -g <resource_group_name>
Exemplo
$ ibmcloud target -r us-south -g Default
Targeted resource group Default
Switched to region us-south
API endpoint: https://cloud.ibm.com
Region: us-south
User: <email address>
Account: Account name (ea988d3289c24739a0977651b46fb145)
Resource group: Default
CF API endpoint:
Org:
Space:
Provisionar uma instância pública
Provisione uma instância pública do Key Protect. A próxima seção tem um exemplo de fornecimento de uma instância private.
-
Os terminais públicos estão fora da IBM Cloud.
-
Os terminais privados estão dentro da IBM Cloud.
Uma instância pública aceita solicitações de API de ambos os terminais, public and private. O acesso à rede pública é a configuração padrão a ser usada se uma política não for configurada.
Uma instância privada aceita solicitações de API somente de terminais private.
Consulte Gerenciando políticas de acesso à rede para aprender mais sobre o acesso público e privado.
Nota: o GUID é o ID da instância. Neste exemplo, o ID da instância é
ea557753-a15b-4570-a9a3-1efefbd2d382.
ibmcloud resource service-instance-create <instance_name> kms tiered-pricing <region>
Exemplo
# create a public service instance
$ ibmcloud resource service-instance-create <instance_name> kms tiered-pricing us-south
Creating service instance <instance_name> in resource group Default of account <account name> as <email address>...
OK
Service instance <instance_name> was created.
Name: <instance_name>
ID: crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:ea557753-a15b-4570-a9a3-1efefbd2d382::
GUID: ea557753-a15b-4570-a9a3-1efefbd2d382
Location: us-south
State: active
Type: service_instance
Sub Type: kms
Allow Cleanup: false
Locked: false
Created at: 2020-05-31T15:04:50Z
Updated at: 2020-05-31T15:04:50Z
Last Operation:
Status create succeeded
Message Completed create instance operation
# list the service instances
$ ibmcloud resource service-instances
Retrieving instances with type service_instance in resource group Default in all locations under account <account name> as <email address>...
OK
Name Location State Type
<instance_name> us-south active service_instance
# delete the public service instance
$ ibmcloud resource service-instance-delete <instance_name>
Deleting service instance <instance_name> in resource group Default under account <account name> as <email address>...
Really delete the service instance <instance_name> with ID crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:ea557753-a15b-4570-a9a3-1efefbd2d382::? [y/N] > y
OK
Service instance <instance_name> with ID crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:ea557753-a15b-4570-a9a3-1efefbd2d382:: is deleted successfully
Provisionar uma instância privada
Provisione uma instância privada do Key Protect.
Lembre-se de que uma instância privada aceita solicitações de API somente de terminais privados, que estão dentro da IBM Cloud. Não é possível usar a CLI com uma instância privada caso se esteja fora do IBM Cloud.
ibmcloud resource service-instance-create <instance_name> kms tiered-pricing <region> -p '{"allowed_network": "private-only"}'
Exemplo
Após a criação de uma instância privada, é feita uma solicitação para criar uma chave. A solicitação falha porque o usuário não tem acesso à instância private de fora da IBM Cloud.
A opção -p especifica um arquivo JSON ou uma sequência JSON de parâmetros usados para criar a instância de serviço.
# create a private service instance
$ ibmcloud resource service-instance-create <service-name> kms tiered-pricing us-south -p '{"allowed_network": "private-only"}'
Creating service instance <service-name> in resource group Default of account <account name> as <email address>...
OK
Service instance <service-name> was created.
Name: <service-name>
ID: crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:a152eee4-262e-4a39-ae13-a71b9882dcb6::
GUID: a152eee4-262e-4a39-ae13-a71b9882dcb6
Location: us-south
State: active
Type: service_instance
Sub Type: kms
Allow Cleanup: false
Locked: false
Created at: 2020-05-31T15:10:23Z
Updated at: 2020-05-31T15:10:23Z
Last Operation:
Status create succeeded
Message Completed create instance operation
# list the service instances
$ ibmcloud resource service-instances
Retrieving instances with type service_instance in resource group Default in all locations under account <account name> as <email address>...
OK
Name Location State Type
<service-name> us-south active service_instance
# list the private service instance
$ ibmcloud resource service-instance <service-name>
Retrieving service instance <service-name> in resource group Default under account <account name> as <email address>...
OK
Name: <service-name>
ID: crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:a152eee4-262e-4a39-ae13-a71b9882dcb6::
GUID: a152eee4-262e-4a39-ae13-a71b9882dcb6
Location: us-south
Service Name: kms
Service Plan Name: tiered-pricing
Resource Group Name: Default
State: active
Type: service_instance
Sub Type: kms
Created at: 2020-05-31T15:10:23Z
Created by: <email address>
Updated at: 2020-05-31T15:10:23Z
Last Operation:
Status create succeeded
Message Completed create instance operation
# list keys in the private service instance
$ ibmcloud kp keys -i a152eee4-262e-4a39-ae13-a71b9882dcb6
Retrieving keys...
FAILED
kp.Error: correlation_id='59578794-2b5b-48ca-9074-bbe23760d94a', msg='Unauthorized: The user does not have access to the specified resource'
# delete the private service instance
$ ibmcloud resource service-instance-delete <service-name>
Deleting service instance <service-name> in resource group Default under account <account name> as <email address>...
Really delete the service instance <service-name> with ID crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:a152eee4-262e-4a39-ae13-a71b9882dcb6::? [y/N] > y
OK
Service instance <service-name> with ID crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:a152eee4-262e-4a39-ae13-a71b9882dcb6:: is deleted successfully
Excluindo uma instância com as chaves existentes
Não é possível excluir uma instância de serviço que contém chaves.
Exemplo
$ ibmcloud resource service-instance-delete <instance_name>
Deleting service instance <instance_name> in resource group Default under account <account name> as <email address>...
Really delete the service instance <instance_name> with ID crn:v1:bluemix:public:kms:us-south:a/ea988d3289c24739a0977651b46fb145:a152eee4-262e-4a39-ae13-a71b9882dcb6::? [y/N] > y
FAILED
Error Code: RC-ServiceBrokerErrorResponse
Message: [409, Conflict] Conflict: Instance contains 2 active keys. Remove all keys before de-provisioning
O que vem a seguir
Para saber mais sobre como gerenciar suas chaves de forma programática,consulte o documento de referência da API Key Protect