Accès à une base de données colocative à l'aide d'une intégration IAM
Les utilisateurs et les groupes d'une location peuvent accéder aux instances de base de données DBaaS d'une autre location si les stratégies des deux locations le permettent.
- A propos de l'accès inter-location pour les utilisateurs IAM aux instances DBaaS
L'accès inter-location à une instance DBaaS Oracle Cloud Infrastructure (OCI) est similaire à un scénario de location unique, à ceci près que les informations de location sont requises pour les mises en correspondance et les demandes de jeton et qu'une stratégie est requise dans les deux locations pour autoriser cet accès aux ressources de base de données inter-location. - Configuration de stratégies
Vous devez créer des stratégies dans la location d'utilisateur et dans la location de ressource de base de données pour autoriser l'accès à la base de données inter-locations. - Mise en correspondance de schémas et de rôles de base de données avec des utilisateurs et des groupes dans une autre location
Lorsque vous effectuez ce type de mise en correspondance, vous devez ajouter l'OCID de location aux informations de mise en correspondance afin que la base de données sache qu'il s'agit d'un accès inter-locations. - Configuration des clients de base de données pour l'accès inter-location
Vous pouvez configurer certains clients de base de données directement. - Demande de jetons inter-location à l'aide de l'interface de ligne de commande OCI
Vous devez ajouter le paramètre--scope
à la commande d'interface de ligne de commande Oracle Cloud Infrastructure (OCI) afin d'obtenirdb-token
pour une demande inter-location. Si la base de données à laquelle vous accédez se trouve dans une région différente de la région d'origine de la location utilisateur, la région doit également être ajoutée à la commande d'interface de ligne de commande OCI à l'aide du paramètre --region.
A propos de l'accès inter-location pour les utilisateurs IAM aux instances DBaaS
L'accès inter-locations à une instance DBaaS Oracle Cloud Infrastructure (OCI) est similaire à un scénario de location unique, à ceci près que les informations de location sont requises pour les mises en correspondance et les demandes de jeton et qu'une stratégie est requise dans les deux locations pour autoriser cet accès aux ressources de base de données inter-locations.
La figure suivante illustre le processus d'accès inter-locations à une instance OCI DBaaS.
Figure 3-1 Accès inter-location à une instance OCI DBaaS

Description de la figure 3-1 Accès inter-location à une instance OCI DBaaS
Le processus inter-locations est le suivant :
- La stratégie est requise dans les deux locations pour approuver et admettre l'accès inter-location.
- Le principal IAM (utilisateur ou application) demande un jeton de base de données pour une ressource inter-location.
db-token
est renvoyé et est utilisé pour accéder à la base de données dans une autre location- La base de données effectue une requête de groupe inter-locations pour les groupes de l'utilisateur et met en correspondance le principal avec le schéma global et les rôles globaux facultatifs.
Vous devez abonner la location utilisateur aux régions dans lesquelles se trouvent les bases de données. Par exemple, si les bases de données de la location de base de données se trouvent dans les régions PHX
et IAD
, vous devez abonner la location utilisateur à ces régions. Il ne s'agit pas de la région d'origine, mais uniquement des régions abonnées supplémentaires dans la location utilisateur.
Configuration des stratégies
Vous devez créer des stratégies à la fois dans la location utilisateur et dans la location de ressource de base de données pour autoriser l'accès à la base de données inter-locations.
- Configuration de la location d'utilisateur source
Deux stratégies sont requises pour autoriser l'accès inter-location dans la location d'utilisateur. - Configuration de la location de ressource de base de données cible
La location de base de données aura besoin de stratégies de mise en correspondance pour permettre l'accès aux utilisateurs à partir de la location d'utilisateur, ainsi que pour autoriser ses propres bases de données à interroger les informations de groupe dans la location d'utilisateur - Exemples de stratégie pour l'accès inter-location
Les exemples incluent l'utilisation d'une clauseWHERE
pour affiner la configuration inter-location, ainsi que d'autres méthodes d'exécution de ce type de configuration.
Configuration de la location utilisateur source
Deux stratégies sont requises pour autoriser l'accès inter-location dans la location utilisateur.
Thème parent : Configuration des stratégies
Configuration de la location de ressource de base de données cible
La location de base de données aura besoin de stratégies de mise en correspondance pour permettre l'accès aux utilisateurs à partir de la location d'utilisateur, ainsi que pour autoriser ses propres bases de données à interroger les informations de groupe dans la location d'utilisateur
any-user
facilite la compréhension des stratégies requises, Oracle recommande d'utiliser des contraintes plus fortes en plus ou au lieu d'utiliser any-user
. L'option any-user
permet à n'importe quel principal ou ressource d'interroger les groupes d'utilisateurs dans user_tenancy
. Dans l'idéal, limitez cette option à autoriser uniquement les ressources de base de données (principaux de ressource) à effectuer des requêtes de groupe. Pour ce faire, ajoutez une clause WHERE
aux stratégies ou ajoutez un groupe dynamique qui le limite aux membres du groupe dynamique. La définition de toutes les méthodes possibles pour spécifier des groupes dynamiques et des stratégies ne fait pas partie de cette rubrique. Pour plus d'informations, consultez les sources suivantes :
Thème parent : Configuration des stratégies
Exemples de stratégie pour l'accès inter-locations
Par exemple, l'utilisation d'une clause WHERE
pour affiner la configuration inter-location et d'autres méthodes d'exécution de ce type de configuration.
Vous pouvez ajouter une clause WHERE
pour limiter les ressources de base de données autorisées à effectuer la requête de groupe inter-locations :
ADMIT any-user of tenancy db_tenancy to {GROUP_MEMBERSHIP_INSPECT, AUTHENTICATION_INSPECT} in tenancy where request.principal.type = 'dbsystem'
Cette stratégie d'admission permet à tout service Base Database (type de ressource : dbsystem
) dans db_tenancy
d'interroger les informations de groupe d'un utilisateur à partir de la location d'utilisateur. Les noms de types de ressources figurent dans le tableau ci-dessous.
Une méthode similaire peut être effectuée en plaçant le même type de ressource dans un groupe dynamique :
dynamic group: db_principals
any {resource.type = 'dbsystem', resource.type = 'vmcluster', resource.type = 'cloudvmcluster'}
Le groupe dynamique de l'exemple précédent inclut les instances de base de données pour Oracle Base Database Service (dbsystem
), Oracle Exadata Cloud@Customer (vmcluster
) et Oracle Exadata Database Service (cloudvmcluster
).
Cet exemple utilise un groupe dynamique au lieu de any-user
:
ADMIT dynamic group db_principals of tenancy db_tenancy to {GROUP_MEMBERSHIP_INSPECT, AUTHENTICATION_INSPECT} in tenancy
Vous pouvez également ajouter tous les principaux de ressource d'un compartiment à l'aide de resource.compartment.id
. Toutefois, cela peut également permettre à d'autres principaux de ressource autres que de base de données d'effectuer la requête de groupe inter-locations. Le tableau suivant fournit une mise en correspondance des différents types de ressource avec le nom de plate-forme DBaaS :
DBaaS Nom de plate-forme | Nom de type de ressource |
---|---|
ADB-S |
|
ADB-D (OPC) |
|
DBS de base |
|
ExaCS |
|
ExaCC |
|
* Les anciennes instances ADBD peuvent toujours utiliser le type de ressource autonomousexainfrastructure
.
Thème parent : Configuration des stratégies
Mise en correspondance de schémas et de rôles de base de données avec des utilisateurs et des groupes dans une autre location
Lorsque vous effectuez ce type de mise en correspondance, vous devez ajouter l'OCID de location aux informations de mise en correspondance afin que la base de données sache qu'il s'agit d'un accès inter-locations.
CREATE USER
et CREATE ROLE
dans SQL*Plus.
Configuration des clients de base de données pour l'accès inter-location
Vous pouvez configurer directement certains clients de base de données.
La location de base de données doit être identifiée dans la chaîne de connexion ou dans sqlnet.ora
si le client est configuré pour obtenir directement le jeton d'accès à partir d'OCI IAM. Consultez la documentation propre au client pour connaître les valeurs de paramètre spécifiques (JDBC-thin, ODP.NET-core, managed).
Demande de jetons inter-location à l'aide de l'interface de ligne de commande OCI
Vous devez ajouter le paramètre --scope
à la commande d'interface de ligne de commande Oracle Cloud Infrastructure (OCI) afin d'obtenir un db-token
pour une demande inter-locations. Si la base de données à laquelle vous accédez se trouve dans une région différente de la région d'origine de la location utilisateur, la région doit également être ajoutée à la commande d'interface de ligne de commande OCI à l'aide du paramètre --region.
Pour plus d'informations sur l'utilisation des paramètres facultatifs de la commande oci get
, reportez-vous à la section Optional Parameters.
Vous pouvez la définir sur l'ensemble de la location ou la définir sur un compartiment ou une base de données de la location. Lors de la définition de la portée pour un compartiment ou une base de données inter-location, vous n'avez pas besoin d'ajouter également les informations de location car les OCID de compartiment et de base de données sont uniques dans OCI.
Certains clients peuvent demander les jetons directement auprès de MSEI. Reportez-vous à la documentation relative à la définition des paramètres pour obtenir les jetons d'accès MSEI OAuth2
.