Conexión con un usuario proxy asignado

Para conectarse a un sistema de base de datos mediante un usuario proxy asignado, asigne primero los usuarios proxy MySQL a grupos de IAM y, a continuación, utilice el usuario proxy asignado para conectarse al sistema de base de datos.

  1. Asigne el usuario proxy MySQL a un grupo de IAM para obtener la identidad y los privilegios del usuario MySQL. Consulte Asignación de un usuario proxy MySQL a un grupo de IAM.
  2. Conéctese al sistema de base de datos con el usuario de proxy MySQL asignado. Consulte Connecting With a Mapped Proxy User.

Asignación de un usuario proxy MySQL a un grupo de IAM

Asigne un usuario proxy MySQL a un grupo de IAM para otorgar acceso a MySQL Server del sistema de base de datos.

Uso de un cliente de línea de comandos

Utilice un cliente de línea de comandos como el cliente MySQL o el shell MySQL para asignar usuarios proxy MySQL a grupos de IAM.

Para esta tarea, se necesita lo siguiente:
  • Los OCID de los grupos de IAM y el arrendamiento en el que se definen los grupos.
  • Un sistema de base de datos en ejecución.
  • Una VCN configurada correctamente que otorga acceso a la línea de comandos al sistema de base de datos desde una instancia informática o una máquina local.
  • Un cliente de línea de comandos configurado correctamente.
  • Para conocer la configuración necesaria para utilizar el plugin authentication_oci, consulte Requisitos.
Realice lo siguiente para crear y asignar usuarios proxy MySQL, <pUser1>, <pUser2> y <pUserN> a grupos de IAM, <IAMGroup1OCID>, <IAMGroup2OCID> y <IAMGroupNOCID>, respectivamente:
Nota

Puede crear y asignar cualquier número de usuarios proxy MySQL a grupos de IAM.
  1. Cree usuarios MySQL, <pUser1>, <pUser2> y <pUserN> para proxy:
    CREATE USER <pUser1> IDENTIFIED BY <password> ACCOUNT LOCK;
    CREATE USER <pUser2> IDENTIFIED BY <password> ACCOUNT LOCK;
    CREATE USER <pUserN> IDENTIFIED BY <password> ACCOUNT LOCK;
  2. Otorgue los privilegios necesarios (como privilegios de base de datos, privilegios de tabla y privilegios de columna) a los usuarios proxy MySQL mediante la sentencia GRANT. Consulte Sentencia GRANT.
    Se crean los usuarios proxy MySQL, <pUser1>, <pUser2> y <pUserN> con los privilegios necesarios.
  3. Asigne los usuarios proxy MySQL a los grupos de IAM:
    CREATE USER ''@'<Hostname>' IDENTIFIED WITH 'authentication_oci'
    AS '{"tenancy": "<TenancyOCID>",
    "group_mapping": {"<IAMGroup1OCID>": "<pUser1>",
                      "<IAMGroup2OCID>": "<pUser2>",
                      "<IAMGroupNOCID>": "<pUserN>" }}';
    Si un usuario de IAM forma parte de más de un grupo de IAM y asigna estos grupos de IAM a diferentes usuarios proxy de MySQL, el usuario de IAM se asigna al primer usuario proxy de MySQL (que corresponde al grupo de IAM del que forma parte el usuario de IAM) definido en el campo group_mapping. Por ejemplo, si un usuario de IAM forma parte de <IAMGroup2OCID> y <IAMGroupNOCID>, se asigna al primer usuario proxy MySQL, <pUser2>, que corresponde al primer grupo de IAM del que forma parte el usuario de IAM, <IAMGroup2OCID>.
    • CREATE USER: cree un usuario anónimo que se pueda conectar desde <Hostname> con las credenciales correctas. El host se puede restringir a un host o grupo de hosts específicos. Consulte CREATE USER.
    • <Hostname>: especifique el nombre de host desde el que se conecta el usuario.

      La combinación de nombre de usuario-nombre de host debe ser única para cada arrendamiento. Si asigna ''@'hostname1' a un arrendamiento en una solicitud de asignación de grupo, no puede reutilizar esta combinación de nombre de usuario y nombre de host para otra solicitud a otro arrendamiento. Para realizar varias asignaciones a distintos arrendamientos, utilice diferentes combinaciones de nombre de usuario y nombre de host, como ''@'hostname2'.

    • authentication_oci: especifique el nombre del plugin de autenticación en MySQL Server.
    • tenancy: especifique el OCID del arrendamiento en el que residen el usuario y el sistema de base de datos. Puede especificar un arrendamiento por sentencia CREATE USER.
    • group_mapping: especifique una lista de OCID de grupo para los nombres de usuario de proxy. Los OCID del grupo deben pertenecer al arrendamiento definido en el parámetro tenancy. Para asignar grupos de un arrendamiento diferente, vuelva a ejecutar el comando CREATE USER con el arrendamiento, los grupos y los usuarios necesarios.
  4. Otorgue privilegios de proxy al usuario anónimo creado en el paso 3:
    GRANT PROXY ON '<pUser1>' TO ''@'<Hostname>';
    GRANT PROXY ON '<pUser2>' TO ''@'<Hostname>';
    GRANT PROXY ON '<pUserN>' TO ''@'<Hostname>';
Los usuarios proxy MySQL <pUser1>, <pUser1> y <pUserN> se asignan a los grupos de IAM, <IAMGroup1OCID>, <IAMGroup2OCID> y <IAMGroupNOCID> respectivamente, lo que permite a los miembros del grupo de IAM acceder a MySQL Server con toda la identidad y los privilegios asignados a los usuarios proxy MySQL.

Conexión con un usuario proxy asignado

Conéctese a un sistema de base de datos con un usuario proxy asignado. El usuario proxy asignado asume la identidad y los privilegios de un usuario proxy MySQL. Los usuarios locales, federados y aprovisionados pueden utilizar un token de seguridad de IAM para conectarse a un sistema de base de datos. Sin embargo, solo los usuarios locales y aprovisionados pueden utilizar un par de claves de API para conectarse a un sistema de base de datos.

Uso de un cliente de línea de comandos

Utilice un cliente de línea de comandos como MySQL Client o MySQL Shell para conectarse a un sistema de base de datos con un usuario proxy asignado.

Para realizar esta tarea se supone que tiene lo siguiente:
  • Un sistema de base de datos en ejecución.
  • Un archivo de configuración. Consulte Archivo de configuración de SDK y CLI.
  • Una VCN configurada correctamente que otorga acceso a la línea de comandos al sistema de base de datos desde una instancia informática o una máquina local.
  • OCID de usuario o ID de usuario del dominio de proveedor de identidad del usuario de proxy asignado.
  • Para conocer la configuración necesaria para utilizar el plugin authentication_oci, consulte Requisitos.
Realice uno de los siguientes pasos para conectarse al sistema de base de datos mediante un usuario proxy asignado:
  1. En MySQL Client: ejecute el siguiente comando:
    mysql -h <DBSystemEndpointIPAddress> --port <PortNumber> --oci-config-file=<PathToOciConfig> 
    --authentication-oci-client-config-profile=<ConfigProfile> -u <UserOCIDOrUserIDFromIdp>
    • h: especifique la dirección IP del punto final del sistema de base de datos.
    • port: especifique el puerto en el que recibe el sistema de base de datos. El valor por defecto es 3306.
    • oci-config-file: (Opcional) especifique la ubicación del archivo de configuración. Si no especifica esta opción, el cliente MySQL lee la configuración desde la ubicación predeterminada, %HOMEDRIVE%%HOMEPATH%\.oci\config para sistemas Windows y ~/.oci/config, para todos los demás sistemas operativos.
    • authentication-oci-client-config-profile: (opcional) especifique el nombre del perfil de configuración, que se especifica en el archivo de configuración, cuyas opciones de configuración debe utilizar el cliente MySQL para la autenticación. Si no especifica esta opción, el cliente MySQL lee las opciones de configuración mencionadas en el perfil DEFAULT.
    • u: en función de si se conecta a un usuario local, federado o aprovisionado, especifique el OCID (identificador de Oracle Cloud) o el ID de usuario del dominio de proveedor de identidad:
      • Usuario local: especifique el OCID de usuario de IAM del usuario local.
      • Usuario federado: especifique el ID de usuario del dominio de proveedor de identidad.
      • Usuario aprovisionado con claves de API: especifique el OCID de usuario de IAM del usuario local.
      • Usuario aprovisionado con token de seguridad de IAM: especifique el ID de usuario del dominio de proveedor de identidad.
  2. EnMySQL Shell 8.0: ejecute el siguiente comando:
    mysqlsh <UserOCIDOrUserIDFromIdp>@<Hostname> --auth-method=authentication_oci_client
    • <UserOCIDOrUserIDFromIdp>: en función de si se conecta a un usuario local, federado o aprovisionado, especifique el OCID (identificador de Oracle Cloud) o el ID de usuario del dominio de proveedor de identidad:
      • Usuario local: especifique el OCID de usuario de IAM del usuario local.
      • Usuario federado: especifique el ID de usuario del dominio de proveedor de identidad.
      • Usuario aprovisionado con claves de API: especifique el OCID de usuario de IAM del usuario local.
      • Usuario aprovisionado con token de seguridad de IAM: especifique el ID de usuario del dominio de proveedor de identidad.
    • <<Hostname>: especifique la dirección IP del punto final del sistema de base de datos.
    • auth-method=authentication_oci_client: especifique el nombre del plugin de cliente utilizado para autenticar la solicitud. El shell MySQL solo utiliza la configuración de la CLI por defecto.
      Nota

      Este método de autenticación solo soporta el protocolo MySQL clásico.
    Nota

    El shell 8.0.33 o posterior de MySQL permite configurar la ubicación del archivo de configuración con la opción oci.configFile.
  3. Desde MySQL Shell 8.1 o posterior: ejecute el siguiente comando:
    mysqlsh <UserOCIDOrUserIDFromIdp>@<Hostname> --oci-config-file=<PathToOciConfig> 
    --authentication-oci-client-config-profile=<ConfigProfile> --auth-method=authentication_oci_client
    • <UserOCIDOrUserIDFromIdp>: en función de si se conecta a un usuario local, federado o aprovisionado, especifique el OCID (identificador de Oracle Cloud) o el ID de usuario del dominio de proveedor de identidad:
      • Usuario local: especifique el OCID de usuario de IAM del usuario local.
      • Usuario federado: especifique el ID de usuario del dominio de proveedor de identidad.
      • Usuario aprovisionado con claves de API: especifique el OCID de usuario de IAM del usuario local.
      • Usuario aprovisionado con token de seguridad de IAM: especifique el ID de usuario del dominio de proveedor de identidad.
    • <<Hostname>: especifique la dirección IP del punto final del sistema de base de datos.
    • oci-config-file: (Opcional) especifique la ubicación del archivo de configuración. Si no especifica esta opción, el shell MySQL lee la configuración desde la ubicación predeterminada, %HOMEDRIVE%%HOMEPATH%\.oci\config para sistemas Windows y ~/.oci/config, para todos los demás sistemas operativos.
    • authentication-oci-client-config-profile: (opcional) especifique el nombre del perfil de configuración, que se especifica en el archivo de configuración, cuyas opciones de configuración debe utilizar el shell MySQL para la autenticación. Si no especifica esta opción, el shell MySQL lee las opciones de configuración mencionadas en el perfil DEFAULT.
    • auth-method=authentication_oci_client: especifique el nombre del plugin de cliente utilizado para autenticar la solicitud.
      Nota

      Este método de autenticación solo soporta el protocolo MySQL clásico.
El usuario de proxy asignado, <UserOCIDOrUserIDFromIdp>, está conectado al sistema de base de datos.