簡體   English   中英

Azure SQL-如何將AD用戶添加到SQL Pool數據庫

[英]Azure SQL - How to add AD users to SQL Pool Databases

問題:我試圖將活動目錄用戶和組 (從本地同步到Azure AD)添加到同一租戶中Azure的SQL彈性池中存在的SQL數據庫。 我不想使用SQL Server身份驗證(集成)。 看來我無法使用AD帳戶(必需)登錄以添加其他AD帳戶。

內部目錄已同步到Azure AD。 租戶已配置並可以使用O365電子郵件,現在租戶的彈性池中有幾個SQL數據庫。

注意:這不是托管的SQL實例。 當我直接管理彈性池或數據庫時,沒有菜單選項Active Directory admin可用, 如此處概述

我的AD管理員帳戶已作為所有者添加到彈性池訪問控制(IAM)。

使用SSMS連接到雲中的數據庫,可以使用SQL Server身份驗證連接到數據庫。 當我嘗試CREATE USER [username@mytenant.com] FROM EXTERNAL PROVIDER提供者CREATE USER [username@mytenant.com] FROM EXTERNAL PROVIDER我收到錯誤消息,無法創建主體“ username@mytenant.com”。 只有使用Active Directory帳戶建立的連接才能創建其他Active Directory用戶。

也在此處概述的原因是“ 不基於Azure AD帳戶(包括Azure SQL Server管理員帳戶)的用戶,無法創建基於Azure AD的用戶,因為他們無權驗證提議的數據庫用戶使用Azure AD。

再次使用SSMS並連接到Active Directory-具有MFA支持的Universal,具有MFA支持 ,名稱為username@mytenant.com,在嘗試登錄時,我收到錯誤消息: 用戶“ NT AUTHORITY \\ ANONYMOUS LOGON”的登錄失敗。 (Microsoft SQL Server,錯誤:18456) 當我將“ 連接到數據庫”配置為DBName和AD域名或將租戶ID配置為mytenant.onmicrosoft.com時,結果相同。 即使使用設置環境時創建的初始租戶管理員帳戶,我也會得到相同的結果。

因此,最后我的問題是- 如何將從本地同步的AD用戶添加到Azure SQL數據庫(或彈性池),以便我可以使用該用戶登錄並開始向數據庫中添加其他AD用戶?

我顯然缺少基本的東西,只需要指出正確的方向。 感謝您提供的任何幫助。

首先為該池創建一個Active Directory管理員。

  1. 在門戶中選擇現有的彈性池
  2. 在“概述”中,單擊“服務器名稱”
  3. 選擇“ Active Directory管理員”->“設置管理員”。 您可以將一個用戶或一個AD組設置為管理員。

您也可以從CLI執行此操作:

> az sql server ad-admin create --object-id <Object-Id-OfUserOrGroup>
    -s <Database-Name>
    -g <Resource-Group>
    -u <NameOrEmailAkaDisplayName>

現在,您現在應該能夠通過SSMS使用AD Admin登錄名登錄彈性池中的數據庫。 在這種情況下,您可以通過“ Active Directory密碼身份驗證”登錄,但也可以使用“通用身份驗證”或“集成身份驗證”。

以AD管理員身份登錄后,可以創建一個與AD組相對應的新SQL Server USER。 請考慮我已經創建了一個名為“ SQL Developers”的AD組,因此可以將其映射到Azure SQL Server數據庫並將其添加到db_datareader固定角色,如下所示:

CREATE USER [SQL Developers] FROM EXTERNAL PROVIDER 
ALTER ROLE db_datareader ADD MEMBER [SQL Developers]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM