Creación de una instancia

Puede crear una instancia de IBM® Key Protect for IBM Cloud® utilizando la consola de IBM Cloud o la CLI de IBM Cloud.

Visión general

En Key Protect, una instance (a veces denominada service instance) es un espacio de nombres.

Un espacio de nombres organiza las claves en grupos lógicos y proporciona aislamiento y protección entre espacios de nombres.

  • Por ejemplo, puede decidir tener dos Instancias de Key Protect - una para el departamento de finanzas y otra para fabricación. Dos instancias proporcionan aislamiento para que las claves en una unidad de negocio no sean accesibles desde otras unidades de negocio.

El término instance se utiliza a veces para describir recursos informáticos, como servidores virtualeso instancias de servidor virtual para VPC Una instancia, en Key Protect, no debe equipararse con los recursos de cálculo. A instancia de Key Protect es un espacio de nombres.

Aprovisionamiento de Key Protect Instancia estándar o dedicada desde la consola IBM Cloud

Para suministrar una instancia de Key Protect desde la consola de IBM Cloud, complete los siguientes pasos.

  1. Inicie sesión en su cuenta de IBM Cloud.

  2. Pulse Catálogo para ver la lista de servicios disponibles en IBM Cloud.

  3. Busque " Key Protect " en el campo Buscar en el catálogo... y haga clic en Key Protect.

  4. Seleccione un plan Estándar o Dedicado y haga clic en Crear para aprovisionar una instancia de Key Protect en la cuenta, región y grupo de recursos en los que haya iniciado sesión. Para obtener más información sobre precios, consulte Precios de Key Protect en IBM Cloud.

Si necesita repetir la misma configuración en varias cuentas o entornos, puede automatizarla con la curada Módulos Terraform IBM. El módulo Key Protect All-Inclusive es una opción que permite aprovisionar una instancia junto con llaves y llaveros. Para obtener una visión general, consulte Terraform IBM Modules.

Suministro de Key Protect desde la CLI de IBM Cloud

También puede suministrar una instancia de Key Protect utilizando la CLI de IBM Cloud.

Aunque los siguientes ejemplos utilizan el plan e tiered-pricing, también puede implementar recursos en regiones seleccionadas utilizando el plan e cross-region-resiliency, que ofrece soporte adicional de conmutación por error. Las regiones en las que está disponible este plan son us-south (ubicada en Dallas, Estados Unidos), jp-tok (ubicada en Tokio, Japón) y eu-de (ubicada en Fráncfort, Alemania). No puede utilizar este plan para implementarlo en otras regiones.

Inicio de sesión mediante la CLI

Inicie sesión en IBM Cloud a través de la CLI deIBM Cloud. Esta es la cuenta utilizada para esta instancia de Key Protect.

Inicio de sesión

Inicie la sesión con el mandato login. Si falla, debe probar la opción --sso para iniciar la sesión con un ID federado (consulte la sección siguiente).

Este ejemplo falla porque la dirección de correo electrónico pertenece a un ID federado.

ibmcloud login

Ejemplo

$ 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

Inicio de sesión con un ID federado

Si se inicia la sesión con la opción --sso, se abre una ventana de navegador (requiere un inicio de sesión) y se crea un código de acceso de uso único. El código de acceso se utiliza para completar el proceso de inicio de sesión.

ibmcloud login --sso

Ejemplo

$ 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:

Selección de una región y de un grupo de recursos

Seleccione la región y el grupo de recursos donde desea crear una instancia de Key Protect.

El <resource_group_name> puede ser Default (sensible a mayúsculas y minúsculas).

ibmcloud target -r <region_name> -g <resource_group_name>

Ejemplo

$ 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:

Suministro de una instancia pública

Suministre una instancia de Key Protect pública. En la siguiente sección encontrará un ejemplo de suministro de una instancia private.

  • Los puntos finales públicos están fuera de IBM Cloud.

  • Los puntos finales privados están dentro de IBM Cloud.

Una instancia pública acepta solicitudes de API desde puntos finales public and private. El acceso a la red pública es el valor predeterminado y se utiliza si no se ha establecido una política.

Una instancia privada solo acepta solicitudes de API procedentes de puntos finales private.

consulte Gestión de políticas de acceso de red para obtener más información sobre el acceso público y privado.

Nota: el GUID es el ID de la instancia. En este ejemplo, el ID de instancia es ea557753-a15b-4570-a9a3-1efefbd2d382.

ibmcloud resource service-instance-create <instance_name> kms tiered-pricing <region>

Ejemplo

# 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

Suministro de una instancia privada

Suministre una instancia de Key Protect privada.

Recuerde que una instancia privada solo acepta solicitudes de API procedentes de puntos finales privados, que están dentro de IBM Cloud. No puede utilizar la CLI con una instancia privada si está fuera de IBM Cloud.

ibmcloud resource service-instance-create <instance_name> kms tiered-pricing <region> -p '{"allowed_network": "private-only"}'

Ejemplo

Una vez creada la instancia privada, se realiza una solicitud para crear una clave. La solicitud falla porque el usuario no tiene acceso a la instancia private desde fuera de IBM Cloud.

La opción -p especifica un archivo JSON o una serie JSON de parámetros utilizados para crear la instancia de servicio.

# 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

Supresión de una instancia con claves existentes

No puede suprimir una instancia de servicio que contenga claves.

Ejemplo

$ 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

Qué hacer a continuación

Para obtener más información sobre la gestión de claves mediante programación, consulte el documento de referencia de la API Key Protect