Paquete DBMS_MFA_ADMIN
El paquete DBMS_MFA_ADMIN facilita y configura el acceso al token SQL.
- Resumen de subprogramas DBMS_MFA_ADMIN
Resumen de los subprogramas incluidos en el paqueteDBMS_MFA_ADMIN.
Resumen de Subprogramas DBMS_MFA_ADMIN
Resume los subprogramas incluidos en el paquete DBMS_MFA_ADMIN.
- Procedimiento REGISTER_USER
El procedimientoDBMS_MFA_ADMIN.REGISTER_USERregistra un usuario de base de datos existente para MFA mediante la asociación del usuario con una dirección de correo electrónico como identidad externa. Puede activar la MFA para la autenticación de conexión, el acceso SQL o ambos. Es compatible con aplicaciones de correo electrónico, Slack y autenticador para entregar tokens de acceso seguro. - Procedimiento SET_GLOBAL_TOKEN_ATTRIBUTES
El procedimientoDBMS_MFA_ADMIN.SET_GLOBAL_TOKEN_ATTRIBUTESdefine o actualiza los atributos de MFA del token de acceso SQL de forma global para todos los usuarios registrados. - Procedimiento SET_ATTRIBUTE
DBMS_MFA_ADMIN.SET_ATTRIBUTEdefine o actualiza un único atributo de MFA para un usuario registrado y sustituye cualquier valor por defecto global aplicable para ese atributo. - Procedimiento SET_ATTRIBUTES
El procedimientoDBMS_MFA_ADMIN.SET_ATTRIBUTESdefine o actualiza uno o más atributos de MFA para un usuario registrado y sustituye los valores predeterminados globales aplicables para esos atributos. - Procedimiento CONFIGURE_NOTIFICATION
El procedimientoDBMS_MFA_ADMIN.CONFIGURE_NOTIFICATIONconfigura los canales a través de los cuales los tokens de MFA se envían a los usuarios registrados. Esto incluye la definición del método de entrega y las propiedades específicas del canal necesarias para la distribución de tokens. - Procedimiento DEREGISTER_USER
El procedimientoDBMS_MFA_ADMIN.DEREGISTER_USERelimina un usuario de base de datos que está registrado actualmente para MFA. Después de eliminar al usuario, la MFA ya no se aplica a esa cuenta y el usuario puede autenticarse sin un segundo factor.
Tema principal: Paquete DBMS_MFA_ADMIN
REGISTER_USER Procedimiento
El procedimiento DBMS_MFA_ADMIN.REGISTER_USER registra un usuario de base de datos existente para MFA mediante la asociación del usuario con una dirección de correo electrónico como identidad externa. Puede activar la MFA para la autenticación de conexión, el acceso SQL o ambos. Es compatible con aplicaciones de correo electrónico, Slack y autenticador para entregar tokens de acceso seguro.
Sintaxis
DBMS_MFA_ADMIN.REGISTER_USER (
username IN VARCHAR2,
type IN VARCHAR2,
email IN CLOB DEFAULT NULL,
attributes IN CLOB DEFAULT NULL
);
Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Especifica el nombre de usuario para el que se debe aplicar la autenticación multifactor. |
|
|
Especifica el atributo de MFA que controla cuándo se aplica la MFA para el usuario. type acepta los siguientes valores:
|
|
|
Especifica la dirección de correo electrónico que se debe asociar al usuario para la MFA. |
|
|
Especifica los atributos de MFA en formato JSON. Utilice
|
Ejemplos
Ejemplo para registrar un usuario para el inicio de sesión de MFA:
BEGIN
DBMS_MFA_ADMIN.REGISTER_USER(
user_name => 'SCOTT',
type => 'LOGON',
email => 'scott@example.com',
token_attributes => '{"auth_method":"oma_push"}'
);
END;
/
Ejemplo para registrar un usuario para el acceso SQL mediante la definición de los atributos de MFA.
BEGIN
DBMS_MFA_ADMIN.REGISTER_USER(
user_name => 'SCOTT',
type => 'SQL ACCESS',
email => 'scott@example.com',
attributes => '{
"duration_min" : 720,
"read_only" : true,
"roles" : ["DEVELOPER_ROLE", "INFRA_ROLE"],
"scope" : "SESSION",
"slack_member_id": "<slack_user_id>"
}'
);
END;
/
Notas de uso
-
Para registrar un usuario, debe estar conectado como usuario
ADMINo tener privilegios en el paqueteDBMS_MFA_ADMIN. -
Puede registrar usuarios de base de datos para MFA mediante diferentes proveedores según el tipo de MFA: Duo y OMA están soportados para MFA de tiempo de conexión, mientras que Slack, OMA y correo electrónico están soportados para MFA de token de acceso SQL.
-
Puede registrar el mismo usuario para ambos tipos de MFA (conexión de MFA y acceso SQL) registrándolos por separado para cada uno. Puede utilizar la misma o distinta dirección de correo electrónico para cada registro; una vez configurado, el usuario recibe una notificación push a la dirección de correo electrónico registrada al iniciar sesión y otra notificación a la misma dirección, si se utiliza, cuando el usuario ejecuta
INITIALIZE_SESSIONpara SQL Access.
Tema principal: Resumen de subprogramas DBMS_MFA_ADMIN
SET_GLOBAL_TOKEN_ATTRIBUTES Procedimiento
El procedimiento DBMS_MFA_ADMIN.SET_GLOBAL_TOKEN_ATTRIBUTES define o actualiza los atributos de MFA del token de acceso SQL de forma global para todos los usuarios registrados.
Sintaxis
DBMS_MFA_ADMIN.SET_GLOBAL_TOKEN_ATTRIBUTES(
attributes IN VARCHAR2
);Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Especifica los atributos de token en formato JSON para generar un token de acceso. Los valores válidos son:
|
Nota de uso
-
Para definir los atributos de token, debe estar conectado como usuario
ADMINo tener privilegios en el paqueteDBMS_MFA_ADMIN.
Tema principal: Resumen de subprogramas DBMS_MFA_ADMIN
SET_ATTRIBUTE Procedimiento
DBMS_MFA_ADMIN.SET_ATTRIBUTE define o actualiza un único atributo de MFA para un usuario registrado y sustituye cualquier valor por defecto global aplicable para ese atributo.
Para la MFA de tiempo de conexión,
auth_method es el único atributo soportado.
Sintaxis
DBMS_MFA_ADMIN.SET_ATTRIBUTE(
username IN VARCHAR2,
type IN VARCHAR2,
email IN VARCHAR2 DEFAULT NULL,
attribute_name IN VARCHAR2,
attribute_value IN CLOB
);Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Especifica el usuario de base de datos cuyo atributo de MFA se va a actualizar. |
|
|
Especifica el atributo de MFA que controla cuándo se aplica la MFA para el usuario. Los valores válidos son:
|
|
|
Especifica la dirección de correo electrónico que se va a asociar al usuario para MFA. Este parámetro es opcional y se define por defecto en |
|
|
Permite especificar el nombre del atributo de MFA que se debe actualizar. Los valores válidos son:
|
|
|
El nuevo valor del atributo especificado. |
Ejemplo
SCOTT:BEGIN
DBMS_MFA_ADMIN.SET_ATTRIBUTE(
username => 'scott',
type => 'sql access',
email => 'testscott@example.com',
attribute_name => 'duration_min',
attribute_value => '20');
END;
/Notas de uso
-
El parámetro
usernamedebe especificar un usuario de base de datos existente registrado para MFA. -
Debe estar conectado como usuario
ADMINo tener privilegios en el paqueteDBMS_MFA_ADMINpara ejecutar este procedimiento.
Tema principal: Resumen de subprogramas DBMS_MFA_ADMIN
SET_ATTRIBUTES Procedimiento
El procedimiento DBMS_MFA_ADMIN.SET_ATTRIBUTES define o actualiza uno o más atributos de MFA para un usuario registrado y sustituye los valores por defecto globales aplicables para esos atributos.
Para la MFA de tiempo de conexión,
auth_method es el único atributo soportado.
Sintaxis
DBMS_MFA_ADMIN.SET_ATTRIBUTES (
username IN VARCHAR2,
type IN VARCHAR2,
attributes IN CLOB
);
Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Especifica el nombre de usuario cuyos atributos de MFA se van a actualizar. |
|
|
Especifica el atributo de MFA que controla cuándo se aplica la MFA para el usuario. Los valores válidos son:
|
attributes |
Especifica los atributos de MFA en formato JSON. Los valores válidos son:
|
Ejemplo
SCOTT:BEGIN
DBMS_MFA_ADMIN.SET_ATTRIBUTES(
username => 'SCOTT',
type => 'SQL ACCESS',
attributes => json_object(
'duration_min' VALUE 15,
'email' VALUE 'testscott@example.com',
'scope' VALUE 'session',
'idle_timeout_min' VALUE 10)
);
END;
/Notas de uso
-
El parámetro
USERNAMEdebe especificar un usuario de base de datos existente registrado para MFA. -
Debe estar conectado como usuario
ADMINo tener privilegios en el paqueteDBMS_MFA_ADMINpara ejecutar este procedimiento.
Tema principal: Resumen de subprogramas DBMS_MFA_ADMIN
CONFIGURE_NOTIFICATION Procedimiento
El procedimiento DBMS_MFA_ADMIN.CONFIGURE_NOTIFICATION configura los canales a través de los cuales los tokens de MFA se envían a los usuarios registrados. Esto incluye la definición del método de entrega y las propiedades específicas del canal necesarias para la distribución de tokens.
Sintaxis
DBMS_MFA_ADMIN.CONFIGURE_NOTIFICATION (
notification_type IN VARCHAR2,
attributes IN CLOB
);
Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Especifica el tipo de canal de notificación que se va a configurar. Los valores válidos son: |
|
|
Proporciona los detalles de configuración para el canal de notificación especificado en formato JSON. A continuación, se muestran los tipos de atributo válidos para cada uno de estos canales de notificación: CORREO ELECTRÓNICO: necesario para la configuración de inicio de sesión de MFA; OTP por correo electrónico soportado solo para MFA de token de acceso SQL
SLACK: Soportado solo para MFA de token de acceso SQL
OMA: Soportado para MFA de conexión y token de acceso SQL
DUO: solo se admite para MFA de inicio de sesión:
|
Ejemplos
Ejemplo: configuración del canal de notificación EMAIL
BEGIN
DBMS_MFA_ADMIN.CONFIGURE_NOTIFICATION (
notification_type => 'EMAIL',
attributes => JSON_OBJECT(
'credential_name' VALUE 'EMAIL_CRED',
'smtp_host' VALUE 'smtp.email.us-phoenix-1.oci.oraclecloud.com',
'sender' VALUE 'send.email@test.com',
'smtp_port' VALUE 587,
'sender_email_display_name' VALUE 'DB SECURITY')
);
END;
/
Ejemplo: configuración del canal de notificación de Slack
BEGIN
DBMS_MFA_ADMIN.CONFIGURE_NOTIFICATION(
notification_type => 'SLACK',
attributes => JSON_OBJECT('credential_name' VALUE 'SLACK_CRED')
);
END;
/Ejemplo: configuración del canal de notificación de OMA
BEGIN
DBMS_MFA_ADMIN.CONFIGURE_NOTIFICATION(
notification_type => 'OMA',
attributes => JSON_OBJECT(
'credential_name' VALUE 'OMA_CRED_01',
'api_endpoint' VALUE 'https://idcs-xyz.identity.oraclecloud.com'
)
);
END;
/
Ejemplo: configuración del canal de notificación DUO
BEGIN
DBMS_MFA_ADMIN.CONFIGURE_NOTIFICATION(
notification_type => 'OMA',
attributes => JSON_OBJECT(
'credential_name' VALUE 'OMA_CRED_01',
'api_endpoint' VALUE 'https://idcs-xyz.identity.oraclecloud.com'
)
);
END;
/Notas de uso
-
Para ejecutar este procedimiento, debe estar conectado como usuario
ADMINo tener privilegios en el paqueteDBMS_MFA_ADMIN. -
Para las notificaciones de Slack, defina la credencial necesaria y confirme que la integración de Slack está activada en su entorno. Las notificaciones de Slack solo están soportadas para operaciones de MFA de acceso SQL.
-
Para definir los atributos de token, debe estar conectado como usuario
ADMINo tener privilegios en el paqueteDBMS_MFA_ADMIN. -
Para tokens basados en aplicaciones de autenticador:
-
Instale la aplicación del autenticador soportada en el dispositivo móvil que desea registrar para MFA.
-
Debe configurar la MFA mediante un dispositivo al que pueda acceder cada vez que inicie sesión. Otro usuario no puede activar la MFA en su nombre.
-
Para activar la MFA, use la aplicación de autenticador en su dispositivo móvil para escanear el código QR generado en la interfaz de usuario de Database Actions. Consulte Configuración de Oracle Mobile Authenticator para obtener más información.
Solo puede registrar un dispositivo móvil para MFA.
-
- Para la entrega de token basada en correo electrónico, asegúrese de que la entrega de correo electrónico esté activada y de que las direcciones de correo electrónico válidas estén configuradas para los usuarios de la base de datos. Consulte Envío de correo electrónico en base de datos de IA autónoma para obtener más información.
- Para la entrega de token basada en Slack, configure el plugin de Slack y registre el ID de Slack del usuario para la entrega de OTP. Consulte Envío de notificaciones de Slack desde la base de datos de IA autónoma para obtener más información.
-
Tema principal: Resumen de subprogramas DBMS_MFA_ADMIN
DEREGISTER_USER Procedimiento
El procedimiento DBMS_MFA_ADMIN.DEREGISTER_USER elimina un usuario de base de datos que está registrado actualmente para MFA. Después de eliminar al usuario, la MFA ya no se aplica a esa cuenta y el usuario puede autenticarse sin un segundo factor.
Sintaxis
PROCEDURE DBMS_MFA_ADMIN.DEREGISTER_USER (
username IN VARCHAR2,
type IN VARCHAR2,
email IN VARCHAR2 DEFAULT NULL
);Parámetros
| Parámetro | Descripción |
|---|---|
|
|
Especifica el nombre de usuario para el que se debe eliminar la autenticación multifactor. |
type |
Especifica el atributo de MFA que controla cuándo se aplica la MFA para el usuario. Los valores válidos son:
|
email |
Especifica la dirección de correo electrónico asociada al usuario para MFA. Este parámetro es opcional y se define por defecto en |
Ejemplos
BEGIN
DBMS_MFA_ADMIN.DEREGISTER_USER(
username => 'SCOTT',
type => 'SQL ACCESS',
email => 'scott@example.com'
);
END;
/En este ejemplo, se anula el registro del usuario SCOTT de la MFA para el type (SQL ACCESS) especificado y se elimina la identidad de correo electrónico asociada (scott@example.com) de la configuración de la MFA.
Nota de uso
-
Para ejecutar este procedimiento, debe estar conectado como usuario
ADMINo tener privilegios en el paqueteDBMS_MFA_ADMIN. - Si un usuario está registrado con varias direcciones de correo electrónico, anule el registro de cada dirección de correo electrónico individualmente.
Tema principal: Resumen de subprogramas DBMS_MFA_ADMIN