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 :
-
Cliquez sur Catalogue pour afficher la liste des services disponibles sur IBM Cloud.
-
Recherchez " Key Protect " dans le champ Rechercher dans le catalogue... et cliquez sur
Key Protect. -
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