Dominios de identidad de OCI con CLI

En este tutorial, utilizará la interfaz de línea de comandos (CLI de OCI) de Oracle Cloud Infrastructure para crear y gestionar usuarios en un dominio de identidad.

La CLI de OCI se basa en el SDK para Python de Oracle Cloud Infrastructure y se ejecuta en Mac, Windows y Linux. El código Python realiza solicitudes a las API de OCI para proporcionar la funcionalidad.

La CLI admite varios métodos de autenticación. En este tutorial, utilizará el método de autenticación basada en claves de API.

En este tutorial se tratan las siguientes tareas:

  • Generar un par de claves de firma de API
  • Configurar el archivo de configuración de la CLI
  • Instale la CLI
  • Obtener la URL del dominio de identidad
  • Crear Usuario
  • Obtener detalles de un usuario
  • Suprimir usuario

Este tutorial tarda aproximadamente 30 minutos en realizarse.

Nota

Este tutorial es específico de OCI Identity and Access Management con dominios de identidad.

Antes de empezar

Para realizar este tutorial, debe tener lo siguiente:

  • Una cuenta de Oracle Cloud.

  • Cuenta de usuario con acceso a un dominio de identidad y asignada al rol de administrador de usuario. Pregúntele al administrador del dominio de identidad o al administrador de la cuenta en la nube si no está seguro de si tiene los permisos para crear y gestionar usuarios en un dominio de identidad.

  • El directorio .oci del directorio raíz de usuario en la máquina local: ~/.oci

    Por ejemplo, en Windows, puede utilizar PowerShell para crear el directorio con el siguiente comando: mkdir %HOMEDRIVE%%HOMEPATH%\.oci

  • Versión soportada de Python en un sistema operativo soportado.

    Si aún no tiene Python instalado en Windows o Linux, más adelante en este tutorial cuando ejecute el script de instalación de la CLI para instalar la CLI, puede dejar que el script instale Python.

1. Generar un par de claves de firma de API

Se requiere un par de claves RSA en formato PEM (mínimo 2048 bits) para firmar solicitudes de API.

En esta tarea se describe cómo utilizar la consola para crear un par de claves.

En el siguiente procedimiento, se asume que ya ha creado el directorio .oci en el directorio raíz de usuario de la máquina local. El directorio ~/.oci es necesario para almacenar información de configuración de OCI, como credenciales de firma y valores de OCID.

  1. Conéctese a la cuenta de Oracle Cloud utilizando el arrendamiento adecuado (nombre de cuenta en la nube) y el dominio de identidad, así como su nombre de usuario y contraseña.

    Si se conecta por primera vez, abra el correo electrónico de activación y utilice el enlace Activar cuenta proporcionado. Se le pedirá que introduzca una contraseña y la confirme. Consulte Conexión por primera vez si necesita más información.

    El arrendamiento, el dominio de identidad y el nombre de usuario se proporcionan en el correo electrónico de restablecimiento de contraseña de perfil cuando activó el perfil de usuario en la cuenta en la nube.

    Póngase en contacto con el administrador de la cuenta en la nube o con el administrador del dominio de identidad si no dispone de la información necesaria para conectarse. Consulte Contacto con los servicios de soporte.

  2. En la página inicial de la consola, seleccione el icono de perfil de usuario y, a continuación, seleccione su nombre de usuario.
  3. En la página de perfil de usuario, seleccione Claves de API en Recursos.
  4. Seleccione Agregar clave de API.
  5. En el panel Agregar clave de API, seleccione Generar par de claves de API y, a continuación, seleccione Descargar clave privada.

    Guarde la clave privada en el directorio ~/.oci. Opcionalmente, puede mover la clave a un subdirectorio dentro del directorio .oci.

    Anote el nombre de archivo y la ruta de la clave privada. El siguiente ejemplo es para Windows:

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

  6. (Opcional) Seleccione Descargar clave pública.

    Puede descargar la clave pública, pero no es necesario. Las claves públicas y privadas son archivos PEM. La clave pública tiene la cadena _public en el nombre de archivo de la clave.

  7. En el panel Agregar clave de API, seleccione Agregar.

    La consola muestra el cuadro de diálogo Vista previa del archivo de configuración, que muestra la información de configuración del usuario para utilizar OCI.

  8. Por ahora, seleccione Cerrar.
  9. En la página del perfil de usuario, verifique que la huella del par de claves generado se haya agregado en Huella. Por ejemplo:

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

2. Configuración del archivo de configuración de la CLI

La configuración de la CLI contiene las credenciales necesarias para trabajar con Oracle Cloud Infrastructure.

En esta tarea se asume que ha generado el par de claves de API para firmar solicitudes de API.

  1. Si aún no se ha conectado, conéctese a la cuenta de Oracle Cloud utilizando el arrendamiento (nombre de cuenta en la nube) y el dominio de identidad adecuados, así como su nombre de usuario y contraseña.
  2. En la página inicial de la consola, seleccione el icono de perfil de usuario y, a continuación, seleccione su nombre de usuario.
  3. En la página de perfil de usuario, seleccione Claves de API en Recursos.
  4. En el menú Acciones (tres puntos) situado junto a la huella que se agregó en la tarea Generar un par de claves de firma de API, seleccione Ver archivo de configuración.

    La consola muestra el cuadro de diálogo Vista previa de archivo de configuración, que tiene la configuración de usuario especificada en el perfil 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. En el cuadro de diálogo Vista previa de archivo de configuración, seleccione Copiar para copiar el contenido de la vista previa del archivo de configuración en el portapapeles. A continuación, cierre el cuadro de diálogo.
  6. Abra un editor de texto y pegue el contenido de vista previa del portapapeles en un nuevo archivo.
  7. Con config como nombre de archivo, guarde el archivo en el directorio ~/.oci.

    Si ya existe un archivo config en el directorio ~/.oci, realice una de las siguientes tareas:

    • Cambie el nombre del archivo de configuración existente.

    • Abra el archivo de configuración existente. Si ya hay un perfil DEFAULT configurado en el archivo existente, cambie el nombre del perfil DEFAULT existente. A continuación, pegue la vista previa del contenido DEFAULT del portapapeles en el archivo.

  8. En el archivo ~/.oci/config donde pegó la vista previa del contenido del perfil DEFAULT, actualice el parámetro key_file al nombre de archivo y la ruta en el sistema de archivos de la máquina donde guardó la clave privada.

    El siguiente ejemplo es para Windows:

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

  9. Verifique que el perfil DEFAULT en ~/.oci/config tenga un aspecto similar al siguiente:

    [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 menos que se especifique un perfil específico, OCI utiliza las credenciales de firma en el perfil DEFAULT al ejecutar un comando de la CLI.

3. Instalar la CLI

Puede instalar la CLI de OCI en Windows, Linux o MacOS.

Antes de instalar la CLI, asegúrese de que ya haya instalada una versión de Python admitida en la máquina. La sección versiones de Python soportadas muestra las versiones soportadas para cada sistema operativo.

Tenga en cuenta lo siguiente:

  • Si ya tiene Python instalado en la máquina, utilice el comando python --version en un símbolo del sistema para averiguar qué versión está instalada.

  • Si aún no tienes Python instalado o no tienes una versión compatible de Python, las opciones son:

    • Instale una versión compatible de Python en la máquina antes de instalar la CLI.

    • En Windows o Linux: al ejecutar el script de instalación de la CLI, puede permitir que el script instale Python al mismo tiempo.

    • En MacOS: el script de instalación de la CLI no instala Python. Debe actualizar para continuar con la instalación de la CLI.

Para instalar la CLI de OCI en una máquina:

  1. Siga las instrucciones apropiadas del sistema operativo para instalar la CLI.
  2. Verifique la instalación de la CLI ejecutando el siguiente comando en un símbolo del sistema.
    oci --version

4. Obtener la URL del dominio de identidad

En esta tarea se asume que tiene una cuenta de usuario de Oracle Cloud con acceso a un dominio de identidad.

  1. Si aún no se ha conectado, conéctese a la cuenta de Oracle Cloud utilizando el arrendamiento (nombre de cuenta en la nube) y el dominio de identidad adecuados, así como su nombre de usuario y contraseña.

    El arrendamiento, el dominio de identidad y el nombre de usuario se proporcionan en el correo electrónico de restablecimiento de contraseña de perfil cuando activó el perfil de usuario en la cuenta en la nube.

    Póngase en contacto con el administrador de la cuenta en la nube o con el administrador del dominio de identidad si no dispone de la información necesaria para conectarse. Consulte Contacto con los servicios de soporte.

  2. En la página inicial de la consola, seleccione el icono de perfil de usuario y, a continuación, seleccione el nombre del dominio de identidad.
  3. En el separador Información de Dominio, seleccione Copiar que está al final de URL de Dominio.
  4. Abra un editor de texto y pegue la URL copiada.

    Una URL de dominio tiene un aspecto similar al siguiente:

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

    Deje a un lado la URL copiada. Lo necesitará más adelante para construir el parámetro endpoint en los comandos de la CLI.

5. Creación de un usuario

En esta tarea se asume que ha generado el par de claves de firma de API, configurado el archivo de configuración de OCI e instalado la CLI.

También debe tener la URL del dominio de identidad para crear comandos de la CLI.

Las entradas complejas, como matrices y objetos con más de un valor, se transfieren en formato JSON a la CLI. La entrada se puede proporcionar como un archivo JSON o como cadenas de parámetros en línea en la línea de comandos.

  1. Realice una de las siguientes tareas para preparar la entrada para crear un usuario:
    • Archivo JSON: abra un editor de texto. Copie el siguiente JSON y guarde el archivo con la extensión .json en cualquier directorio.

      A continuación, anote el nombre de archivo y la ruta, por ejemplo en 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
      	}
        ]
      }
    • Cadenas de parámetros en línea: abra un editor de texto. Copie las siguientes cadenas y déjelas a un lado para su uso posterior.

      En Windows, incluya cada bloque de valor de parámetro entre comillas dobles (".."). Dentro de un bloque, todas las comillas dobles (") para las cadenas de valores y claves se deben identificar con un carácter de barra invertida (\).

      --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\"]" 
      

      En MacOS, Linux o Unix, incluya cada bloque de valor de parámetro entre comillas simples ('..').

      --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. Abra un símbolo del sistema e introduzca el comando de la CLI para crear un usuario.

    En la línea de comandos, puede especificar un archivo JSON o utilizar parámetros en línea como entrada.

    • Utilice el archivo JSON que ha creado como entrada.

      Ejemplo en Windows:

      oci identity-domains user create
       --from-json file://C:\examples\clicreateuser.json
       --endpoint https://idcs-01a234bc56d77e0f89898989bg7h06ij.identity.oraclecloud.com
      
    • Utilice las cadenas de parámetros en línea que ha preparado como entrada.

      Ejemplo en 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
      

      Ejemplo de 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
      

    El parámetro endpoint es la URL de dominio que ha copiado en la tarea Obtener la URL de dominio de identidad.

  3. En la respuesta del comando, verifique que se haya creado el usuario.

    Por ejemplo:

    {
      "data": {
        ...
        "name": {
          "family-name": "Doe",
          "given-name": "John",
          ...
        },
        ...
        "ocid": "ocid1.user.oc1..areallylongstringoflettersandnumbers987654321abcxyz",
        ...
        "user-name": "jdoe@cliexample.com",
        ...
      }
    }
  4. Copie el OCID del usuario recién creado.

    Por ejemplo:

    ocid1.user.oc1..areallylongstringoflettersandnumbers987654321abcxyz

6. Obtener un usuario

En esta tarea se asume que ha creado un usuario y obtenido el OCID del usuario.

  1. En un símbolo del sistema, introduzca el comando de la CLI para recuperar los detalles de un usuario proporcionando el OCID del usuario.

    Ejemplo:

    oci identity-domains user get
     --user-id ocid1.user.oc1..areallylongstringoflettersandnumbers987654321abcxyz
     --endpoint https://idcs-01a234bc56d77e0f89898989bg7h06ij.identity.oraclecloud.com
    
  2. En la respuesta del comando, verifique que se muestren los detalles correctos del usuario.

7. Suprimir usuario

Suprima un usuario proporcionando el OCID del usuario.

  1. En un símbolo del sistema, introduzca el comando de la CLI para suprimir un usuario.

    Ejemplo:

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

    Se devuelve la siguiente respuesta:

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

  2. Introduzca y.

    A continuación, se devuelve la siguiente respuesta:

    {
      "opc-next-page": "MQ==",
      "opc-total-items": "1"
    }
    
  3. (Opcional) Puede verificar que el usuario se haya suprimido mediante la ejecución del comando de la CLI para obtener un usuario, como se describe en Obtención de un usuario.

    Si se suprime el usuario, OCI incluye el mensaje "The resource does not exist." en la respuesta.