使用服務主體存取記憶體 - Microsoft Entra ID(Azure Active Directory)
注意
本文說明設定 Azure Data Lake Storage Gen2 存取權的舊版模式。
Databricks 建議使用 Azure 受控識別作為 Unity 目錄記憶體認證來連線到 Azure Data Lake Storage Gen2,而不是服務主體。 受控識別的優點是允許 Unity 目錄存取受網路規則保護的記憶體帳戶,這無法使用服務主體,而且不需要管理及輪替秘密。 如需詳細資訊,請參閱 在 Unity 目錄中使用 Azure 受控識別來存取記憶體。
使用 Microsoft Entra ID 註冊應用程式會建立可用來提供 Azure 記憶體帳戶存取權的服務主體。
然後,您可以將這些服務主體的存取設定為 Unity 目錄中的記憶體認證 ,或以秘密儲存的 認證。
註冊Microsoft Entra ID 應用程式
註冊Microsoft Entra ID(先前稱為 Azure Active Directory)應用程式 並指派適當的許可權,將會建立可存取 Azure Data Lake Storage Gen2 或 Blob 記憶體資源的服務主體。
若要註冊Microsoft Entra ID 應用程式,您必須具有 Application Administrator
Microsoft Entra ID 中的角色或 Application.ReadWrite.All
許可權。
- 在 Azure 入口網站 中,移至 Microsoft Entra ID 服務。
- 在 [管理] 底下,按兩下 [應用程式註冊]。
- 按兩下 [ + 新增註冊]。 為應用程式輸入唯一名稱,並按下 [註冊]。
- 按兩下 [ 憑證與秘密]。
- 按兩下 [+ 新增客戶端密碼]。
- 新增秘密的描述,然後按兩下 [ 新增]。
- 複製並儲存新秘密的值。
- 在應用程式註冊概觀中,複製並儲存 應用程式 (用戶端) 識別碼 和 目錄 (租使用者) 識別碼。
指派角色
您可以將角色指派給與記憶體帳戶相關聯的Microsoft Entra ID 應用程式註冊,來控制對記憶體資源的存取。 您可能需要根據特定需求指派其他角色。
若要在記憶體帳戶上指派角色,您必須在記憶體帳戶上擁有擁有者或使用者存取系統管理員 Azure RBAC 角色。
- 在 Azure 入口網站中,移至 [儲存體帳戶] 服務。
- 選取要搭配此應用程式註冊使用的 Azure 記憶體帳戶。
- 按下 [存取控制 (IAM)]。
- 從下拉式功能表中選取 [+ 新增],然後從下拉式功能表選取 [新增角色指派]。
- 將 [選取] 欄位設定為 [Microsoft項目識別符] 應用程式名稱,並將 [角色] 設定為 [記憶體 Blob 數據參與者]。
- 按一下 [檔案] 。
若要使用服務主體在記憶體帳戶上啟用檔案事件存取,您必須在 Azure Data Lake Storage Gen2 帳戶所屬的 Azure 資源群組上擁有擁有者或使用者存取系統管理員 Azure RBAC 角色。
- 請遵循上述步驟,並指派服務主體的記憶體佇列數據參與者和記憶體帳戶參與者角色。
- 流覽至 Azure Data Lake Storage Gen2 帳戶所屬的 Azure 資源群組。
- 移至 [存取控制 [IAM],按兩下 [+ 新增],然後選取 [新增角色指派]。
- 選取 EventGrid EventSubscription 參與者角色,然後按 [下一步]。
- 在 [指派存取權給] 底下,選取 [服務主體]。
- 按兩下 [+選取成員],選取您的服務主體,然後按兩下 [ 檢閱並指派]。
或者,您可以只授與服務主體的 記憶體佇列數據參與者 角色,並將任何角色授與資源群組,以限制存取權。 在此情況下,Azure Databricks 無法代表您設定檔案事件。