Procedimientos almacenados para conceder y revocar privilegios de RDS para Db2 - Amazon Relational Database Service

Procedimientos almacenados para conceder y revocar privilegios de RDS para Db2

Los siguientes procedimientos almacenados otorgan y revocan privilegios para bases de datos de Amazon RDS para Db2. Para ejecutar estos procedimientos, el usuario maestro debe conectarse primero a la base de datos rdsadmin.

rdsadmin.create_role

Crea un rol.

Sintaxis

db2 "call rdsadmin.create_role( 'database_name', 'role_name')"

Parámetros

Se requieren los siguientes parámetros:

database_name

Nombre de la base de datos en la que se va a ejecutar el comando. El tipo de datos es varchar.

role_name

El nombre del rol que desea crear. El tipo de datos es varchar.

Notas de uso

Para obtener más información sobre cómo comprobar el estado de creación de un rol, consulte rdsadmin.get_task_status.

Ejemplos

En el siguiente ejemplo, se crea un rol denominado MY_ROLE para la base de datos DB2DB.

db2 "call rdsadmin.create_role( 'DB2DB', 'MY_ROLE')"

rdsadmin.grant_role

Asigna un rol a un rol, usuario o grupo.

Sintaxis

db2 "call rdsadmin.grant_role( ?, 'database_name', 'role_name', 'grantee', 'admin_option')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetro que genera el identificador único de la tarea. Este parámetro solo acepta ?.

Se requieren los siguientes parámetros de entrada:

database_name

Nombre de la base de datos en la que se va a ejecutar el comando. El tipo de datos es varchar.

role_name

El nombre del rol que desea crear. El tipo de datos es varchar.

grantee

El rol, el usuario o el grupo que recibirá la autorización. El tipo de datos es varchar. Valores válidos: ROLE, USER, GROUP, PUBLIC.

El formato debe ser un valor seguido del nombre. Separe los valores y los nombres con comas. Ejemplo: “USER user1, user2, GROUP group1, group2”. Reemplace los nombres con su propia información.

El siguiente parámetro de entrada es opcional:

admin_option

Especifica si el concesionario ROLE tiene la autorización DBADM para asignar roles. El tipo de datos es char. El valor predeterminado es N.

Notas de uso

Para obtener más información sobre cómo comprobar el estado de asignación de un rol, consulte rdsadmin.get_task_status.

Ejemplos

El siguiente ejemplo asigna un rol llamado ROLE_TEST para la base de datos TESTDB al rol llamado role1, al usuario llamado user1 y al grupo llamado group1. ROLE_TEST recibe la autorización de administrador para asignar roles.

db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'ROLE_TEST', 'ROLE role1, USER user1, GROUP group1', 'Y')"

En el siguiente ejemplo, se asigna un rol llamado ROLE_TEST para la base de datos TESTDB a PUBLIC. ROLE_TEST no recibe la autorización de administrador para asignar roles.

db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'ROLE_TEST', 'PUBLIC')"

rdsadmin.revoke_role

Revoca un rol de un rol, usuario o grupo.

Sintaxis

db2 "call rdsadmin.revoke_role( ?, 'database_name', 'role_name', 'grantee')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetro que genera el identificador único de la tarea. Este parámetro solo acepta ?

Se requieren los siguientes parámetros de entrada:

database_name

Nombre de la base de datos en la que se va a ejecutar el comando. El tipo de datos es varchar.

role_name

El nombre del rol que desea revocar. El tipo de datos es varchar.

grantee

El rol, el usuario o el grupo que perderá la autorización. El tipo de datos es varchar. Valores válidos: ROLE, USER, GROUP, PUBLIC.

El formato debe ser un valor seguido del nombre. Separe los valores y los nombres con comas. Ejemplo: “USER user1, user2, GROUP group1, group2”. Reemplace los nombres con su propia información.

Notas de uso

Para obtener más información sobre cómo comprobar el estado de asignación de un rol, consulte rdsadmin.get_task_status.

Ejemplos

En el siguiente ejemplo, se revoca un rol llamado ROLE_TEST para la base de datos TESTDB del rol llamado role1, del usuario llamado user1 y del grupo llamado group1.

db2 "call rdsadmin.revoke_role( ?, 'TESTDB', 'ROLE_TEST', 'ROLE role1, USER user1, GROUP group1')"

En el siguiente ejemplo, se revoca un rol llamado ROLE_TEST para la base de datos TESTDB de PUBLIC.

db2 "call rdsadmin.revoke_role( ?, 'TESTDB', 'ROLE_TEST', 'PUBLIC')"

rdsadmin.add_user

Agrega un usuario a una lista de autorizaciones.

Sintaxis

db2 "call rdsadmin.add_user( 'username', 'password', 'group_name,group_name')"

Parámetros

Se requieren los siguientes parámetros:

username

El nombre de usuario de un usuario. El tipo de datos es varchar.

password

La contraseña de un usuario. El tipo de datos es varchar.

El siguiente parámetro es opcional:

group_name

El nombre de un grupo al que quiera agregar al usuario. El tipo de datos es varchar. El valor predeterminado es una cadena vacía o null.

Notas de uso

Puede agregar un usuario a uno o más grupos separando los nombres de los grupos con comas.

Puede crear un grupo al crear un usuario nuevo o al agregar un grupo a un usuario existente. No puede crear un grupo por sí mismo.

nota

El número máximo de usuarios que puede agregar llamando a rdsadmin.add_user es de 5000.

Para obtener más información sobre cómo comprobar el estado al agregar un usuario, consulte rdsadmin.get_task_status.

Ejemplos

En el ejemplo siguiente, se crea un usuario llamado jorge_souza y se asigna a los grupos denominados sales y inside_sales.

db2 "call rdsadmin.add_user( 'jorge_souza', '*******', 'sales,inside_sales')"

rdsadmin.change_password

Cambia la contraseña de un usuario

Sintaxis

db2 "call rdsadmin.change_password( 'username', 'new_password')"

Parámetros

Se requieren los siguientes parámetros:

username

El nombre de usuario de un usuario. El tipo de datos es varchar.

new_password

Una nueva contraseña para el usuario. El tipo de datos es varchar.

Notas de uso

Para obtener información sobre cómo comprobar el estado de un cambio de contraseña, consulte rdsadmin.get_task_status.

Ejemplos

En el siguiente ejemplo se cambia la contraseña de jorge_souza.

db2 "call rdsadmin.change_password( 'jorge_souza', '*******')"

rdsadmin.list_users

Muestra los usuarios de una lista de autorización.

Sintaxis

db2 "call rdsadmin.list_users()"

Notas de uso

Para obtener más información sobre cómo comprobar el estado al mostrar los usuarios, consulte rdsadmin.get_task_status.

rdsadmin.remove_user

Elimina el usuario de la lista de autorizaciones.

Sintaxis

db2 "call rdsadmin.remove_user('username')"

Parámetros

El siguiente parámetro es obligatorio:

username

El nombre de usuario de un usuario. El tipo de datos es varchar.

Notas de uso

Para obtener más información sobre cómo comprobar el estado de eliminación de un usuario, consulte rdsadmin.get_task_status.

Ejemplos

En el siguiente ejemplo, se impide a jorge_souza el acceso a las bases de datos de las instancias de bases de datos de RDS para Db2.

db2 "call rdsadmin.remove_user('jorge_souza')"

rdsadmin.add_groups

Agrega grupos a un usuario.

Sintaxis

db2 "call rdsadmin.add_groups( 'username', 'group_name,group_name')"

Parámetros

Se requieren los siguientes parámetros:

username

El nombre de usuario de un usuario. El tipo de datos es varchar.

group_name

El nombre de un grupo al que quiera agregar al usuario. El tipo de datos es varchar. El valor predeterminado es una cadena vacía.

Notas de uso

Puede agregar uno o más grupos a un usuario separando los nombres de los grupos con comas. Para obtener más información sobre cómo comprobar el estado al agregar grupos, consulte rdsadmin.get_task_status.

Ejemplos

En el siguiente ejemplo, se agregan los grupos direct_sales y b2b_sales al usuario jorge_souza.

db2 "call rdsadmin.add_groups( 'jorge_souza', 'direct_sales,b2b_sales')"

rdsadmin.remove_groups

Elimina grupos de un usuario.

Sintaxis

db2 "call rdsadmin.remove_groups( 'username', 'group_name,group_name')"

Parámetros

Se requieren los siguientes parámetros:

username

El nombre de usuario de un usuario. El tipo de datos es varchar.

group_name

El nombre de un grupo del que quiera eliminar al usuario. El tipo de datos es varchar.

Notas de uso

Puede eliminar uno o más grupos de un usuario separando los nombres de los grupos con comas.

Para obtener más información sobre cómo comprobar el estado de eliminación de grupos, consulte rdsadmin.get_task_status.

Ejemplos

En el ejemplo siguiente se quitan los grupos direct_sales y b2b_sales del usuario jorge_souza.

db2 "call rdsadmin.remove_groups( 'jorge_souza', 'direct_sales,b2b_sales')"

rdsadmin.dbadm_grant

Concede autorización DBADM, ACCESSCTRL o DATAACCESS a un rol, usuario o grupo.

Sintaxis

db2 "call rdsadmin.dbadm_grant( ?, 'database_name', 'authorization', 'grantee')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

Un marcador de parámetro que genera el identificador único de la tarea. Este parámetro solo acepta ?.

Se requieren los siguientes parámetros de entrada:

database_name

Nombre de la base de datos en la que se va a ejecutar el comando. El tipo de datos es varchar.

authorization

El tipo de autorización que se va a conceder. El tipo de datos es varchar. Valores válidos: DBADM, ACCESSCTRL, DATAACCESS.

Separe los diversos tipos con comas.

grantee

El rol, el usuario o el grupo que recibirá la autorización. El tipo de datos es varchar. Valores válidos: ROLE, USER, GROUP.

El formato debe ser un valor seguido del nombre. Separe los valores y los nombres con comas. Ejemplo: “USER user1, user2, GROUP group1, group2”. Reemplace los nombres con su propia información.

Notas de uso

El rol que vaya a recibir el acceso debe existir.

Para obtener más información sobre cómo comprobar el estado de concesión de acceso de administrador de base de datos, consulte rdsadmin.get_task_status.

Ejemplos

El siguiente ejemplo otorga acceso de administrador de base de datos a la base de datos denominada TESTDB para el rol ROLE_DBA.

db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'ROLE ROLE_DBA')"

El siguiente ejemplo otorga acceso de administrador de base de datos a la base de datos denominada TESTDB para user1 y group1.

db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'USER user1, GROUP group1')"

El siguiente ejemplo otorga acceso de administrador de base de datos a la base de datos denominada TESTDB para user1, user2, group1 y group2.

db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'USER user1, user2, GROUP group1, group2')"

rdsadmin.dbadm_revoke

Revoca la autorización DBADM, ACCESSCTRL o DATAACCESS de un rol, usuario o grupo.

Sintaxis

db2 "call rdsadmin.dbadm_revoke( ?, 'database_name', 'authorization', 'grantee')"

Parámetros

El siguiente parámetro de salida es obligatorio:

?

El identificador único de la tarea. Este parámetro solo acepta ?.

Se requieren los siguientes parámetros de entrada:

database_name

Nombre de la base de datos en la que se va a ejecutar el comando. El tipo de datos es varchar.

authorization

El tipo de autorización que se va a revocar. El tipo de datos es varchar. Valores válidos: DBADM, ACCESSCTRL, DATAACCESS.

Separe los diversos tipos con comas.

grantee

El rol, el usuario o el grupo al que se va a revocar la autorización. El tipo de datos es varchar. Valores válidos: ROLE, USER, GROUP.

El formato debe ser un valor seguido del nombre. Separe los valores y los nombres con comas. Ejemplo: “USER user1, user2, GROUP group1, group2”. Reemplace los nombres con su propia información.

Notas de uso

Para obtener más información sobre cómo comprobar el estado de revocación de acceso de administrador de base de datos, consulte rdsadmin.get_task_status.

Ejemplos

El siguiente ejemplo revoca el acceso de administrador de base de datos a la base de datos denominada TESTDB para el rol ROLE_DBA.

db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'ROLE ROLE_DBA')"

El siguiente ejemplo revoca el acceso de administrador de base de datos a la base de datos denominada TESTDB para user1 y group1.

db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'USER user1, GROUP group1')"

El siguiente ejemplo revoca el acceso de administrador de base de datos a la base de datos denominada TESTDB para user1, user2, group1 y group2.

db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'USER user1, user2, GROUP group1, group2')"