Sql-Server

作為 SQL Active Directory 管理員的服務主體,它是否使用 Graph API?

  • April 15, 2019

我希望將服務主體用作伺服器管理員,因此可以在發布管道中使用它來創建更多活動目錄使用者。

我成功地將服務主體設置為伺服器管理員 * 並使用訪問令牌連接到數據庫,因此服務主體身份驗證工作正常,這非常好,也是一個有趣的挑戰。

*編輯:A​​AD 伺服器管理員是通過 ARM 模板創建的,特別是如果您嘗試通過門戶手動創建,則無法選擇服務主體作為管理員使用者。但有趣的是,在使用 ARM 創建後,您可以在門戶中看到服務主體名稱 ok。您可以使用 AAD auth 成功登錄,因此看起來伺服器主體管理員工作正常。

但是,在創建更多使用者時,他們似乎從未發現錯誤:

“此時找不到‘校長的名字’,請稍後再試。”

但是,當以我自己的身份登錄時,我可以很好地創建其他使用者。

這讓我想到 SQL Server 使用某種 Active Directory 模擬來驗證後續使用者/服務主體是否存在?

如果我要授予我的服務主體訪問 Graph API 的權限,那是否會給它足夠的權限?如果是這樣,最低限度的權利是什麼?

我還看到 Azure SQL Server 在後台創建了一個託管服務標識,所以我想知道這是否也在起作用?

我還在託管實例上看到它們明確要求具有 AAD 權限的服務主體連接到 AAD - 我認為這就像 Azure SQL Server 的 MSI?但是 Azure SQL Server 並沒有提到這一點,AAD 管理員就足夠了。

我很想知道活動目錄連接的底層機制是如何工作的,因為它可以幫助我進一步調查我的挑戰。

今天得到了微軟官方的答复:

我已確認在使用服務主體帳戶時目前不支持創建 AAD 使用者和組。此特定限制僅特定於數據庫包含的使用者。

引用自:https://dba.stackexchange.com/questions/222476