Domini di identità OCI con CLI

In questa esercitazione viene utilizzata l'interfaccia della riga di comando di Oracle Cloud Infrastructure (OCI CLI) per creare e gestire gli utenti in un dominio di Identity.

L'interfaccia CLI OCI si basa sull'SDK Oracle Cloud Infrastructure per Python e viene eseguita su Mac, Windows e Linux. Il codice Python invia richieste alle API OCI per fornire le funzionalità.

L'interfaccia CLI supporta diversi metodi di autenticazione. In questa esercitazione viene utilizzato il metodo di autenticazione basato su chiave API.

Questa esercitazione descrive i task riportati di seguito.

  • Genera una coppia di chiavi di firma API
  • Impostare il file di configurazione dell'interfaccia CLI
  • Installazione dell'interfaccia CLI
  • Recupera l'URL del dominio di Identity
  • Crea un utente
  • Recupera i dettagli di un utente
  • Eliminazione utente

Per completare questa esercitazione sono necessari circa 30 minuti.

Nota

Questa esercitazione è specifica di OCI Identity and Access Management con i domini di Identity.

Informazioni preliminari

Per eseguire questa esercitazione, è necessario disporre dei seguenti elementi:

  • Account Oracle Cloud.

  • Account utente con accesso a un dominio di Identity a cui è stato assegnato il ruolo di amministratore utente. Chiedere all'amministratore del dominio di Identity o dell'account cloud se non si è certi di disporre delle autorizzazioni per creare e gestire gli utenti in un dominio di Identity.

  • La directory .oci nella directory home utente del computer locale: ~/.oci

    Ad esempio, in Windows, è possibile utilizzare PowerShell per creare la directory con il seguente comando: mkdir %HOMEDRIVE%%HOMEPATH%\.oci

  • Versione supportata di Python in un sistema operativo supportato.

    Se non si dispone già di Python installato su Windows o Linux, in seguito in questa esercitazione quando si esegue lo script di installazione CLI per installare l'interfaccia CLI, è possibile consentire allo script di installare Python automaticamente.

1. Genera una coppia di chiavi di firma API

Per la firma delle richieste API è necessaria una coppia di chiavi RSA in formato PEM (minimo 2048 bit).

Questo task descrive come utilizzare la console per creare una coppia di chiavi.

La procedura seguente presuppone che la directory .oci sia già stata creata nella directory home utente del computer locale. La directory ~/.oci è necessaria per memorizzare le informazioni di configurazione OCI, ad esempio le credenziali di firma e i valori OCID.

  1. Collegarsi all'account Oracle Cloud utilizzando la tenancy (nome account cloud) e il dominio di Identity appropriati, nonché il nome utente e la password.

    Se si esegue l'accesso per la prima volta, aprire il messaggio di posta elettronica di attivazione e utilizzare il collegamento Attiva account fornito. Viene richiesto di immettere una password e di confermarla. Per ulteriori informazioni, vedere Accesso per la prima volta.

    La tenancy, il dominio di Identity e il nome utente vengono forniti nel messaggio di posta elettronica di reimpostazione della password del profilo quando è stato attivato il profilo utente nell'account cloud.

    Se non si dispone delle informazioni necessarie per l'accesso, contattare l'amministratore dell'account cloud o del dominio di Identity. Vedere Contatto del supporto.

  2. Nella home page della console, selezionare l'icona del profilo utente e quindi il nome utente.
  3. Nella pagina del profilo utente selezionare Chiavi API in Risorse.
  4. Selezionare Aggiungi chiave API.
  5. Nel pannello Aggiungi chiave API selezionare Genera coppia di chiavi API, quindi selezionare Scarica chiave privata.

    Salvare la chiave privata nella directory ~/.oci. Se si desidera, è possibile spostare la chiave in una sottodirectory di .oci.

    Prendere nota del nome file e del percorso della chiave privata. L'esempio seguente si riferisce a Windows:

    C:\Users\EXAMPLEUSER\.oci\examplecliuser_2025-01-02T21_18_14.873Z.pem

  6. (Facoltativo) Selezionare Scarica chiave pubblica.

    È possibile scaricare la chiave pubblica, ma non è necessario. Le chiavi pubbliche e private sono file PEM. La chiave pubblica contiene la stringa _public nel nome file della chiave.

  7. Nel pannello Aggiungi chiave API, selezionare Aggiungi.

    Nella console viene visualizzata la finestra di dialogo Anteprima file di configurazione, che mostra le informazioni di configurazione dell'utente per l'utilizzo di OCI.

  8. Per il momento, selezionare Chiudi.
  9. Nella pagina del profilo utente, verificare che l'impronta digitale per la coppia di chiavi generata sia stata aggiunta in Impronta. Esempio:

    11:22:00:aa:33:4b:5c:66:7d:88:99:ee:00:90:80:70

2. Impostazione del file di configurazione dell'interfaccia CLI

La configurazione CLI contiene le credenziali necessarie per utilizzare Oracle Cloud Infrastructure.

Questo task presuppone che sia stata generata la coppia di chiavi API per la firma delle richieste API.

  1. Se non è già stato eseguito l'accesso, collegarsi all'account Oracle Cloud utilizzando la tenancy (nome account cloud) e il dominio di Identity appropriati, nonché il nome utente e la password.
  2. Nella home page della console, selezionare l'icona del profilo utente e quindi il nome utente.
  3. Nella pagina del profilo utente selezionare Chiavi API in Risorse.
  4. Dal menu Azioni (tre punti) accanto all'impronta aggiunta nel task Genera una coppia di chiavi di firma API, selezionare Visualizza file di configurazione.

    Nella console viene visualizzata la finestra di dialogo Anteprima file di configurazione, in cui è specificata la configurazione utente nel profilo DEFAULT.

    [DEFAULT]
    user=ocid1.user.oc1..areallylongstringoflettersandnumbers123498765
    fingerprint=11:22:00:aa:33:4b:5c:66:7d:88:99:ee:00:90:80:70
    tenancy=ocid1.tenancy.oc1..areallylongstringoflettersandnumbers123498765
    region=us-ashburn-1
    key_file=<path to your private keyfile>#TODO
  5. Nella finestra di dialogo Anteprima file di configurazione, selezionare Copia per copiare il contenuto di anteprima del file di configurazione negli Appunti. Chiudere quindi la finestra di dialogo.
  6. Aprire un editor di testo e incollare il contenuto dell'anteprima dagli Appunti in un nuovo file.
  7. Utilizzando config come nome file, salvare il file nella directory ~/.oci.

    Se nella directory ~/.oci è già presente un file config, eseguire una delle seguenti operazioni:

    • Rinominare il file di configurazione esistente.

    • Aprire il file di configurazione esistente. Se nel file esistente è già configurato un profilo DEFAULT, rinominare il profilo DEFAULT esistente. Quindi incollare il contenuto dell'anteprima DEFAULT dagli Appunti nel file.

  8. Nel file ~/.oci/config in cui è stato incollato il contenuto del profilo DEFAULT di anteprima, aggiornare il parametro key_file in base al nome file e al percorso del file system del computer in cui è stata salvata la chiave privata.

    L'esempio seguente si riferisce a Windows:

    key_file=C:\Users\EXAMPLEUSER\.oci\examplecliuser_2025-01-02T21_18_14.873Z.pem

  9. Verificare che il profilo DEFAULT in ~/.oci/config abbia un aspetto simile al seguente:

    [DEFAULT]
    user=ocid1.user.oc1..areallylongstringoflettersandnumbers123498765
    fingerprint=11:22:00:aa:33:4b:5c:66:7d:88:99:ee:00:90:80:70
    tenancy=ocid1.tenancy.oc1..areallylongstringoflettersandnumbers123498765
    region=us-ashburn-1
    key_file=C:\Users\EXAMPLEUSER\.oci\examplecliuser_2025-01-02T21_18_14.873Z.pem

    A meno che non venga specificato un profilo specifico, OCI utilizza le credenziali di firma nel profilo DEFAULT quando si esegue un comando CLI.

3. Installazione dell'interfaccia CLI

È possibile installare l'interfaccia CLI OCI su Windows, Linux o MacOS.

Prima di installare l'interfaccia CLI, assicurarsi che sul computer sia già installata una versione Python supportata. Nella sezione versioni Python supportate sono elencate le versioni supportate per ciascun sistema operativo.

Considerare quanto riportato di seguito.

  • Se sul computer è già installato Python, utilizzare il comando python --version in un prompt dei comandi per individuare la versione installata.

  • Se non hai già installato Python o non hai una versione Python compatibile, le opzioni sono:

    • Prima di installare l'interfaccia CLI, installare sul sistema una versione Python compatibile.

    • In Windows o Linux: quando si esegue lo script di installazione CLI, è possibile consentire allo script di installare Python contemporaneamente.

    • In MacOS: lo script di installazione CLI non installa Python automaticamente. Prima di procedere all'installazione dell'interfaccia CLI, è necessario eseguire un aggiornamento.

Per installare l'interfaccia CLI OCI su un computer:

  1. Seguire le istruzioni del sistema operativo appropriate per installare l'interfaccia CLI.
  2. Verificare l'installazione della CLI eseguendo il comando seguente in un prompt dei comandi.
    oci --version

4. Recupera URL dominio di Identity

Questo task si basa sul presupposto che si disponga di un account utente Oracle Cloud con accesso a un dominio di Identity.

  1. Se non è già stato eseguito l'accesso, collegarsi all'account Oracle Cloud utilizzando la tenancy (nome account cloud) e il dominio di Identity appropriati, nonché il nome utente e la password.

    La tenancy, il dominio di Identity e il nome utente vengono forniti nel messaggio di posta elettronica di reimpostazione della password del profilo quando è stato attivato il profilo utente nell'account cloud.

    Se non si dispone delle informazioni necessarie per l'accesso, contattare l'amministratore dell'account cloud o del dominio di Identity. Vedere Contatto del supporto.

  2. Nella home page della console, selezionare l'icona del profilo utente, quindi il nome del dominio di Identity.
  3. Nella scheda Informazioni dominio, selezionare Copia alla fine di URL dominio.
  4. Aprire un editor di testo e incollare l'URL copiato.

    Un URL di dominio ha un aspetto simile al seguente:

    https://idcs-01a234bc56d77e0f89898989bg7h06ij.identity.oraclecloud.com

    Riporre l'URL copiato. È necessario crearlo in un secondo momento per creare il parametro endpoint nei comandi CLI.

5. Crea un utente

Questo task si basa sul presupposto che la coppia di chiavi di firma API sia stata generata, che sia stato impostato il file di configurazione OCI e che sia stata installata l'interfaccia CLI.

Per creare i comandi CLI, è inoltre necessario disporre dell'URL del dominio di Identity.

L'input complesso, ad esempio array e oggetti con più valori, viene passato in formato JSON all'interfaccia CLI. L'input può essere fornito come file JSON o come stringhe di parametri in linea nella riga di comando.

  1. Per preparare l'input per la creazione di un utente, effettuare una delle operazioni riportate di seguito.
    • File JSON: aprire un editor di testo. Copiare il JSON seguente e salvare il file con l'estensione .json in qualsiasi directory.

      Quindi annotare il nome e il percorso del file, ad esempio in Windows: C:\examples\clicreateuser.json

      {
        "schemas": [
          "urn:ietf:params:scim:schemas:core:2.0:User"
        ],
        "name": {
      	"givenName": "John",
      	"familyName": "Doe"
        },
        "userName": "jdoe@cliexample.com",
        "emails": [
      	{
      	  "value": "john.doe@examplecli.com",
      	  "type": "work",
      	  "primary": true
      	}
        ]
      }
    • Stringhe di parametri in linea: aprire un editor di testo. Copiare le seguenti stringhe e accantonarle per un uso successivo.

      In Windows, racchiudere ogni blocco di valori dei parametri tra virgolette doppie (".."). All'interno di un blocco, ogni virgoletta doppia (") per le stringhe chiave e valore deve essere preceduta da un carattere barra rovesciata (\).

      --user-name jdoe@cliexample.com
      --name "{\"givenName\":\"John\",\"familyName\":\"Doe\"}"
      --emails "[{\"value\":\"john.doe@examplecli.com\",\"type\":\"work\",\"primary\":true}]"
      --schemas "[\"urn:ietf:params:scim:schemas:core:2.0:User\"]" 
      

      In MacOS, Linux o Unix, racchiudere ogni blocco di valori dei parametri tra virgolette singole ('..').

      --user-name jdoe@cliexample.com
      --name '{"givenName":"John","familyName":"Doe"}'
      --emails '[{"value":"john.doe@examplecli.com","type":"work","primary":true}]'
      --schemas '["urn:ietf:params:scim:schemas:core:2.0:User"]' 
      
  2. Aprire un prompt dei comandi e immettere il comando CLI per creare un utente.

    Nella riga di comando è possibile specificare un file JSON o utilizzare i parametri in linea come input.

    • Utilizzare il file JSON creato come input.

      Esempio per Windows:

      oci identity-domains user create
       --from-json file://C:\examples\clicreateuser.json
       --endpoint https://idcs-01a234bc56d77e0f89898989bg7h06ij.identity.oraclecloud.com
      
    • Utilizzare le stringhe dei parametri in linea preparate come input.

      Esempio per Windows:

      oci identity-domains user create 
      --user-name jdoe@cliexample.com 
      --name "{\"givenName\":\"John\",\"familyName\":\"Doe\"}" 
      --emails "[{\"value\":\"john.doe@examplecli.com\",\"type\":\"work\",\"primary\":true}]" 
      --schemas "[\"urn:ietf:params:scim:schemas:core:2.0:User\"]" 
      --endpoint https://idcs-01a234bc56d77e0f89898989bg7h06ij.identity.oraclecloud.com
      

      Esempio di MacOS, Linux o Unix:

      oci identity-domains user create 
      --user-name jdoe@cliexample.com
      --name '{"givenName":"John","familyName":"Doe"}'
      --emails '[{"value":"john.doe@examplecli.com","type":"work","primary":true}]'
      --schemas '["urn:ietf:params:scim:schemas:core:2.0:User"]' 
      --endpoint https://idcs-01a234bc56d77e0f89898989bg7h06ij.identity.oraclecloud.com
      

    Il parametro endpoint è l'URL del dominio copiato nel task Ottieni l'URL del dominio di Identity.

  3. Nella risposta del comando, verificare che l'utente sia stato creato.

    Ad esempio:

    {
      "data": {
        ...
        "name": {
          "family-name": "Doe",
          "given-name": "John",
          ...
        },
        ...
        "ocid": "ocid1.user.oc1..areallylongstringoflettersandnumbers987654321abcxyz",
        ...
        "user-name": "jdoe@cliexample.com",
        ...
      }
    }
  4. Copiare l'OCID del nuovo utente creato.

    Ad esempio:

    ocid1.user.oc1..areallylongstringoflettersandnumbers987654321abcxyz

6. Ottieni un utente

Questo task presuppone che l'utente sia stato creato e abbia ottenuto l'OCID dell'utente.

  1. In un prompt dei comandi, immettere il comando CLI per recuperare i dettagli di un utente fornendo l'OCID dell'utente.

    Ad esempio:

    oci identity-domains user get
     --user-id ocid1.user.oc1..areallylongstringoflettersandnumbers987654321abcxyz
     --endpoint https://idcs-01a234bc56d77e0f89898989bg7h06ij.identity.oraclecloud.com
    
  2. Nella risposta del comando, verificare che vengano visualizzati i dettagli dell'utente corretto.

7. Elimina utente

Eliminare un utente fornendo l'OCID dell'utente.

  1. In un prompt dei comandi, immettere il comando CLI per eliminare un utente.

    Ad esempio:

    oci identity-domains user delete
     --user-id ocid1.user.oc1..areallylongstringoflettersandnumbers987654321abcxyz
     --endpoint https://idcs-01a234bc56d77e0f89898989bg7h06ij.identity.oraclecloud.com
    

    Viene restituita la seguente risposta:

    Are you sure you want to delete this resource? [y/N]

  2. Immettere y.

    Viene quindi restituita la seguente risposta:

    {
      "opc-next-page": "MQ==",
      "opc-total-items": "1"
    }
    
  3. (Facoltativo) È possibile verificare che l'utente sia stato eliminato eseguendo il comando CLI per ottenere un utente, come descritto in Get a User.

    Se l'utente viene eliminato, OCI include il messaggio "The resource does not exist." nella risposta.