簡體   English   中英

應該給Azure SQL服務器添加什么權限才能讓active directory用戶能夠自動設置自己的防火牆IP例外?

[英]What's permissions should be added to Azure SQL server to get active directory user the ability to automatically set your own firewall IP exception?

我有一個 Azure SQL 服務器,我在包含它的資源組下擁有貢獻者角色。 我已將自己的用戶設置為 Azure Active Directory 管理員。 我想這就是讓我能夠在通過 Management Studio 連接時自動將自己的 IP 添加為防火牆例外的原因,並且我的 IP 已更改。 還有其他用戶將使用同一台服務器,如果他們具有通過 Management Studio 自動設置防火牆例外的相同能力,那就太好了,但我無法讓它工作。

以下是我執行的步驟:

  1. 要求訂閱管理員為服務器資源組下的用戶添加貢獻者角色
  2. 我以這種方式將用戶添加到主數據庫:
CREATE USER [dude@dude.org] 
    FROM EXTERNAL PROVIDER;

ALTER ROLE dbmanager ADD MEMBER [dude@dude.org];
ALTER ROLE loginmanager ADD MEMBER [dude@dude.org];

使用此配置,當用戶連接到服務器時會彈出提示將其 IP 添加到防火牆例外,但在嘗試保存時會出現 401 錯誤。

創建新的防火牆規則時出錯(HTTP 狀態代碼 401))(ConnectionDlg)

在此處輸入圖像描述

重要的一點是用戶可以通過Azure Portal成功設置防火牆例外

關於如何解決這個問題的任何想法?

• 在您的方案中,您將需要配置 Azure SQL 數據庫級防火牆規則並允許 IP 地址,通過這些地址連接到 Azure SQL 服務器上托管的數據庫將被允許或允許。 這可以通過多種方法完成,即通過 Azure 門戶、powershell 命令或通過 transact-SQL 查詢。

要允許特定的 IP 地址范圍允許 Azure SQL 服務器數據庫,用戶應該在特定數據庫級別具有“CONTROL”權限,並且只能通過transact-SQL 查詢來完成此修改。 但是在您被允許連接到服務器以執行 transact-SQL 查詢之前,服務器級別防火牆 IP 規則必須由通過門戶本身具有 Azure 級別權限的用戶創建,即Azure AD 管理員或服務器-級別主體登錄

• 因此,首先您必須通過您指定的transact-SQL 查詢將授權的Azure AD 用戶分配給相關數據庫。 完成后,通過 transact-SQL 查詢授予 Azure AD 用戶對數據庫的控制權限,如下例所示:-

  ‘ USE AdventureWorks2012;
    GRANT CONTROL ON DATABASE::AdventureWorks2012 TO Sarah;
    GO ’

•一旦相關的 Azure AD 用戶獲得了對數據庫的上述訪問權限,然后執行以下 transact-SQL 命令以允許從特定的 IP 地址連接到該數據庫:-

  ‘ exec sp_set_firewall_rule N'Allow Azure', '0.0.0.0', '0.0.0.0'; ‘

在上面的命令中,第一部分聲明起始地址 IP,另一部分聲明結束地址 IP,應該允許通過該地址進行連接。 另外,以上命令只需要在master數據庫中執行即可。

有關更多信息,請參閱以下文檔鏈接以獲取更多信息:-

https://learn.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-set-firewall-rule-azure-sql-database?view=azure-sqldw-latest

https://learn.microsoft.com/en-us/azure/azure-sql/database/firewall-configure

https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-database-permissions-transact-sql?view=sql-server-ver15#examples

暫無
暫無

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

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