Creare un'istanza
Puoi creare un'istanza di IBM® Key Protect for IBM Cloud® utilizzando la console IBM Cloud o la CLI IBM Cloud.
Panoramica
In Key Protect, un instance (a volte indicato come service instance) è un namespace.
Un namespace organizza chiavi in gruppi logici e fornisce isolamento e protezione tra i namespace.
- Ad esempio, si può scegliere di avere due Key Protect istanze - una per il reparto finanza e una per la manifattura. Due istanze forniscono l'isolamento in modo che le chiavi in una sola unità aziendale non siano accessibili da altre unità aziendali.
Il termine instance è a volte utilizzato per descrivere risorse compatte, come
server virtuali o
istanze server virtuali per VPC. Un'istanza, in Key Protect dovrebbe non essere equiparata alle risorse compatte. A Key Protect
istanza è un namespace.
Provisioning Key Protect Istanza standard o dedicata dalla console IBM Cloud
Per eseguire il provisioning di un'istanza di Key Protect dalla console IBM Cloud, completa la seguente procedura.
-
Fare clic su Catalogo per visualizzare l'elenco dei servizi disponibili su IBM Cloud.
-
Cerca "Key Protect" nel campo Cerca il catalogo ... e clicca su
Key Protect. -
Selezionare un piano Standard o Dedicato e fare clic su Crea per eseguire il provisioning di un'istanza di Key Protect nell'account, nella regione e nel gruppo di risorse in cui si è effettuato l'accesso. Per ulteriori informazioni sui prezzi, consultare la pagina Prezzi per Key Protect su IBM Cloud.
Se è necessario ripetere la stessa configurazione tra gli account o gli ambienti, è possibile automatizzarla con i moduli Terraform IBM. Il modulo Key Protect All-Inclusive è un'opzione che può fornire un'istanza insieme a chiavi e portachiavi. Per una panoramica, vedere Terraform IBM Modules.
Provisioning Key Protect dal IBM Cloud CLI
Puoi anche eseguire il provisioning di un'istanza di Key Protect utilizzando la CLI IBM Cloud.
Sebbene gli esempi seguenti utilizzino il piano " tiered-pricing ", è anche possibile distribuire le risorse in regioni selezionate utilizzando il piano " cross-region-resiliency ", che offre un ulteriore supporto di failover. Le regioni in cui questo piano è disponibile sono: us-south (situato a Dallas, Stati Uniti), jp-tok (situato a Tokyo, Giappone) e eu-de (situato a
Francoforte, Germania). Non è possibile utilizzare questo piano per dispiegarsi in altre regioni.
Accesso tramite CLI
Accedere a IBM Cloud attraverso la IBM Cloud CLI. Questo è il conto utilizzato per questa ricorrenza di Key Protect.
Accedi
Effettuare il login con il comando login. Se questo non dovesse avere esito positivo, provare l'opzione --sso per effettuare il login con un ID federato (vedere la sezione successiva).
Questo esempio fallisce perché l'indirizzo email appartiene ad un ID federato.
ibmcloud login
Esempio
$ 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
Login con un ID federato
La registrazione con l'opzione --sso apre una finestra del browser (richiede un login) e crea un codice di accesso univoco. Il codice di accesso viene utilizzato per completare il processo di login.
ibmcloud login --sso
Esempio
$ 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:
Selezionare una regione e un gruppo di risorse
Selezionate la regione e il gruppo di risorse in cui desiderate creare un Key Protect istanza.
Il <resource_group_name> può essere Default (sensibile al maiuscolo).
ibmcloud target -r <region_name> -g <resource_group_name>
Esempio
$ 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:
Fornitura di un'istanza pubblica
Fornitura di un'istanza pubblica Key Protect. La sezione successiva ha un esempio di provisioning di un'istanza private.
-
Gli endpoint pubblici sono fuori il IBM Cloud.
-
Gli endpoint privati sono all'interno il IBM Cloud.
Un'istanza pubblica accetta le richieste API da entrambi gli endpoint public and private. L'accesso alla rete pubblica è l'impostazione predefinita e viene utilizzato se una politica non è impostata.
Un'istanza privata accetta le richieste API da solo private endpoint.
Vedi Gestione delle politiche di accesso alla rete per saperne di più sull'accesso pubblico e privato.
Nota il GUID è l'ID istanza. In questo esempio, l'ID istanza è
ea557753-a15b-4570-a9a3-1efefbd2d382.
ibmcloud resource service-instance-create <instance_name> kms tiered-pricing <region>
Esempio
# 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
Fornitura di un'istanza privata
Fornitura di un'istanza privata Key Protect.
Ricordiamo che un'istanza privata accetta le richieste API da soli endpoint privati, che sono all'interno del IBM Cloud. Non è possibile utilizzare CLI con istanza privata se si è al di fuori della IBM Cloud.
ibmcloud resource service-instance-create <instance_name> kms tiered-pricing <region> -p '{"allowed_network": "private-only"}'
Esempio
Una volta creata l'istanza privata, viene fatta una richiesta per creare una chiave. La richiesta non riesce perché l'utente non ha accesso all'istanza private dall'esterno del IBM Cloud.
L'opzione -p specifica un file JSON o una stringa JSON di parametri utilizzati per creare l'istanza di servizio.
# 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
Eliminazione di un'istanza con le chiavi esistenti
Non è possibile cancellare un'istanza di servizio che contiene chiavi.
Esempio
$ 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
Operazioni successive
Per saperne di più sulla gestione programmatica delle chiavi,consultare il documento di riferimento dell'API Key Protect