Domini di identità OCI con CLI

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

OCI CLI si basa sull'SDK di Oracle Cloud Infrastructure per Python ed è eseguito su Mac, Windows e Linux. Il codice Python invia richieste alle API OCI per fornire la 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
  • Impostazione del file di configurazione dell'interfaccia CLI
  • Installazione dell'interfaccia CLI
  • Recupera l'URL del dominio di Identity
  • Crea un utente
  • Scopri i dettagli di un utente
  • Elimina un utente

Per completare questa esercitazione occorrono circa 30 minuti.

Nota

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

Prima di iniziare

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

  • Un account Oracle Cloud.

  • Account utente con accesso a un dominio di Identity e assegnato il ruolo di amministratore utenti. Chiedere all'amministratore del dominio di Identity o all'amministratore 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 su un sistema operativo supportato.

    Se non hai già installato Python su Windows o Linux, in seguito in questa esercitazione quando esegui lo script di installazione CLI per installare l'interfaccia CLI, puoi lasciare che lo script installi Python per te.

1. Genera una coppia di chiavi di firma API

Per firmare le richieste API è richiesta 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 dell'utente sul computer locale. La directory ~/.oci è necessaria per memorizzare le informazioni di configurazione OCI, ad esempio le credenziali di firma e i valori OCID.

  1. Connettersi 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 e confermare una password. 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.

    Contattare l'amministratore dell'account cloud o il dominio di Identity se non si dispone delle informazioni necessarie per eseguire la connessione. Vedere Contatto del supporto.

  2. Nella home page della console, selezionare l'icona del profilo utente, quindi selezionare il nome utente.
  3. Nella pagina del profilo utente selezionare API keys 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. Facoltativamente, è possibile spostare la chiave in una sottodirectory all'interno della directory .oci.

    Prendere nota del nome file e del percorso della chiave privata. L'esempio seguente riguarda 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 entrambi file PEM. La chiave pubblica ha 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 venga aggiunta in Impronta. Ad 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 richieste per l'utilizzo di 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, quindi selezionare il nome utente.
  3. Nella pagina del profilo utente selezionare API keys 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, con la configurazione utente specificata 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 di anteprima dagli appunti in un nuovo file.
  7. Utilizzando config come nome del file, salvare il file nella directory ~/.oci.

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

    • Rinominare il file di configurazione esistente.

    • Aprire il file di configurazione esistente. If a DEFAULT profile is already configured in the existing file, rename the existing DEFAULT profile. Quindi incollare il contenuto di 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 al nome file e al percorso nel file system del computer in cui è stata salvata la chiave privata.

    L'esempio seguente riguarda Windows:

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

  9. Verificare che il profilo DEFAULT in ~/.oci/config sia 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

Puoi installare OCI CLI su Windows, Linux o MacOS.

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

Considerare quanto riportato di seguito.

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

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

    • Installare una versione compatibile di Python sul computer prima di installare l'interfaccia CLI.

    • 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. È necessario eseguire l'aggiornamento per poter procedere con l'installazione dell'interfaccia CLI.

Per installare l'interfaccia CLI OCI su un computer:

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

4. Recupera l'URL del dominio di Identity

Questo task presuppone 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.

    Contattare l'amministratore dell'account cloud o il dominio di Identity se non si dispone delle informazioni necessarie per eseguire la connessione. Vedere Contatto del supporto.

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

    L'URL di un dominio è simile al seguente:

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

    Metti da parte l'URL copiato. In seguito sarà necessario creare il parametro endpoint nei comandi CLI.

5. Crea utente

Questo task presuppone che tu abbia generato la coppia di chiavi di firma API, impostato il file di configurazione OCI e installato l'interfaccia CLI.

È inoltre necessario disporre dell'URL del dominio di Identity per creare i comandi CLI.

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, eseguire uno dei task riportati di seguito.
    • File JSON: aprire un editor di testo. Copiare il seguente JSON e salvare il file con l'estensione .json in qualsiasi directory.

      Quindi annotare il nome del file e il percorso, 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 dei parametri in linea: aprire un editor di testo. Copiare le seguenti stringhe e accantonarle per utilizzarle in un secondo momento.

      In Windows, racchiudere ogni blocco di valori dei parametri tra virgolette doppie (".."). All'interno di un blocco, ogni virgoletta (") per le stringhe chiave e valore deve essere preceduta da una 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 di 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 di 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 Recupera 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. Recupera un utente

Questo task presuppone che l'utente abbia creato un utente e 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.

    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. Eliminazione utente

Eliminare un utente fornendo l'OCID dell'utente.

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

    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 Recuperare un utente.

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