使用服務認證管理外部雲端服務的存取權
重要
這項功能處於公開預覽狀態。
本文說明如何在 Unity 目錄中建立服務認證物件,讓您控管從 Azure Databricks 存取外部雲端服務的存取權。 Unity 目錄中的服務認證會封裝長期雲端認證,以授與這類服務的存取權。
服務認證不適用於控管雲端記憶體的存取權,而雲端記憶體是做為 Unity 目錄受控記憶體位置或外部記憶體位置。 針對這些使用案例,請使用記憶體認證。 請參閱 使用 Unity 目錄管理雲端記憶體的存取權。
若要建立服務認證以存取 Azure 服務,您可以建立參考 Azure 受控識別的 Azure Databricks 存取連接器,為其指派服務或服務的許可權。 接著,您會在服務認證定義中參考該存取連接器。
開始之前
建立服務認證之前,您必須先符合下列需求:
在 Azure Databricks 中:
已啟用 Unity 目錄的 Azure Databricks 工作區。
連結至工作區之 Unity 目錄中繼存放區上的
CREATE SERVICE CREDENTIAL
權限。 帳戶管理員和中繼存放區管理員預設具有此權限。 如果您的工作區已自動啟用 Unity 目錄,工作區系統管理員也具有此許可權。注意
服務主體必須具有帳戶管理員角色,才能建立使用受控識別的服務認證。 您無法委派
CREATE SERVICE CREDENTIAL
給服務主體。 這同時適用於 Azure Databricks 服務主體和Microsoft Entra ID 服務主體。
在您的 Azure 租使用者中:
- 與您要從中存取資料的工作區位於相同區域中的 Azure 服務。
- Azure 資源群組上的參與者或擁有者角色。
- 服務帳戶上的擁有者或使用者存取系統管理員 Azure RBAC 角色。
使用受控識別建立服務認證
若要設定授權存取服務帳戶的身分識別,請使用將 Azure 受控識別連線到 Azure Databricks 帳戶的 Azure Databricks 存取連接器。 如果您已經定義存取連接器,您可以直接跳到下列程式中的步驟 2。
注意
您可以使用服務主體,而不是受控識別,但強烈建議使用受控識別。 受控識別的優點是允許 Unity 目錄存取受網路規則保護的服務帳戶,這無法使用服務主體,而且不需要管理和輪替秘密。 如果您必須使用服務主體,請參閱使用服務主體建立 Unity 目錄受控記憶體(舊版)。
在 Azure 入口網站 中,使用設定 Unity 目錄受控識別中的指示,建立 Azure Databricks 存取連接器,並在您想要存取的服務上指派許可權。
Azure Databricks 存取連接器是第一方 Azure 資源,可讓您將受控識別連線到 Azure Databricks 帳戶。 您必須在 Azure 中的存取連接器資源上擁有 參與者 角色或更高角色,才能新增服務認證。
不要遵循 步驟 2:授與記憶體帳戶的受控識別存取權,而是將受控識別存取權授與服務帳戶。
記下存取連接器的資源標識碼。
以符合開始之前所列需求的使用者身分登入您的 Azure Databricks 工作區。
按下 [目錄]。
在 [快速存取] 頁面上,按兩下 [外部數據] 按鈕,移至 [認證] > 索引卷標,然後選取 [建立認證]。
選取 [服務認證]。
以下欄格式輸入認證名稱、選擇性批註和存取連接器的資源識別碼:
/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
(選擇性)如果您使用使用者指派的受控識別建立存取連接器,請在 [使用者指派的受控識別識別碼] 字段中輸入受控識別的資源識別元,格式如下:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>
按一下 [建立]。
在 [ 服務認證建立] 對話框中,複製 [ 外部標識符]。
您也可以隨時在服務認證詳細數據頁面上檢視外部標識碼。
按一下完成。
(選擇性)將服務認證指派給特定工作區
重要
這項功能處於公開預覽狀態。
根據預設,服務認證可從中繼存放區中的所有工作區存取。 這表示如果使用者已獲授與該服務認證的許可權,他們可以從附加至中繼存放區的任何工作區執行該許可權。 如果您使用工作區來隔離用戶數據存取,您可能只想要允許從特定工作區存取服務認證。 這項功能稱為工作區系結或服務認證隔離。
將服務認證系結至特定工作區的一般使用案例是雲端系統管理員使用生產雲端帳戶認證來設定服務認證的情況,而您想要確保 Azure Databricks 使用者使用此認證只存取生產工作區中的外部雲端服務。
如需工作區系結的詳細資訊,請參閱(選擇性)將記憶體認證指派給特定工作區,以及限制特定工作區的目錄存取權。
將服務認證系結至一或多個工作區
若要將服務認證指派給特定工作區,請使用目錄總管。
需要的許可權:中繼存放區管理員或服務認證擁有者。
注意
中繼存放區管理員可以使用目錄總管查看中繼存放區中的所有服務認證,而服務認證擁有者可以看到他們在中繼存放區中擁有的所有服務認證,而不論服務認證是否已指派給目前的工作區。 未指派給工作區的服務認證會顯示為灰色。
登入連結至中繼存放區的工作區。
在提要欄位中,按兩下 [目錄]。
在 [快速存取] 頁面上,按兩下 [外部數據] 按鈕,然後移至 [認證] > 索引卷標。
選取服務認證,然後移至 [ 工作區] 索引標籤 。
在 [ 工作區] 索引 標籤上,清除 [ 所有工作區都有存取權 ] 複選框。
如果您的服務認證已經系結至一或多個工作區,則此複選框已清除。
按兩下 [ 指派給工作區 ],然後輸入或尋找您想要指派的工作區。
若要撤銷存取權,請移至 [ 工作區] 索引 卷標,選取工作區,然後按兩下 [ 撤銷]。 若要允許從所有工作區存取,請選取 [ 所有工作區都有存取 權] 複選框。
下一步
- 瞭解如何檢視、更新、刪除及授與其他使用者使用服務認證的許可權。 請參閱 管理服務認證。
- 瞭解如何在程式代碼中使用服務認證。 請參閱 使用 Unity 目錄服務認證連線到外部雲端服務。
限制
適用下列限制:
- Databricks Runtime 15.4 LTS 僅包含 Python 支援。
- 不支援 SQL 倉儲。
- 服務認證上執行的動作的某些稽核事件不會出現在數據表中
system.access.audit
。 稽核建立、刪除、更新、讀取、列出或使用服務認證的相關信息。 請參閱 稽核記錄系統數據表參考。 - 在服務認證預覽期間,
INFORMATION_SCHEMA.STORAGE_CREDENTIALS
[已淘汰] 會顯示記憶體認證和服務認證,而INFORMATION_SCHEMA.STORAGE_CREDENTIAL_PRIVILEGES
[已淘汰] 會顯示同時套用至記憶體認證和服務認證的許可權。 不正確會更正的預覽行為,您不應該依賴它繼續。 您應該改為針對記憶體和服務認證使用INFORMATION_SCHEMA.CREDENTIALS
和INFORMATION_SCHEMA.CREDENTIAL_PRIVILEGES
。