Impostazione dei tipi di utenti API PKCS #11
Per allinearti ai requisiti di sicurezza standard del settore e agli accessi agli oggetti consentiti dalle sessioni, ti suggeriamo di configurare i tipi di utenti PKCS #11 nella tua istanza Hyper Protect Crypto Services quando utilizzi l'API PKCS #11 .
Tipi di utenti PKCS #11
Lo standard PKCS #11 definisce due tipi di utente: agente di sicurezza e utente normale. Se un utente non effettua una chiamata di funzione C_Login
, l'utente viene considerato come un utente anonimo.
Nel file di configurazione della libreria Hyper Protect Crypto Services PKCS #11 file di configurazione della libreria grep11client.yaml
, i seguenti tipi di utente sono predefiniti, con ciascuno assegnato un tasto API service ID:
-
Responsabile della sicurezza (SO): Un utente SO può essere una persona che possiede la chiave API SO in un'azienda. Questa persona è in grado di inizializzare il token PKCS #11 ed eliminare tutti gli oggetti chiave nei keystores. Questa persona può essere quella che imposta l'istanza Hyper Protect Crypto Services e i ruoli Cloud Identity and Access Management (IAM). L'applicazione PKCS #11 può eseguire chiamate di funzione Cryptoki amministrative, come ad esempio
C_InitToken
, dopo che si registra come tipo di utente SO. -
Utente normale: Gli utenti normali sono quelli che hanno accesso alla normale chiave API dell'utente. Il normale tasto user API deve essere distribuito solo ad un gruppo limitato di persone, che hanno bisogno di accedere al relativo archivio dove vengono memorizzati chiavi più sensibili, come chiavi per la firma e la crittografia dei contratti. In questo caso, l'applicazione PKCS #11 richiama la funzione
C_Login
utilizzando il normale tasto API dell'utente come PIN e diventa un utente normale per accedere al relativo archivio. -
Utente anonimo: La chiave API anonima dell'utente può essere distribuita a chiunque in azienda in modo che gli utenti anonimi possano accedere al Keystore per eseguire il lavoro quotidiano, come la firma di un documento. La chiave API è configurata nel file di configurazione della libreria PKCS #11
grep11client.yaml
e l'utente anonimo non ha bisogno di chiamare la funzioneC_Login
.
Un'applicazione PKCS #11 funziona come solo uno dei tre tipi di utente in qualsiasi momento, non importa quante sessioni si aprono. Ogni tipo di utente necessita di una chiave API per l'autenticazione. Per creare le chiavi API, devi prima creare tre ruoli IAM personalizzati. E poi, creare ID di servizio per i tre tipi di utente e mappare i ruoli IAM personalizzati agli ID di servizio.
Per eseguire la seguente procedura, devi avere l' Administrator
accesso della piattaforma di
nel tuo account IBM Cloud®.
Passo 1: Creare ruoli IAM personalizzati
È necessario creare tre ruoli personalizzati, uno per l'esecuzione delle operazioni di crittografia, uno per la gestione delle chiavi e l'altro per la gestione dei keystore EP11.
1. Creare un ruolo personalizzato per l'esecuzione delle operazioni di crittografia
Questo ruolo viene utilizzato per generare oggetti chiave per l'esecuzione di operazioni di crittografia. Tuttavia, questo ruolo non dispone dell'autorizzazione per utilizzare o gestire keystore Enterprise PKCS #11 (EP11).
- Nella IU, vai a Manage > Access (IAM) e seleziona Roles.
- Fai clic su Crea.
- Inserire un nome per il proprio ruolo; ad esempio
Crypto operator
. Questo nome deve essere univoco all'interno dell'account. Gli utenti visualizzano questo nome ruolo nell'IU quando assegnano l'accesso al servizio. - Inserire un ID per il ruolo. Questo ID viene utilizzato nel CRN, che viene utilizzato quando si assegna l'accesso utilizzando l'API. L'ID ruolo deve iniziare con una lettera maiuscola e utilizzare solo caratteri alfanumerici, ad esempio
CryptoOperator
. - Opzionale: Inserire una descrizione succinta e utile che aiuta gli utenti che stanno assegnando l'accesso sapere quale livello di accesso questo assegnazione ruolo dà ad un utente. Questa descrizione viene visualizzata anche nell'IU quando un utente assegna l'accesso al servizio.
- Dall'elenco dei servizi, selezionare Hyper Protect Crypto Services.
- Selezionare Aggiungi per le seguenti 19 azioni:
- hs-crypto.crypto.decrypt
- hs-crypto.crypto.derivekey
- hs-crypto.crypto.digest
- hs-crypto.crypto.digestkey
- hs-crypto.crypto.encrypt
- hs-crypto.crypto.generatekey
- hs-crypto.crypto.generatekeypair
- hs-crypto.crypto.generaterandom
- hs-crypto.crypto.getattributevalue
- hs-crypto.crypto.getmechanisminfo
- hs-crypto.crypto.getmechanismlist
- hs-crypto.crypto.rewrapkeyblob
- hs-crypto.crypto.setattributevalue
- hs-crypto.crypto.sign
- hs-crypto.crypto.unwrapkey
- hs-crypto.crypto.verify
- hs-crypto.crypto.wrapkey
- hs-crypto.discovery.listservers
- hs-crypto.ep11.use
- Esaminare le azioni aggiunte in Riepilogo, quindi fare clic su Crea.
2. Crea un ruolo personalizzato per la gestione delle chiavi
Questo ruolo viene utilizzato per gestire le chiavi nei keystore EP11. Tuttavia, questo ruolo non dispone dell'autorizzazione per gestire i keystore EP11 o eseguire operazioni di crittografia.
- Nella IU, vai a Manage > Access (IAM) e seleziona Roles.
- Fai clic su Crea.
- Inserire un nome per il proprio ruolo; ad esempio
Key operator
. Questo nome deve essere univoco all'interno dell'account. Gli utenti visualizzano questo nome ruolo nell'IU quando assegnano l'accesso al servizio. - Inserire un ID per il ruolo. Questo ID viene utilizzato nel CRN, che viene utilizzato quando si assegna l'accesso utilizzando l'API. L'ID ruolo deve iniziare con una lettera maiuscola e utilizzare solo caratteri alfanumerici, ad esempio
KeyOperator
. - Opzionale: Inserire una descrizione succinta e utile che aiuta gli utenti che stanno assegnando l'accesso sapere quale livello di accesso questo assegnazione ruolo dà ad un utente. Questa descrizione viene visualizzata anche nell'IU quando un utente assegna l'accesso al servizio.
- Dall'elenco dei servizi, selezionare Hyper Protect Crypto Services.
- Selezionare Aggiungi per le seguenti sei azioni:
- hs-crypto.keystore.deletekey
- hs-crypto.keystore.listkeysbyattributes
- hs-crypto.keystore.listkeysbyids
- hs-crypto.keystore.listkeystoresbyids
- hs-crypto.keystore.storenewkey
- hs-crypto.keystore.updatekey
- Esaminare le azioni aggiunte in Riepilogo, quindi fare clic su Crea.
3. Creare un ruolo personalizzato per la gestione dei keystore
Questo ruolo viene utilizzato per creare e cancellare i keystores EP11 ma non dispone delle autorizzazioni per gestire le chiavi.
- Nella IU, vai a Manage > Access (IAM) e seleziona Roles.
- Fai clic su Crea.
- Inserire un nome per il proprio ruolo; ad esempio
Keystore operator
. Questo nome deve essere univoco all'interno dell'account. Gli utenti visualizzano questo nome ruolo nell'IU quando assegnano l'accesso al servizio. - Inserire un ID per il ruolo. Questo ID viene utilizzato nel CRN, che viene utilizzato quando si assegna l'accesso utilizzando l'API. L'ID ruolo deve iniziare con una lettera maiuscola e utilizzare solo caratteri alfanumerici, ad esempio
KeystoreOperator
. - Opzionale: Inserire una descrizione succinta e utile che aiuta gli utenti che stanno assegnando l'accesso sapere quale livello di accesso questo assegnazione ruolo dà ad un utente. Questa descrizione viene visualizzata anche nell'IU quando un utente assegna l'accesso al servizio.
- Dall'elenco dei servizi, selezionare Hyper Protect Crypto Services.
- Selezionare Aggiungi per le seguenti quattro azioni:
- hs-crypto.keystore.createkeystore
- hs-crypto.keystore.deletekeystore
- hs-crypto.keystore.listkeystoresbyattributes
- hs-crypto.keystore.listkeystoresbyids
- Esaminare le azioni aggiunte in Riepilogo, quindi fare clic su Crea.
Per ulteriori informazioni su come creare ruoli personalizzati, consultare Creazione di ruoli personalizzati.
Passo 2: Creare ID di servizio e chiavi API per l'utente SO, utente normale e utente anonimo
1. Creare ID di servizio e chiavi API per l'utente SO
Per creare un ID di servizio per l'utente SO e il tasto API corrispondente, completare i seguenti passaggi:
-
Nell'IU, vai a Manage > Access (IAM) e seleziona Service IDs.
-
Per creare l'ID di servizio per l'utente SO, seguire questi passaggi:
- Fai clic su Crea.
- Creare un nome
SO user
e la descrizione per l'ID servizio utente SO. - Fai clic su Crea.
-
Per creare una chiave API per il servizio ID, seguire questi passaggi:
- Fare clic sulla scheda Chiavi API nella pagina
SO user
del servizio di assistenza. - Fai clic su Crea.
- Aggiungi un nome e una descrizione per identificare facilmente la chiave API. Ad esempio,
SO user API key
. - Fai clic su Crea.
- Salva la tua chiave API copiandola o scaricandola in un'ubicazione sicura.
La chiave API deve essere utilizzata come PIN per i login utente SO e non può essere richiamata. Assicurati di farne una copia in questo passo.
- Fare clic sulla scheda Chiavi API nella pagina
2. Creare ID di servizio e chiavi API per l'utente normale
Per creare un ID di servizio per l'utente normale e il tasto API corrispondente, completare i seguenti passaggi:
-
Nell'IU, vai a Manage > Access (IAM) e seleziona Service IDs.
-
Per creare l'ID di servizio per l'utente normale, seguire questi passaggi:
- Fai clic su Crea.
- Creare un nome
Normal user
e la descrizione per il normale ID del servizio utente. - Fai clic su Crea.
-
Per creare una chiave API per il servizio ID, seguire questi passaggi:
- Fare clic sulla scheda Chiavi API nella pagina
Normal user
del servizio di assistenza. - Fai clic su Crea.
- Aggiungi un nome e una descrizione per identificare facilmente la chiave API. Ad esempio,
Normal user API key
. - Fai clic su Crea.
- Salva la tua chiave API copiandola o scaricandola in un'ubicazione sicura.
La chiave API deve essere utilizzata come PIN per i normali accessi utente e non può essere richiamata. Assicurati di farne una copia in questo passo.
- Fare clic sulla scheda Chiavi API nella pagina
3. Creare ID di servizio e chiavi API per l'utente anonimo
Per creare un ID di servizio per l'utente anonimo e il tasto API corrispondente, completare i seguenti passaggi:
-
Nell'IU, vai a Manage > Access (IAM) e seleziona Service IDs.
-
Per creare l'ID di servizio per l'utente anonimo, seguire questi passaggi:
- Fai clic su Crea.
- Creare un nome
Anonymous user
e la descrizione per l'ID servizio utente anonimo. - Fai clic su Crea.
-
Per creare una chiave API per il servizio ID, seguire questi passaggi:
- Fare clic sulla scheda Chiavi API nella pagina
Anonymous user
del servizio di assistenza. - Fai clic su Crea.
- Aggiungi un nome e una descrizione per identificare facilmente la chiave API. Ad esempio,
Anonymous user API key
. - Fai clic su Crea.
- Salva la tua chiave API copiandola o scaricandola in un'ubicazione sicura.
La chiave API deve essere utilizzata per eseguire operazioni di crittografia e accedere al keystore pubblico per l'utente anonimo, che non è possibile richiamare. Assicurati di farne una copia in questo passo.
- Fare clic sulla scheda Chiavi API nella pagina
Per ulteriori informazioni sulla creazione degli ID servizio, vedi Creazione e utilizzo degli ID servizio. Per istruzioni dettagliate sulla creazione dei tasti API ID di servizio, consultare Gestione dei tasti API del servizio di gestione.
Passo 3: Assegnazione ruoli IAM agli ID di servizio
Puoi concedere l'accesso agli ID servizio in un'istanza del servizio Hyper Protect Crypto Services utilizzando la IU.
1. Assegnare i ruoli personalizzati all'ID servizio utente SO
Per assegnare i ruoli personalizzati definiti in Passo 1 al service user ID SO, seguire questi passaggi:
Per assegnare l'accesso ai keystores per l'utente SO, seguire questi passaggi:
-
Dalla barra dei menu, fai clic su Manage > Access (IAM) e seleziona Service IDs per sfogliare gli ID servizio esistenti nel tuo account.
-
Passare il mouse sull'ID del servizio
SO user
e fare clic sull'icona Azioniper aprire un elenco di opzioni.
-
Dal menu delle opzioni, fai clic su Assegna accesso.
-
Fare clic su Politica di accesso.
-
In Servizio, seleziona Hyper Protect Crypto Services e fai clic su Avanti.
-
In Risorse, selezionare Risorse specifiche.
-
Seleziona il tipo di attributo ID istanza del servizio, immetti l'ID istanza del servizio Hyper Protect Crypto Services a cui vuoi concedere l'accesso e fai clic su Avanti.
-
In Ruoli e azioni, selezionare le caselle per le seguenti ruoli e fare clic su Avanti:
Crypto operator
Key operator
Keystore operator
-
(Facoltativo) In Condizioni (facoltativo), fare clic su Rivedi per controllare la politica di accesso.
-
Fai clic su Aggiungi.
-
Esamina i ruoli e gli acton aggiunti in Riepilogo e fai quindi clic su Assegna.
2. Assegnare i ruoli personalizzati al normale ID servizio utente
Per assegnare i ruoli personalizzati definiti in Passo 1 al normale ID servizio utente, seguire questi passaggi:
Per assegnare l'accesso ai keystores per l'utente normale, seguire questi passaggi:
- Dalla barra dei menu, fai clic su Manage > Access (IAM) e seleziona Service IDs per sfogliare gli ID servizio esistenti nel tuo account.
- Passare il mouse sull'ID del servizio
Normal user
e fare clic sull'icona Azioniper aprire un elenco di opzioni.
- Dal menu delle opzioni, fai clic su Assegna accesso.
- Fare clic su Politica di accesso.
- In Servizio, seleziona Hyper Protect Crypto Services e fai clic su Avanti.
- In Risorse, selezionare Risorse specifiche.
- Seleziona il tipo di attributo ID istanza del servizio, immetti l'ID istanza del servizio Hyper Protect Crypto Services a cui vuoi concedere l'accesso e fai clic su Avanti.
- In Ruoli e azioni, selezionare le caselle per
Crypto operator
eKey operator
e fare clic su Avanti. - (Facoltativo) In Condizioni (facoltativo), fare clic su Rivedi per controllare la politica di accesso.
- Fai clic su Aggiungi.
- Esamina i ruoli e gli acton aggiunti in Riepilogo e fai quindi clic su Assegna.
3. Creare politiche di accesso e assegnare ruoli personalizzati all'ID servizio utente anonimo
L'utente anonimo richiede tre politiche di accesso. La specifica PKCS#11 specifica che l'utente anonimo può accedere solo al keystore pubblico. Le seguenti politiche di accesso sono configurate per limitare l'utente anonimo al keystore pubblico.
Per assegnare i ruoli personalizzati definiti in Passo 1 all'ID del servizio utente anonimo, seguire questi passaggi:
Crea politica di accesso per le operazioni di crittografia
- Dalla barra dei menu, fai clic su Manage > Access (IAM) e seleziona Service IDs per sfogliare gli ID servizio esistenti nel tuo account.
- Passare il mouse sull'ID del servizio
Anonymous user
e fare clic sull'icona Azioniper aprire un elenco di opzioni.
- Dal menu delle opzioni, fai clic su Assegna accesso.
- Fare clic su Politica di accesso.
- In Servizio, seleziona Hyper Protect Crypto Services e fai clic su Avanti.
- In Risorse, selezionare Risorse specifiche.
- Seleziona il tipo di attributo ID istanza del servizio, immetti l'ID istanza del servizio Hyper Protect Crypto Services a cui vuoi concedere l'accesso e fai clic su Avanti.
- In Ruoli e azioni, selezionare la casella per
Crypto operator
e fare clic su Avanti. - (Facoltativo) In Condizioni (facoltativo), fare clic su Rivedi per controllare la politica di accesso.
- Fai clic su Aggiungi.
- Esamina i ruoli e gli acton aggiunti in Riepilogo e fai quindi clic su Assegna.
Crea politica di accesso per accesso chiave
- Dalla barra dei menu, fai clic su Manage > Access (IAM) e seleziona Service IDs per sfogliare gli ID servizio esistenti nel tuo account.
- Passare il mouse sull'ID del servizio
Anonymous user
e fare clic sull'icona Azioniper aprire un elenco di opzioni.
- Dal menu delle opzioni, fai clic su Assegna accesso.
- Fare clic su Politica di accesso.
- In Servizio, seleziona Hyper Protect Crypto Services e fai clic su Avanti.
- In Risorse, selezionare Risorse specifiche.
- Seleziona il tipo di attributo ID istanza del servizio, immetti l'ID istanza del servizio Hyper Protect Crypto Services a cui vuoi concedere l'accesso e fai clic su Aggiungi una condizione.
- Selezionare il tipo di attributi Tipo di risorsa, immettere
key
sotto il campo del valore e fare clic su Avanti. - In Ruoli e azioni, selezionare la casella per
Key operator
e fare clic su Avanti. - (Facoltativo) In Condizioni (facoltativo), fare clic su Rivedi per controllare la politica di accesso.
- Fai clic su Aggiungi.
- Esamina i ruoli e gli acton aggiunti in Riepilogo e fai quindi clic su Assegna.
Crea politica di accesso per l'accesso al keystore
-
Dalla barra dei menu, fai clic su Manage > Access (IAM) e seleziona Service IDs per sfogliare gli ID servizio esistenti nel tuo account.
-
Passare il mouse sull'ID del servizio
Anonymous user
e fare clic sull'icona Azioniper aprire un elenco di opzioni.
-
Dal menu delle opzioni, fai clic su Assegna accesso.
-
Fare clic su Politica di accesso.
-
In Servizio, seleziona Hyper Protect Crypto Services e fai clic su Avanti.
-
In Risorse, selezionare Risorse specifiche.
-
Seleziona il tipo di attributo ID istanza del servizio, immetti l'ID istanza del servizio Hyper Protect Crypto Services a cui vuoi concedere l'accesso e fai clic su Aggiungi una condizione.
-
Selezionare il tipo di attributo Tipo di risorsa, immettere
keystore
nel campo valore e fare clic su Aggiungi una condizione. -
Selezionare il tipo di attributo ID risorsa, immettere il valore e fare clic su Avanti.
Il valore del tipo di attributo ID risorsa deve contenere un UUID(Universally Unique IDentifier) valido del keystore pubblico PKCS#11. Puoi generare l'UUID con uno strumento di terzi, come UUID generator. La stringa UUID specificata per l'attributo ID risorsa deve corrispondere alla stringa UUID specificata per il parametro di configurazione public_keystore_spaceid dell'utente anonimo all'interno del file di configurazione
grep11client.yaml
nella libreria client PKCS#11. -
In Ruoli e azioni, selezionare la casella per
Key operator
e fare clic su Avanti. -
(Facoltativo) In Condizioni (facoltativo), fare clic su Rivedi per controllare la politica di accesso.
-
Fai clic su Aggiungi.
-
Esaminare i ruoli e le azioni aggiunti in Riepilogo, quindi fare clic su Assegna.
Operazioni successive
Continuare a leggere Performare le operazioni crittografiche con l'API PKCS #11 su come utilizzare l'API PKCS #11 .