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
.
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
ROLE
tiene la autorizaciónDBADM
para 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')"