Procedimentos armazenados para conceder e revogar privilégios para o RDS para Db2
Os procedimentos armazenados a seguir concedem e revogam privilégios para bancos de dados do Amazon RDS para Db2. Para executar esses procedimentos, o usuário principal deve primeiro se conectar ao banco de dados rdsadmin
.
Tópicos
rdsadmin.create_role
Cria um perfil.
Sintaxe
db2 "call rdsadmin.create_role( '
database_name
', 'role_name
')"
Parâmetros
Os seguintes parâmetros são obrigatórios:
database_name
-
O nome do banco de dados no qual o comando será executado. O tipo de dados é
varchar
. role_name
-
O nome do perfil que você deseja criar. O tipo de dados é
varchar
.
Observações de uso
Para ter informações sobre como conferir o status de criação de um perfil, consulte rdsadmin.get_task_status.
Exemplos
O exemplo a seguir cria um perfil denominado MY_ROLE
para o banco de dados DB2DB
.
db2 "call rdsadmin.create_role( 'DB2DB', 'MY_ROLE')"
rdsadmin.grant_role
Atribui um perfil a um perfil, um usuário ou um grupo.
Sintaxe
db2 "call rdsadmin.grant_role( ?, '
database_name
', 'role_name
', 'grantee
', 'admin_option
')"
Parâmetros
O seguinte parâmetro de saída é obrigatório:
- ?
-
Um marcador de parâmetro que gera o identificador exclusivo da tarefa. Esse parâmetro aceita apenas
?
.
Os seguintes parâmetros de entrada são obrigatórios:
database_name
-
O nome do banco de dados no qual o comando será executado. O tipo de dados é
varchar
. role_name
-
O nome do perfil que você deseja criar. O tipo de dados é
varchar
. grantee
-
O perfil, o usuário ou o grupo para receber autorização. O tipo de dados é
varchar
. Valores válidos:ROLE
,USER
,GROUP
,PUBLIC
.O formato deve ser um valor seguido pelo nome. Separe vários valores e nomes com vírgulas. Exemplo: “
USER
” Substitua os nomes por suas próprias informações.user1
,user2
, GROUPgroup1
,group2
O seguinte parâmetro de entrada é opcional:
admin_option
-
Especifica se o beneficiário de
ROLE
tem autorizaçãoDBADM
para atribuir perfis. O tipo de dados échar
. O padrão éN
.
Observações de uso
Para ter informações sobre como conferir o status de atribuição de um perfil, consulte rdsadmin.get_task_status.
Exemplos
O exemplo a seguir atribui um perfil chamado ROLE_TEST
do banco de dados TESTDB
ao perfil chamado role1
, ao usuário chamado user1
e ao grupo chamado group1
. O ROLE_TEST
recebe autorização de administrador para atribuir perfis.
db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'ROLE_TEST', 'ROLE role1, USER user1, GROUP group1', 'Y')"
O exemplo a seguir atribui um perfil chamado ROLE_TEST
do banco de dados TESTDB
a PUBLIC
. ROLE_TEST
não recebe autorização de administrador para atribuir perfis.
db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'ROLE_TEST', 'PUBLIC')"
rdsadmin.revoke_role
Revoga um perfil de um perfil, um usuário ou um grupo.
Sintaxe
db2 "call rdsadmin.revoke_role( ?, '
database_name
', 'role_name
', 'grantee
')"
Parâmetros
O seguinte parâmetro de saída é obrigatório:
- ?
-
Um marcador de parâmetro que gera o identificador exclusivo da tarefa. Esse parâmetro aceita apenas ?.
Os seguintes parâmetros de entrada são obrigatórios:
database_name
-
O nome do banco de dados no qual o comando será executado. O tipo de dados é
varchar
. role_name
-
O nome do perfil que você deseja revogar. O tipo de dados é
varchar
. grantee
-
O perfil, o usuário ou o grupo que perderá a autorização. O tipo de dados é
varchar
. Valores válidos:ROLE
,USER
,GROUP
,PUBLIC
.O formato deve ser um valor seguido pelo nome. Separe vários valores e nomes com vírgulas. Exemplo: “
USER
” Substitua os nomes por suas próprias informações.user1
,user2
, GROUPgroup1
,group2
Observações de uso
Para ter informações sobre como conferir o status de atribuição de um perfil, consulte rdsadmin.get_task_status.
Exemplos
O exemplo a seguir revoga um perfil chamado ROLE_TEST
para o banco de dados TESTDB
do perfil chamado role1
, do usuário chamado user1
e do grupo chamado group1
.
db2 "call rdsadmin.revoke_role( ?, 'TESTDB', 'ROLE_TEST', 'ROLE role1, USER user1, GROUP group1')"
O exemplo a seguir revoga um perfil denominado ROLE_TEST
para o banco de dados TESTDB
de PUBLIC
.
db2 "call rdsadmin.revoke_role( ?, 'TESTDB', 'ROLE_TEST', 'PUBLIC')"
rdsadmin.add_user
Adiciona um usuário a uma lista de autorizações.
Sintaxe
db2 "call rdsadmin.add_user( '
username
', 'password
', 'group_name
,group_name
')"
Parâmetros
Os seguintes parâmetros são obrigatórios:
nome de usuário
-
O nome de um usuário. O tipo de dados é
varchar
. password
-
A senha de um usuário. O tipo de dados é
varchar
.
O seguinte parâmetro é opcional:
nome_grupo
-
O nome de um grupo ao qual você deseja adicionar o usuário. O tipo de dados é
varchar
. O padrão é uma string vazia ou nula.
Observações de uso
É possível adicionar um usuário a um ou mais grupos separando os nomes dos grupos com vírgulas.
É possível criar um grupo ao criar um usuário ou ao adicionar um grupo a um usuário existente. Não é possível criar um grupo sozinho.
nota
O número máximo de usuários que você pode adicionar chamando rdsadmin.add_user
é 5 mil.
Para ter informações sobre como conferir o status de adição de um usuário, consulte rdsadmin.get_task_status.
Exemplos
O exemplo a seguir cria um usuário chamado jorge_souza
e o atribui aos grupos chamados sales
e inside_sales
.
db2 "call rdsadmin.add_user( 'jorge_souza', '*******', 'sales,inside_sales')"
rdsadmin.change_password
Altera a senha de um usuário.
Sintaxe
db2 "call rdsadmin.change_password( '
username
', 'new_password
')"
Parâmetros
Os seguintes parâmetros são obrigatórios:
nome de usuário
-
O nome de um usuário. O tipo de dados é
varchar
. new_password
-
Uma nova senha para o usuário. O tipo de dados é
varchar
.
Observações de uso
Para ter informações sobre como verificar o status da alteração de uma senha, consulte rdsadmin.get_task_status.
Exemplos
O exemplo a seguir altera a senha de jorge_souza
.
db2 "call rdsadmin.change_password( 'jorge_souza', '*******')"
rdsadmin.list_users
Lista os usuários em uma lista de autorizações.
Sintaxe
db2 "call rdsadmin.list_users()"
Observações de uso
Para ter informações sobre como conferir o status da lista de usuários, consulte rdsadmin.get_task_status.
rdsadmin.remove_user
Remove o usuário da lista de autorizações.
Sintaxe
db2 "call rdsadmin.remove_user('
username
')"
Parâmetros
O seguinte parâmetro é obrigatório:
nome de usuário
-
O nome de um usuário. O tipo de dados é
varchar
.
Observações de uso
Para ter informações sobre como conferir o status de remoção de um usuário, consulte rdsadmin.get_task_status.
Exemplos
O exemplo a seguir remove jorge_souza
da possibilidade de acessar bancos de dados em instâncias de banco de dados do RDS para Db2.
db2 "call rdsadmin.remove_user('jorge_souza')"
rdsadmin.add_groups
Adiciona grupos a um usuário.
Sintaxe
db2 "call rdsadmin.add_groups( '
username
', 'group_name
,group_name
')"
Parâmetros
Os seguintes parâmetros são obrigatórios:
nome de usuário
-
O nome de um usuário. O tipo de dados é
varchar
. nome_grupo
-
O nome de um grupo ao qual você deseja adicionar o usuário. O tipo de dados é
varchar
. O padrão é uma string vazia.
Observações de uso
É possível adicionar um ou mais grupos a um usuário separando os nomes dos grupos com vírgulas. Para ter informações sobre como conferir o status de adição de grupos, consulte rdsadmin.get_task_status.
Exemplos
O exemplo a seguir adiciona os grupos direct_sales
e b2b_sales
ao usuário jorge_souza
.
db2 "call rdsadmin.add_groups( 'jorge_souza', 'direct_sales,b2b_sales')"
rdsadmin.remove_groups
Remove grupos de um usuário.
Sintaxe
db2 "call rdsadmin.remove_groups( '
username
', 'group_name
,group_name
')"
Parâmetros
Os seguintes parâmetros são obrigatórios:
nome de usuário
-
O nome de um usuário. O tipo de dados é
varchar
. nome_grupo
-
O nome de um grupo do qual você deseja remover o usuário. O tipo de dados é
varchar
.
Observações de uso
É possível remover um ou mais grupos de um usuário separando os nomes dos grupos com vírgulas.
Para ter informações sobre como conferir o status de remoção de grupos, consulte rdsadmin.get_task_status.
Exemplos
O exemplo a seguir remove os grupos direct_sales
e b2b_sales
do usuário jorge_souza
.
db2 "call rdsadmin.remove_groups( 'jorge_souza', 'direct_sales,b2b_sales')"
rdsadmin.dbadm_grant
Concede a autorização DBADM
, ACCESSCTRL
ou DATAACCESS
a um perfil um usuário ou um grupo.
Sintaxe
db2 "call rdsadmin.dbadm_grant( ?, '
database_name
', 'authorization
', 'grantee
')"
Parâmetros
O seguinte parâmetro de saída é obrigatório:
- ?
-
Um marcador de parâmetro que gera o identificador exclusivo da tarefa. Esse parâmetro aceita apenas
?
.
Os seguintes parâmetros de entrada são obrigatórios:
database_name
-
O nome do banco de dados no qual o comando será executado. O tipo de dados é
varchar
. autorização
-
O tipo de autorização a ser concedida. O tipo de dados é
varchar
. Valores válidos:DBADM
,ACCESSCTRL
,DATAACCESS
.Separe vários tipos com vírgulas.
grantee
-
O perfil, o usuário ou o grupo para receber autorização. O tipo de dados é
varchar
. Valores válidos:ROLE
,USER
,GROUP
.O formato deve ser um valor seguido pelo nome. Separe vários valores e nomes com vírgulas. Exemplo: “
USER
” Substitua os nomes por suas próprias informações.user1
,user2
, GROUPgroup1
,group2
Observações de uso
Deve existir o perfil para receber acesso.
Para ter informações sobre como conferir o status de concessão de acesso de administrador de banco de dados, consulte rdsadmin.get_task_status.
Exemplos
O exemplo a seguir concede acesso de administrador ao banco de dados denominado TESTDB
para o perfil ROLE_DBA
.
db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'ROLE ROLE_DBA')"
O exemplo a seguir concede acesso de administrador ao banco de dados denominado TESTDB
para user1
e group1
.
db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'USER user1, GROUP group1')"
O exemplo a seguir concede acesso de administrador ao banco de dados denominado TESTDB
para user1
, user2
, group1
e group2
.
db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'USER user1, user2, GROUP group1, group2')"
rdsadmin.dbadm_revoke
Revoga a autorização DBADM
, ACCESSCTRL
ou DATAACCESS
de um perfil, um usuário ou um grupo.
Sintaxe
db2 "call rdsadmin.dbadm_revoke( ?, '
database_name
', 'authorization
', 'grantee
')"
Parâmetros
O seguinte parâmetro de saída é obrigatório:
- ?
-
O identificador exclusivo da tarefa. Esse parâmetro aceita apenas
?
.
Os seguintes parâmetros de entrada são obrigatórios:
database_name
-
O nome do banco de dados no qual o comando será executado. O tipo de dados é
varchar
. autorização
-
O tipo de autorização a ser revogada. O tipo de dados é
varchar
. Valores válidos:DBADM
,ACCESSCTRL
,DATAACCESS
.Separe vários tipos com vírgulas.
grantee
-
O perfil, o usuário ou o grupo do qual revogar a autorização. O tipo de dados é
varchar
. Valores válidos:ROLE
,USER
,GROUP
.O formato deve ser um valor seguido pelo nome. Separe vários valores e nomes com vírgulas. Exemplo: “
USER
” Substitua os nomes por suas próprias informações.user1
,user2
, GROUPgroup1
,group2
Observações de uso
Para ter informações sobre como conferir o status de revogação de acesso de administrador de banco de dados, consulte rdsadmin.get_task_status.
Exemplos
O exemplo a seguir revoga o acesso de administrador ao banco de dados denominado TESTDB
para o perfil ROLE_DBA
.
db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'ROLE ROLE_DBA')"
O exemplo a seguir revoga o acesso de administrador ao banco de dados denominado TESTDB
para user1
e group1
.
db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'USER user1, GROUP group1')"
O exemplo a seguir revoga o acesso de administrador ao banco de dados denominado TESTDB
para user1
, user2
, group1
e group2
.
db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'USER user1, user2, GROUP group1, group2')"