Concesión y revocación de privilegios
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.
Temas
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”. Reemplace los nombres con su propia información.user1,user2, GROUPgroup1,group2
El siguiente parámetro de entrada es opcional:
admin_option-
Especifica si el concesionario
ROLEtiene la autorizaciónDBADMpara asignar roles. El tipo de datos eschar. El valor predeterminado esN.
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”. Reemplace los nombres con su propia información.user1,user2, GROUPgroup1,group2
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”. Reemplace los nombres con su propia información.user1,user2, GROUPgroup1,group2
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”. Reemplace los nombres con su propia información.user1,user2, GROUPgroup1,group2
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')"