Acceso a un arrendamiento cruzado de base de datos mediante una integración de IAM
Los usuarios y grupos de un arrendamiento pueden acceder a instancias de Autonomous Database en otro arrendamiento si las políticas de ambos arrendamientos lo permiten.
- Acerca del acceso entre arrendamientos para usuarios de IAM a Autonomous Database
El acceso entre arrendamientos a una instancia de Autonomous Database es similar a un escenario de arrendamiento único, excepto que la información de arrendamiento es necesaria para asignaciones y solicitudes de token, y se necesita una política en ambos arrendamientos para permitir el acceso a este recurso de base de datos entre arrendamientos. - Configuración de políticas
Debe crear políticas tanto en el arrendamiento de usuario como en el arrendamiento de recursos de base de datos para permitir el acceso a la base de datos entre arrendamientos. - Asignación de esquemas y roles de base de datos a usuarios y grupos en otro arrendamiento
Al realizar este tipo de asignación, debe agregar el OCID de arrendamiento a la información de asignación para que la base de datos sepa que es acceso entre arrendamientos. - Configuración de clientes de base de datos para el acceso entre arrendamientos
Puede configurar algunos clientes de base de datos directamente. - Solicitud de tokens entre arrendamientos mediante la interfaz de línea de comandos de OCI
Debe agregar el parámetro--scope
al comando de la interfaz de línea de comandos de Oracle Cloud Infrastructure (OCI) para obtener undb-token
para una solicitud entre arrendamientos.
Acerca del acceso entre arrendamientos para usuarios de IAM a Autonomous Database
El acceso entre arrendamientos a una instancia de Autonomous Database es similar a un escenario de arrendamiento único, excepto que la información de arrendamiento es necesaria para las asignaciones y las solicitudes de token, y se necesita una política en ambos arrendamientos para permitir el acceso a este recurso de base de datos entre arrendamientos.
En la siguiente figura se muestra el proceso de acceso entre arrendamientos a una instancia de Autonomous Database.
![A continuación se muestra la descripción de db_cross_tenancy.eps A continuación se muestra la descripción de db_cross_tenancy.eps](img/db_cross_tenancy.png)
El proceso de arrendamiento cruzado es el siguiente:
- La política es necesaria en ambos arrendamientos para aprobar y admitir el acceso entre arrendamientos.
- El principal de IAM (usuario o aplicación) solicita un token de base de datos para un recurso entre arrendamientos.
- Se devuelve
db-token
y se utiliza para acceder a la base de datos en un arrendamiento diferente. - La base de datos realizará una consulta de grupo entre arrendamientos para los grupos del usuario y asignará el principal al esquema global y los roles globales opcionales.
Configuración de Políticas
Debe crear políticas tanto en el arrendamiento de usuario como en el arrendamiento de recursos de base de datos para permitir el acceso a la base de datos entre arrendamientos.
- Configuración del arrendamiento de usuario de origen
Se necesitan dos políticas para permitir el acceso entre arrendamientos en el arrendamiento de usuario. - Configuración del arrendamiento de recursos de la base de datos de destino
El arrendamiento de la base de datos necesitará políticas coincidentes para permitir el acceso a los usuarios desde el arrendamiento de usuario, así como permitir que sus propias bases de datos consulten la información del grupo en el arrendamiento de usuario - Ejemplos de políticas para el acceso entre arrendamientos
Los ejemplos incluyen el uso de una cláusulaWHERE
para acotar la configuración entre arrendamientos y otros métodos para realizar este tipo de configuración.
Configuración del arrendamiento de usuario de origen
Se necesitan dos políticas para permitir el acceso entre arrendamientos en el arrendamiento de usuario.
Tema principal: Configuración de políticas
Configuración del arrendamiento de recursos de la base de datos de destino
El arrendamiento de base de datos necesitará políticas coincidentes para permitir el acceso a los usuarios desde el arrendamiento de usuario, así como permitir que sus propias bases de datos consulten la información del grupo en el arrendamiento de usuario
any-user
facilita la comprensión de las políticas necesarias, Oracle recomienda que utilice restricciones más estrictas además de o en lugar de utilizar any-user
. La opción any-user
permitirá que cualquier principal o recurso consulte grupos de usuarios en user_tenancy
. Idealmente, debería limitar esto a permitir que los recursos de la base de datos (principales de recursos) realicen las consultas de grupo. Para ello, puede agregar una cláusula WHERE
a las políticas o agregar un grupo dinámico que lo limite a los miembros del grupo dinámico. La definición de todas las formas posibles de especificar grupos dinámicos y políticas está fuera del ámbito de este tema. Puede encontrar más información de estas fuentes:
Tema principal: Configuración de políticas
Ejemplos de políticas para el acceso entre arrendamientos
Entre los ejemplos se incluye el uso de una cláusula WHERE
para acotar la configuración entre arrendamientos y otros métodos para realizar este tipo de configuración.
Puede agregar una cláusula WHERE
para limitar los recursos de base de datos que pueden realizar la consulta de grupo entre arrendamientos:
ADMIT any-user of tenancy db_tenancy to {GROUP_MEMBERSHIP_INSPECT, AUTHENTICATION_INSPECT} in tenancy where request.principal.type = 'dbsystem'
Esta política de admisión permite que cualquier servicio de base de datos base (tipo de recurso: dbsystem
) de db_tenancy
consulte la información de grupo de un usuario desde el arrendamiento de usuario. Los nombres de tipos de recursos se encuentran en la siguiente tabla.
Un método similar para crear una política es agregar el tipo de recurso para Autonomous Database a un grupo dinámico:
dynamic group: db_principals any {resource.type = ‘autonomousdatabase’}
En este ejemplo se utiliza un grupo dinámico en lugar de any-user
:
ADMIT dynamic group db_principals of tenancy db_tenancy to {GROUP_MEMBERSHIP_INSPECT, AUTHENTICATION_INSPECT} in tenancy
También puede agregar todos los principales de recurso en un compartimento mediante resource.compartment.id
. Sin embargo, esto también puede permitir que otros principales de recursos que no sean de base de datos realicen la consulta de grupo entre arrendamientos.
Tema principal: Configuración de políticas
Asignación de esquemas y roles de base de datos a usuarios y grupos en otro arrendamiento
Al realizar este tipo de asignación, debe agregar el OCID de arrendamiento a la información de asignación para que la base de datos sepa que es acceso entre arrendamientos.
CREATE USER
y CREATE ROLE
en SQL*Plus.
Configuración de clientes de base de datos para el acceso entre arrendamientos
Puede configurar algunos clientes de base de datos directamente.
El arrendamiento de base de datos se debe identificar en la cadena de conexión o en sqlnet.ora
si el cliente está configurado para obtener directamente el token de acceso de OCI IAM. Revise la documentación específica del cliente para obtener valores de parámetros específicos (JDBC-thin, ODP.NET-core, managed).
Solicitud de tokens entre arrendamientos mediante la interfaz de línea de comandos de OCI
Debe agregar el parámetro --scope
al comando de interfaz de línea de comandos de Oracle Cloud Infrastructure (OCI) para obtener un valor db-token
para una solicitud entre arrendamientos.
Consulte Optional Parameters para obtener más detalles sobre el uso de los parámetros opcionales del comando oci get
.
Puede limitarlo a todo el arrendamiento o a un compartimento o base de datos del arrendamiento. Al definir el ámbito para el compartimento o la base de datos entre arrendamientos, no es necesario que también agregue la información del arrendamiento porque el compartimento y los OCID de base de datos son únicos en OCI.
Algunos clientes pueden solicitar los tokens directamente desde MSEI. Consulte la documentación sobre la configuración de los parámetros para obtener los tokens de acceso OAuth2
de MSEI.