Предоставление доступа к PaaS SQL базам данных в Azure

Предоставление доступа к PaaS SQL базам данных в Azure

Если вам надо предоставить доступ пользователям к PaaS SQL базам данных в Azure, можно использовать эти скрипты ниже (GUI-функционал при работе с PaaS SQL в Azure сильно ограничен).

Подключитесь к PaaS-серверу в Azure и выполняйте следующие запросы.

Этот создаст пользователя из Azure Active Directory в базе данных datareader роль.

CREATE USER [user1\@domain.onmicrosoft.com] FROM EXTERNAL PROVIDER;
EXEC sp_addrolemember db_datareader, [user1\@domain.onmicrosoft.com];

 

Если вам не нужен Azure AD, можно создать логин в master-базе

CREATE LOGIN readonlylogin WITH password='1231!#ASDF!a'; --doing this on Master DB
CREATE USER readonlyuser FROM LOGIN readonlylogin; --doing this on target DB
EXEC sp_addrolemember db_datareader, [readonlyuser]; --doing this on target DB

 

Проверить выданные разрешения

SELECT prm.permission_name
   , prm.class_desc
   , prm.state_desc
   , p2.name as 'Database role'
   , p3.name as 'Additional database role' 
FROM sys.database_principals AS p
JOIN sys.database_permissions AS prm
   ON p.principal_id = prm.grantee_principal_id
   LEFT JOIN sys.database_principals AS p2
   ON prm.major_id = p2.principal_id
   LEFT JOIN sys.database_role_members r
   ON p.principal_id = r.member_principal_id
   LEFT JOIN sys.database_principals AS p3
   ON r.role_principal_id = p3.principal_id
WHERE p.name = 'user1\@domain.onmicrosoft.com';

 

Также можно просмотреть всех пользователей из базы данных

SELECT * FROM sys.database_principals

 

Выполнить запрос от имени другого пользователя

EXECUTE AS USER = 'user1';  
SELECT * FROM [SalesLT].[ProductCategory];

 

 

Метки: ms sql server (ru), azure (ru)

ПечатьE-mail

Добавить комментарий


Защитный код
Обновить