使用服務主體存取記憶體和 Microsoft Entra ID(Azure Active Directory)

注意

本文說明設定 Azure Data Lake 儲存體 Gen2 存取的舊版模式。

Databricks 建議使用 Azure 受控識別作為 Unity 目錄記憶體認證,以聯機到 Azure Data Lake 儲存體 Gen2,而不是服務主體。 受控識別的優點是允許 Unity 目錄存取受網路規則保護的記憶體帳戶,這無法使用服務主體,而且不需要管理及輪替秘密。 如需詳細資訊,請參閱 在 Unity 目錄中使用 Azure 受控識別來存取記憶體

使用 Microsoft Entra ID 註冊應用程式(先前稱為 Azure Active Directory)會建立服務主體,讓您可用來提供 Azure 儲存體帳戶的存取權。

然後,您可以將這些服務主體的存取設定為 Unity 目錄中的記憶體認證 ,或以秘密儲存的 認證

註冊 Microsoft Entra ID 應用程式

註冊 Microsoft Entra ID(先前稱為 Azure Active Directory)應用程式並指派適當的許可權,將會建立可存取 Azure Data Lake 儲存體 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 應用程式註冊,以控制對記憶體資源的存取。 您可能需要根據特定需求指派其他角色。

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

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

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

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

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