共用方式為


使用服務主體存取記憶體 - 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 許可權。

  1. 在 Azure 入口網站 中,移至 Microsoft Entra ID 服務。
  2. 在 [管理] 底下,按兩下 [應用程式註冊]。
  3. 按兩下 [ + 新增註冊]。 為應用程式輸入唯一名稱,並按下 [註冊]
  4. 按兩下 [ 憑證與秘密]。
  5. 按兩下 [+ 新增客戶端密碼]。
  6. 新增秘密的描述,然後按兩下 [ 新增]。
  7. 複製並儲存新秘密的值。
  8. 在應用程式註冊概觀中,複製並儲存 應用程式 (用戶端) 識別碼目錄 (租使用者) 識別碼

指派角色

您可以將角色指派給與記憶體帳戶相關聯的Microsoft Entra ID 應用程式註冊,來控制對記憶體資源的存取。 您可能需要根據特定需求指派其他角色。

若要在記憶體帳戶上指派角色,您必須在記憶體帳戶上擁有擁有者或使用者存取系統管理員 Azure RBAC 角色。

  1. 在 Azure 入口網站中,移至 [儲存體帳戶] 服務。
  2. 選取要搭配此應用程式註冊使用的 Azure 記憶體帳戶。
  3. 按下 [存取控制 (IAM)]
  4. 單擊 + 新增,然後從下拉功能表中選取 新增角色指派
  5. 將 [Select] 欄位設定為 Microsoft Entra ID 應用程式名稱,並將 [角色] 設定為 [儲存體 Blob 數據貢獻者]
  6. 按一下 [檔案] 。

若要使用服務主體在記憶體帳戶上啟用檔案事件存取,您必須在 Azure Data Lake Storage Gen2 帳戶所屬的 Azure 資源群組上擁有擁有者或使用者存取系統管理員 Azure RBAC 角色。

  1. 請遵循上述步驟,並指派服務主體的記憶體佇列數據參與者和記憶體帳戶參與者角色。
  2. 流覽至 Azure Data Lake Storage Gen2 帳戶所屬的 Azure 資源群組。
  3. 移至 存取控制(IAM),按一下 + 新增,然後選取 新增角色指派
  4. 選取 EventGrid EventSubscription 貢獻者 角色,然後按下 下一步
  5. 在 [將存取權指派給] 下,選取 [服務主體]
  6. 點選 +選取成員,選取您的服務主體,然後點選 檢閱並指派

或者,您可以僅將 儲存佇列數據貢獻者角色授予服務主體,並且不向資源群組授予任何角色,來限制存取權。 在此情況下,Azure Databricks 無法代表您設定檔案事件。