Connessione con un utente proxy mappato

Per connettersi a un sistema DB utilizzando un utente proxy mappato, mappare prima gli utenti con proxy MySQL ai gruppi IAM, quindi utilizzare l'utente proxy mappato per connettersi al sistema DB.

  1. Eseguire il mapping dell'utente con proxy MySQL a un gruppo IAM per ottenere l'identità e i privilegi dell'utente MySQL. Vedere Mapping di un utente proxy MySQL a un gruppo IAM.
  2. Connettersi al sistema DB con l'utente proxy MySQL mappato. Vedere Connessione con un utente proxy mappato.

Mapping di un utente proxy MySQL a un gruppo IAM

Eseguire il mapping di un utente con proxy MySQL a un gruppo IAM per concedere l'accesso al MySQL Server del sistema DB.

Uso di un client dalla riga di comando

Utilizzare un client della riga di comando, ad esempio il client MySQL o la shell MySQL, per mappare gli utenti con proxy MySQL ai gruppi IAM.

Questa attività richiede quanto segue:
  • Gli OCID dei gruppi IAM e la tenancy in cui vengono definiti i gruppi.
  • Sistema DB in esecuzione.
  • Una VCN configurata correttamente che concede l'accesso dalla riga di comando al sistema DB da un'istanza di computazione o da un computer locale.
  • Client della riga di comando configurato correttamente.
  • Per la configurazione richiesta per l'utilizzo del plugin authentication_oci, vedere Prerequisiti.
Per creare e mappare gli utenti con proxy MySQL, <pUser1>, <pUser2> e <pUserN> ai gruppi IAM, <IAMGroup1OCID>, <IAMGroup2OCID> e <IAMGroupNOCID>, effettuare le operazioni riportate di seguito.
Nota

È possibile creare e mappare un numero qualsiasi di utenti con proxy MySQL ai gruppi IAM.
  1. Creare gli utenti MySQL, <pUser1>, <pUser2> e <pUserN> nel 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. Concedere i privilegi necessari (ad esempio i privilegi di database, i privilegi di tabella e i privilegi di colonna) agli utenti proxy MySQL utilizzando l'istruzione GRANT. Vedere Dichiarazione GRANT.
    Vengono creati gli utenti con proxy MySQL, <pUser1>, <pUser2> e <pUserN> con i privilegi richiesti.
  3. Eseguire il mapping degli utenti con proxy MySQL ai gruppi IAM:
    CREATE USER ''@'<Hostname>' IDENTIFIED WITH 'authentication_oci'
    AS '{"tenancy": "<TenancyOCID>",
    "group_mapping": {"<IAMGroup1OCID>": "<pUser1>",
                      "<IAMGroup2OCID>": "<pUser2>",
                      "<IAMGroupNOCID>": "<pUserN>" }}';
    Se un utente IAM fa parte di più gruppi IAM e si mappano questi gruppi IAM a utenti proxy MySQL diversi, l'utente IAM viene mappato al primo utente proxy MySQL (corrispondente al gruppo IAM di cui fa parte l'utente IAM) definito nel campo group_mapping. Ad esempio, se un utente IAM fa parte di <IAMGroup2OCID> e <IAMGroupNOCID>, viene mappato al primo utente proxy MySQL, <pUser2>, che corrisponde al primo gruppo IAM di cui fa parte l'utente IAM, <IAMGroup2OCID>.
    • CREATE USER: crea un utente anonimo in grado di connettersi da <Hostname> con le credenziali corrette. È possibile limitare l'host a uno o più host specifici. Vedere CREATE USER.
    • <Hostname>: specificare il nome host dal quale l'utente si connette.

      La combinazione nome utente-nome host deve essere univoca per ogni tenancy. Se si esegue il mapping di ''@'hostname1' a una tenancy in una richiesta di mapping dei gruppi, non è possibile riutilizzare questa combinazione nome utente-nome host per un'altra richiesta a un'altra tenancy. Per eseguire più mapping a tenancy diverse, utilizzare combinazioni nome utente-nome host diverse, ad esempio ''@'hostname2'.

    • authentication_oci: specificare il nome del plugin di autenticazione in MySQL Server.
    • tenancy: specificare l'OCID della tenancy in cui risiedono l'utente e il sistema DB. È possibile specificare una tenancy per ogni istruzione CREATE USER.
    • group_mapping: specificare una lista di OCID gruppo per i nomi utente proxy. Gli OCID del gruppo devono appartenere alla tenancy definita nel parametro tenancy. Per mappare i gruppi da una tenancy diversa, eseguire di nuovo il comando CREATE USER, con la tenancy, i gruppi e gli utenti richiesti.
  4. Concedere i privilegi proxy all'utente anonimo creato nel passo 3:
    GRANT PROXY ON '<pUser1>' TO ''@'<Hostname>';
    GRANT PROXY ON '<pUser2>' TO ''@'<Hostname>';
    GRANT PROXY ON '<pUserN>' TO ''@'<Hostname>';
Gli utenti con proxy MySQL <pUser1>, <pUser1> e <pUserN> vengono mappati ai gruppi IAM, rispettivamente <IAMGroup1OCID>, <IAMGroup2OCID> e <IAMGroupNOCID>, consentendo ai membri del gruppo IAM di accedere a MySQL Server con tutte le identità e i privilegi assegnati agli utenti con proxy MySQL.

Connessione con un utente proxy mappato

Connettersi a un sistema DB con un utente proxy mappato. L'utente proxy mappato presuppone l'identità e i privilegi di un utente proxy MySQL. Gli utenti locali, federati e con provisioning eseguito possono utilizzare un token di sicurezza IAM per connettersi a un sistema DB. Tuttavia, solo gli utenti locali e di cui è stato eseguito il provisioning possono utilizzare una coppia di chiavi API per connettersi a un sistema DB.

Uso di un client dalla riga di comando

Utilizzare un client della riga di comando, ad esempio il client MySQL o la shell MySQL, per connettersi a un sistema DB con un utente proxy mappato.

Questa procedura si basa sul presupposto che:
  • Sistema DB in esecuzione.
  • File di configurazione. Vedere file di configurazione di SDK e CLI.
  • Una VCN configurata correttamente che concede l'accesso dalla riga di comando al sistema DB da un'istanza di computazione o da un computer locale.
  • OCID utente o ID utente dal dominio del provider di identità dell'utente proxy mappato.
  • Per la configurazione richiesta per l'utilizzo del plugin authentication_oci, vedere Prerequisiti.
Effettuare una delle operazioni riportate di seguito per connettersi al sistema DB utilizzando un utente proxy mappato.
  1. Dal client MySQL: eseguire il comando seguente:
    mysql -h <DBSystemEndpointIPAddress> --port <PortNumber> --oci-config-file=<PathToOciConfig> 
    --authentication-oci-client-config-profile=<ConfigProfile> -u <UserOCIDOrUserIDFromIdp>
    • h: specificare l'indirizzo IP dell'endpoint del sistema DB.
    • port: specificare la porta su cui il sistema DB è in ascolto. Il valore predefinito per il server di amministrazione è 3306.
    • oci-config-file: (facoltativo) specificare la posizione del file di configurazione. Se questa opzione non viene specificata, il client MySQL legge la configurazione dalla posizione predefinita, %HOMEDRIVE%%HOMEPATH%\.oci\config per i sistemi Windows e ~/.oci/config per tutti gli altri sistemi operativi.
    • authentication-oci-client-config-profile: (Facoltativo) Specificare il nome del profilo di configurazione, specificato nel file di configurazione, le cui opzioni di configurazione devono essere utilizzate dal client MySQL per l'autenticazione. Se questa opzione non viene specificata, il client MySQL legge le opzioni di configurazione menzionate nel profilo DEFAULT.
    • u: a seconda che si stia effettuando la connessione con un utente locale, federato o di cui è stato eseguito il provisioning, specificare l'OCID (identificativo Oracle Cloud) o l'ID utente dal dominio del provider di identità:
      • Utente locale: specificare l'OCID utente IAM dell'utente locale.
      • Utente federato: specificare l'ID utente dal dominio del provider di identità.
      • Utente con provisioning eseguito con chiavi API: specificare l'OCID utente IAM dell'utente locale.
      • Utente con provisioning eseguito con token di sicurezza IAM: specificare l'ID utente dal dominio del provider di identità.
  2. Da MySQL Shell 8.0: eseguire il comando seguente:
    mysqlsh <UserOCIDOrUserIDFromIdp>@<Hostname> --auth-method=authentication_oci_client
    • <UserOCIDOrUserIDFromIdp>: a seconda che si stia effettuando la connessione con un utente locale, federato o di cui è stato eseguito il provisioning, specificare l'OCID (identificativo Oracle Cloud) o l'ID utente dal dominio del provider di identità:
      • Utente locale: specificare l'OCID utente IAM dell'utente locale.
      • Utente federato: specificare l'ID utente dal dominio del provider di identità.
      • Utente con provisioning eseguito con chiavi API: specificare l'OCID utente IAM dell'utente locale.
      • Utente con provisioning eseguito con token di sicurezza IAM: specificare l'ID utente dal dominio del provider di identità.
    • <Hostname>: specificare l'indirizzo IP dell'endpoint del sistema DB.
    • auth-method=authentication_oci_client: specificare il nome del plugin client utilizzato per autenticare la richiesta. La shell MySQL utilizza solo la configurazione CLI predefinita.
      Nota

      Questo metodo di autenticazione supporta solo il protocollo MySQL classico.
    Nota

    MySQL La shell 8.0.33 o successive consente di configurare la posizione del file di configurazione con l'opzione oci.configFile.
  3. Da MySQL Shell 8.1 o successiva: eseguire il comando seguente:
    mysqlsh <UserOCIDOrUserIDFromIdp>@<Hostname> --oci-config-file=<PathToOciConfig> 
    --authentication-oci-client-config-profile=<ConfigProfile> --auth-method=authentication_oci_client
    • <UserOCIDOrUserIDFromIdp>: a seconda che si stia effettuando la connessione con un utente locale, federato o di cui è stato eseguito il provisioning, specificare l'OCID (identificativo Oracle Cloud) o l'ID utente dal dominio del provider di identità:
      • Utente locale: specificare l'OCID utente IAM dell'utente locale.
      • Utente federato: specificare l'ID utente dal dominio del provider di identità.
      • Utente con provisioning eseguito con chiavi API: specificare l'OCID utente IAM dell'utente locale.
      • Utente con provisioning eseguito con token di sicurezza IAM: specificare l'ID utente dal dominio del provider di identità.
    • <Hostname>: specificare l'indirizzo IP dell'endpoint del sistema DB.
    • oci-config-file: (facoltativo) specificare la posizione del file di configurazione. Se questa opzione non viene specificata, la shell MySQL legge la configurazione dalla posizione predefinita, %HOMEDRIVE%%HOMEPATH%\.oci\config per i sistemi Windows e ~/.oci/config per tutti gli altri sistemi operativi.
    • authentication-oci-client-config-profile: (facoltativo) specificare il nome del profilo di configurazione, specificato nel file di configurazione, le cui opzioni di configurazione MySQL Shell devono utilizzare per l'autenticazione. Se questa opzione non viene specificata, la shell MySQL legge le opzioni di configurazione menzionate nel profilo DEFAULT.
    • auth-method=authentication_oci_client: specificare il nome del plugin client utilizzato per autenticare la richiesta.
      Nota

      Questo metodo di autenticazione supporta solo il protocollo MySQL classico.
L'utente proxy mappato, <UserOCIDOrUserIDFromIdp>, è connesso al sistema DB.