Accesso a un database cross-tenancy mediante un'integrazione IAM
Gli utenti e i gruppi in una tenancy possono accedere alle istanze di database DBaaS in un'altra tenancy se i criteri presenti in entrambe le tenancy lo consentono.
- Informazioni sull'accesso cross-tenancy per gli utenti IAM alle istanze DBaaS
L'accesso cross-tenancy a un'istanza DBaaS di Oracle Cloud Infrastructure (OCI) è simile a un singolo scenario di tenancy, ad eccezione del fatto che le informazioni sulla tenancy sono necessarie per i mapping e le richieste di token e che in entrambe le tenancy è richiesto un criterio per consentire l'accesso a questa risorsa del database cross-tenancy. - Configurazione dei criteri
Per consentire l'accesso al database tra tenancy, è necessario creare criteri sia nella tenancy utente che nella tenancy delle risorse del database. - Mapping di schemi e ruoli di database a utenti e gruppi in un'altra tenancy
Quando si esegue questo tipo di mapping, è necessario aggiungere l'OCID tenancy alle informazioni di mapping in modo che il database sappia che si tratta dell'accesso cross-tenancy. - Configurazione dei client di database per l'accesso cross-tenancy
È possibile configurare direttamente alcuni client di database. - Richiesta di token cross-tenancy mediante l'interfaccia della riga di comando OCI
È necessario aggiungere il parametro--scope
al comando dell'interfaccia della riga di comando di Oracle Cloud Infrastructure (OCI) per ottenere un valoredb-token
per una richiesta cross-tenancy. Se il database a cui si sta accedendo si trova in un'area diversa da quella della home region della tenancy utente, è necessario aggiungere anche l'area al comando CLI OCI utilizzando il parametro --region.
Informazioni sull'accesso cross-tenancy per gli utenti IAM alle istanze DBaaS
L'accesso cross-tenancy a un'istanza DBaaS di Oracle Cloud Infrastructure (OCI) è simile a un singolo scenario di tenancy, ad eccezione del fatto che le informazioni sulla tenancy sono necessarie per i mapping e le richieste di token e che in entrambe le tenancy è necessario un criterio per consentire l'accesso a questa risorsa del database cross-tenancy.
La figura seguente illustra il processo di accesso cross-tenancy a un'istanza DBaaS OCI.
Figura 3-1 Accesso cross-tenancy a un'istanza DBaaS OCI

Descrizione della "Figura 3-1 Accesso cross-tenancy a un'istanza OCI DBaaS"
Il processo cross-tenancy è il seguente:
- Il criterio è necessario in entrambe le tenancy per approvare e ammettere l'accesso tra più tenancy.
- Il principal IAM (utente o applicazione) richiede un db-token per una risorsa cross-tenancy.
- Il valore
db-token
viene restituito e utilizzato per accedere al database in una tenancy diversa - Il database eseguirà una query tra gruppi di tenancy per i gruppi dell'utente e mapperà il principal allo schema globale e ai ruoli globali facoltativi.
È necessario eseguire la sottoscrizione della tenancy utente alle stesse aree in cui si trovano i database. Ad esempio, se i database nella tenancy del database si trovano nelle aree PHX
e IAD
, è necessario sottoscrivere la tenancy utente a queste aree. Questa non è l'area di origine, ma solo le aree aggiuntive sottoscritte nella tenancy dell'utente.
Argomento padre: Accesso a un database cross-tenancy mediante un'integrazione IAM
Configurazione dei criteri
È necessario creare criteri sia nella tenancy utente che nella tenancy delle risorse del database per consentire l'accesso al database cross-tenancy.
- Configurazione della tenancy utente di origine
Sono necessari due criteri per consentire l'accesso tra tenancy nella tenancy utente. - Configurazione della tenancy risorse del database di destinazione
La tenancy del database avrà bisogno di criteri di corrispondenza per abilitare l'accesso agli utenti dalla tenancy utente e consentire ai propri database di eseguire query sulle informazioni dei gruppi nella tenancy utente - Esempi di criteri per l'accesso tra tenancy
Gli esempi includono l'uso di una clausolaWHERE
per perfezionare la configurazione tra tenancy e altri metodi per eseguire questo tipo di configurazione.
Argomento padre: Accesso a un database cross-tenancy mediante un'integrazione IAM
Configurazione della tenancy dell'utente di origine
Sono necessari due criteri per consentire l'accesso cross-tenancy nella tenancy dell'utente.
Argomento padre: Configurazione dei criteri
Configurazione della tenancy delle risorse del database di destinazione
La tenancy del database avrà bisogno di criteri di corrispondenza per abilitare l'accesso agli utenti dalla tenancy utente e consentire ai propri database di eseguire query sulle informazioni dei gruppi nella tenancy utente
any-user
semplifichi la comprensione dei criteri richiesti, Oracle consiglia di utilizzare vincoli più rigidi in aggiunta o in luogo dell'uso di any-user
. L'opzione any-user
consentirà a qualsiasi principal o risorsa di eseguire query sui gruppi di utenti nel file user_tenancy
. Idealmente, dovresti limitarlo a consentire solo alle risorse di database (principali risorse) di eseguire le query di gruppo. È possibile eseguire questa operazione aggiungendo una clausola WHERE
ai criteri o aggiungendo un gruppo dinamico che la limiti ai membri del gruppo dinamico. La definizione di tutti i modi possibili per specificare i gruppi dinamici e i criteri non rientra nell'ambito di questo argomento. Puoi trovare ulteriori informazioni da queste fonti:
Argomento padre: Configurazione dei criteri
Esempi di criteri per l'accesso cross-tenancy
Gli esempi includono l'uso di una clausola WHERE
per perfezionare la configurazione cross-tenancy e altri metodi per eseguire questo tipo di configurazione.
È possibile aggiungere una clausola WHERE
per limitare le risorse di database consentite per eseguire la query del gruppo cross-tenancy:
ADMIT any-user of tenancy db_tenancy to {GROUP_MEMBERSHIP_INSPECT, AUTHENTICATION_INSPECT} in tenancy where request.principal.type = 'dbsystem'
Questo criterio di ammissione consente a qualsiasi servizio Base Database (tipo di risorsa: dbsystem
) nel file db_tenancy
di eseguire una query sulle informazioni di gruppo di un utente dalla tenancy utente. I nomi dei tipi di risorsa si trovano nella tabella riportata di seguito.
Un metodo simile può essere fatto mettendo lo stesso tipo di risorsa in un gruppo dinamico:
dynamic group: db_principals
any {resource.type = 'dbsystem', resource.type = 'vmcluster', resource.type = 'cloudvmcluster'}
Il gruppo dinamico nell'esempio precedente include istanze di database per Oracle Base Database Service (dbsystem
), Oracle Exadata Cloud@Customer (vmcluster
) e Oracle Exadata Database Service (cloudvmcluster
).
In questo esempio viene utilizzato un gruppo dinamico anziché any-user
:
ADMIT dynamic group db_principals of tenancy db_tenancy to {GROUP_MEMBERSHIP_INSPECT, AUTHENTICATION_INSPECT} in tenancy
È anche possibile aggiungere tutte le principal risorsa in un compartimento utilizzando resource.compartment.id
. Tuttavia, ciò potrebbe consentire anche ad altri principal di risorse non del database di eseguire la query del gruppo di tenancy incrociata. La tabella seguente fornisce un mapping dei vari tipi di risorse con il nome della piattaforma DBaaS:
Nome piattaforma DBaaS | Nome tipo di risorsa |
---|---|
ADB-S |
|
ADB-D (OPC) |
|
DBS base |
|
ExaCS |
|
ExaCC |
|
* Le istanze ADBD precedenti potrebbero ancora utilizzare il tipo di risorsa autonomousexainfrastructure
.
Argomento padre: Configurazione dei criteri
Mapping degli schemi e dei ruoli del database agli utenti e ai gruppi in un'altra tenancy
Quando si esegue questo tipo di mapping, è necessario aggiungere l'OCID tenancy alle informazioni di mapping in modo che il database riconosca che si tratta dell'accesso cross-tenancy.
CREATE USER
e CREATE ROLE
in SQL*Plus.
Argomento padre: Accesso a un database cross-tenancy mediante un'integrazione IAM
Configurazione dei client del database per l'accesso cross-tenancy
È possibile configurare direttamente alcuni client di database.
La tenancy del database deve essere identificata nella stringa di connessione o in sqlnet.ora
se il client è configurato per ottenere direttamente il token di accesso da IAM OCI. Rivedere la documentazione specifica del client per valori di parametri specifici (JDBC-thin, ODP.NET-core, gestito).
Argomento padre: Accesso a un database cross-tenancy mediante un'integrazione IAM
Richiesta di token cross-tenancy mediante l'interfaccia della riga di comando OCI
È necessario aggiungere il parametro --scope
al comando dell'interfaccia della riga di comando di Oracle Cloud Infrastructure (OCI) per ottenere un valore db-token
per una richiesta cross-tenancy. Se il database a cui si sta accedendo si trova in un'area diversa da quella della home region della tenancy utente, è necessario aggiungere anche l'area al comando CLI OCI utilizzando il parametro --region.
Per ulteriori informazioni sull'uso dei parametri facoltativi del comando oci get
, vedere Parametri opzionali.
Puoi applicarlo all'intera tenancy o includerlo nell'ambito di un compartimento o di un database nella tenancy. Quando si applica l'ambito per il compartimento o il database tra tenancy, non è necessario aggiungere anche le informazioni sulla tenancy perché gli OCID del compartimento e del database sono univoci in OCI.
Alcuni clienti possono richiedere i token direttamente da MSEI. Fare riferimento alla documentazione relativa all'impostazione dei parametri per ottenere i token di accesso MSEI OAuth2
.
Argomento padre: Accesso a un database cross-tenancy mediante un'integrazione IAM