Création d'une instance

Vous pouvez créer une instance de IBM® Key Protect for IBM Cloud® à l'aide de la console IBM Cloud ou de l'interface de ligne de commande d'IBM Cloud.

Présentation

Dans Key Protect, une instance (parfois appelée service instance) est un espace de nom.

Un espace de nom organise des clés en groupes logiques et fournit isolement et protection entre les espaces de nom.

  • Par exemple, vous pouvez choisir d'avoir deux instances Key Protect : une pour le service financier et une pour la fabrication. Deux instances fournissent l'isolement de sorte que les clés d'une unité commerciale ne soient pas accessibles à partir des autres unités commerciales.

Le terme instance est parfois utilisé pour décrire des ressources informatiques, telles que des serveurs virtuelsou des instances de serveurs virtuels pour VPC Une instance, dans Key Protect, ne doit pas être appariée à des ressources de calcul. A L'instance Key Protect est un espace de nom.

Provisionnement de l'instance Key Protect Standard ou Dedicated à partir de la console IBM Cloud

Pour mettre à disposition une instance de Key Protect à partir de la console IBM Cloud, procédez comme suit :

  1. Connectez-vous à votre compte IBM Cloud.

  2. Cliquez sur Catalogue pour afficher la liste des services disponibles sur IBM Cloud.

  3. Recherchez " Key Protect " dans le champ Rechercher dans le catalogue... et cliquez sur Key Protect.

  4. Sélectionnez un plan Standard ou Dédié, et cliquez sur Créer pour provisionner une instance de Key Protect dans le compte, la région et le groupe de ressources où vous êtes connecté. Pour plus d'informations sur les tarifs, consultez la rubrique Tarifs d' Key Protect, sur IBM Cloud.

Si vous avez besoin de répéter la même configuration sur plusieurs comptes ou environnements, vous pouvez l'automatiser avec les modules Terraform IBM. Le module Key Protect All-Inclusive est une option qui permet d'approvisionner une instance avec des clés et des porte-clés. Pour une vue d'ensemble, voir Terraform IBM Modules.

Mise à disposition de Key Protect à partir de l'interface de ligne de commande IBM Cloud

Vous pouvez également mettre à disposition une instance de Key Protect à l'aide de l'interface de ligne de commande d'IBM Cloud.

Bien que les exemples suivants utilisent le plan d' tiered-pricing, vous pouvez également déployer des ressources dans des régions sélectionnées en utilisant le plan d' cross-region-resiliency, qui offre une prise en charge supplémentaire du basculement. Les régions où ce plan est disponible sont l' us-south, située à Dallas, aux États-Unis, l' jp-tok, située à Tokyo, au Japon, et l' eu-de, située à Francfort, en Allemagne. Vous ne pouvez pas utiliser ce plan pour le déployer dans d'autres régions.

Connexion à l'aide de l'interface de ligne de commande

Connectez-vous à IBM Cloud via Interface de ligne de commandeIBM Cloud. Il s'agit du compte utilisé pour cette instance de Key Protect.

Connexion

Connectez-vous à l'aide de la commande login. Si cette action échoue, utilisez l'option --sso pour vous connecter avec un ID fédéré (voir la section suivante).

Cet exemple échoue car l'adresse électronique appartient à un ID fédéré.

ibmcloud login

Exemple

$ 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

Connexion avec un ID fédéré

Lors de la connexion avec l'option --sso, une fenêtre de navigateur s'ouvre (dans laquelle vous devez spécifier des identifiants de connexion) et crée un code d'accès à usage unique. Le mot de passe est utilisé pour achever le processus de connexion.

ibmcloud login --sso

Exemple

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

Sélection d'une région et d'un groupe de ressources

Sélectionnez la région et le groupe de ressources dans lequel vous souhaitez créer une instance Key Protect.

<resource_group_name> peut être Default (sensible à la casse).

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

Exemple

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

Mise à disposition d'une instance publique

Mettez à disposition une instance Key Protect publique. La section suivante présente un exemple de mise à disposition d'une instance private.

  • Les noeuds finaux publics figurent en dehors d'IBM Cloud.

  • Les noeuds finaux privés figurent à l'intérieur d'IBM Cloud.

Une instance publique accepte des demandes d'API provenant des noeuds finaux public and private. L'accès au réseau public est le paramètre par défaut et est utilisé si une règle n'est pas définie.

Une instance privée accepte des demandes d'API provenant uniquement des noeuds finaux private.

Pour en savoir plus sur les accès publics et privés, voir Gestion des règles d'accès au réseau.

Remarque : l'identificateur global unique est l'ID de l'instance. Dans cet exemple, l'identifiant de l'instance est ea557753-a15b-4570-a9a3-1efefbd2d382.

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

Exemple

# 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

Mise à disposition d'une instance privée

Mettez à disposition une instance Key Protect privée.

N'oubliez pas qu'une instance privée accepte des demandes d'API provenant uniquement des noeuds finaux privés, situés à l'intérieur d'IBM Cloud. Vous ne pouvez pas utiliser l'interface de ligne de commande avec une instance privée si vous vous trouvez à l'extérieur de IBM Cloud.

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

Exemple

Une fois l'instance privée créée, une demande est émise pour créer une clé. La demande échoue car l'utilisateur n'a pas accès à l'instance private depuis l'extérieur d'IBM Cloud.

L'option -p permet de spécifier un fichier JSON ou une chaîne JSON de paramètres utilisées pour créer l'instance de service.

# 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

Suppression d'une instance contenant des clés

Vous ne pouvez pas supprimer une instance de service qui contient des clés.

Exemple

$ 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

Etapes suivantes

Pour en savoir plus sur la gestion programmatique de vos clés,consultez la documentation de référence de l'API Key Protect