Utilizar os privilégios da associação ao grupo de segurança do AD - Amazon Aurora

Utilizar os privilégios da associação ao grupo de segurança do AD

Herdar privilégios em nível de servidor

Os usuários do AD que são membros de determinado grupo de segurança do AD herdarão os privilégios em nível de servidor concedidos ao login do grupo mapeado do Windows. Por exemplo, pense no grupo de segurança accounts-group do AD, ao qual é concedida a associação ao perfil do servidor sysadmin no Babelfish. É possível herdar os privilégios em nível de servidor usando o seguinte comando:

1> ALTER SERVER ROLE sysadmin ADD MEMBER [corp\accounts-group];

Consequentemente, qualquer usuário do Active Directory que seja membro do grupo de segurança accounts-group do AD herdará os privilégios em nível de servidor associados ao perfil sysadmin. Isso significa que um usuário como corp\user1, sendo membro do accounts-group, agora terá a capacidade de realizar operações em nível de servidor no Babelfish.

nota

Para executar DDLs em nível de servidor, deve existir um login do Windows para um usuário individual do AD. Para ter mais informações, consulte Limitações.

Herdar privilégios em nível de banco de dados

Para conceder privilégios em nível de banco de dados, um usuário do banco de dados precisa ser criado e associado ao login do grupo do Windows. Os usuários do AD que são membros de determinado grupo de segurança do AD herdarão os privilégios em nível de banco de dados concedidos a esse usuário do banco de dados. No exemplo a seguir, é possível ver como são atribuídos privilégios em nível de banco de dados para o grupo do Windows [corp\accounts-group].

1> CREATE DATABASE db1; 2> GO 1> USE db1; 2> GO Changed database context to 'db1'. 1> CREATE TABLE dbo.t1(a int); 2> GO

Crie um usuário de banco de dados [corp\sales-group] para o login do grupo do Windows [corp\accounts-group]. Para executar essa etapa, conecte-se por meio do endpoint do TDS usando o login que é membro do sysadmin.

1> CREATE USER [corp\accounts-group] FOR LOGIN [corp\accounts-group]; 2> GO

Agora se conecte como user1 do AD para conferir acesso à tabela t1. Como ainda não concedemos os privilégios em nível de banco de dados, isso gerará um erro de permissão negada.

1> SELECT * FROM dbo.t1; 2> GO Msg 33557097, Level 16, State 1, Server db-inst, Line 1 permission denied for table t1

Conceda SELECT na tabela t1 ao usuário do banco de dados [corp\accounts-group]. Para executar essa etapa, conecte-se por meio do endpoint do TDS usando o login que é membro do sysadmin.

1> GRANT SELECT ON dbo.t1 TO [corp\accounts-group]; 2> GO

Conecte-se como user1 do AD para validar o acesso.

1> SELECT * FROM dbo.t1; 2> GO a ----------- (0 rows affected)