Azure 中雲端規模分析的驗證
驗證是驗證使用者或應用程式身分識別的程式。 慣用單一來源識別提供者,可處理身分識別管理和驗證。 此提供者稱為目錄服務。 它提供儲存目錄數據的方法,並讓此數據可供網路使用者和系統管理員使用。
任何 Data Lake 解決方案都應該使用並整合現有的目錄服務。 對大多數組織而言,所有身分識別相關服務的目錄服務都是 Active Directory。 它是所有服務和用戶帳戶的主要和集中式資料庫。
在雲端中,Microsoft Entra ID 是集中式識別提供者,也是身分識別管理的慣用來源。 將驗證和授權委派給Microsoft Entra ID 可讓條件式存取原則等案例要求用戶位於特定位置。 它支援多重要素驗證,以提高存取安全性層級。 應盡可能使用 Microsoft Entra ID 整合來設定數據服務。
對於不支援Microsoft Entra ID 的數據服務,您應該使用存取密鑰或令牌來執行驗證。 您應該將存取金鑰儲存在金鑰管理存放區中,例如 Azure Key Vault。
雲端規模分析的驗證案例如下:
- 用戶驗證:使用者使用其認證透過 Microsoft Entra ID 進行驗證。
- 應用程式對服務驗證:應用程式會使用服務主體進行驗證。
- 服務對服務驗證:Azure 資源會使用 Azure 自動管理的受控識別進行驗證。
驗證案例
使用者驗證
連接到數據服務或資源的用戶必須出示認證。 此認證會證明用戶的身份如其所述。 然後他們可以存取服務或資源。 驗證也可讓服務知道使用者的身分識別。 服務會決定使用者在驗證身分識別之後可以看到和執行的動作。
Azure Data Lake Storage Gen2、Azure SQL Database、Azure Synapse Analytics 和 Azure Databricks 支援Microsoft Entra ID 整合。 互動式用戶驗證模式需要使用者在對話框中提供認證。
重要
請勿將使用者認證硬式編碼至應用程式以進行驗證。
服務對服務驗證
即使服務在沒有人為互動的情況下存取另一個服務,也必須呈現有效的身分識別。 此身分識別會證明服務的真實性,允許存取的服務判斷允許的動作。
針對服務對服務驗證,驗證 Azure 服務的慣用方法是 受控識別。 Azure 資源的受控識別允許向任何支援Microsoft Entra 驗證的服務進行驗證,而不需要任何明確認證。 如需詳細資訊,請參閱什麼是 Azure 資源受控識別。
受控識別是服務主體,只能與 Azure 資源搭配使用。 例如,您可以直接為 Azure Data Factory 實例建立受控識別。 這個受控識別,以 Microsoft Entra ID 註冊為 物件,代表 Data Factory 實例。 此身分識別接著可用來向 Data Lake Storage 等任何服務進行驗證,而不需要程式代碼中的任何認證。 Azure 會負責服務實例所使用的認證。 身分識別可以將授權授與 Azure 服務資源,例如 Azure Data Lake Storage 中的資料夾。 當您刪除此 Data Factory 實例時,Azure 會清除 Microsoft Entra 識別碼中的身分識別。
使用受控識別的優點
受控識別應該用來向另一個 Azure 服務或資源驗證 Azure 服務。 它們提供下列優點:
- 受控識別代表其建立的服務。 它不代表互動式使用者。
- 受控識別認證會維護、管理和儲存在 entra 識別符Microsoft。 用戶沒有要保留的密碼。
- 使用受控識別時,客戶端服務不會使用密碼。
- 刪除服務實例時,系統會刪除系統指派的受控識別。
這些優點表示認證受到更好的保護,且安全性危害的可能性較低。
應用程式對服務驗證
另一個存取案例牽涉到應用程式,例如行動或 Web 應用程式,存取 Azure 服務。 應用程式必須呈現其身分識別,然後必須加以驗證。
Azure 服務主體 是用於不支援受管理的身分來驗證 Azure 資源的應用程式和服務的替代方案。 這是專為應用程式、託管服務和自動化工具來存取 Azure 資源的身分識別。 指派給服務主體的角色會控制其存取權。 基於安全性考慮,建議使用服務主體帳戶搭配自動化工具或應用程式,而非讓使用者使用其個人身份登入。 如需詳細資訊,請參閱 Microsoft Entra ID 中的應用程式和服務主體物件。
受控識別和服務主體之間的差異
服務主體 | 受控識別 |
---|---|
Microsoft Entra ID 中手動建立的安全性身分識別,以供應用程式、服務和工具來存取特定 Azure 資源。 | 特殊類型的服務主體。 這是建立 Azure 服務時所建立的自動身分識別。 |
由任何應用程式或服務使用,且未系結至特定 Azure 服務。 | 表示 Azure 服務實例本身。 它無法用來代表其他 Azure 服務。 |
具有獨立的生命週期。 您必須明確刪除它。 | 刪除 Azure 服務實例時,會自動刪除。 |
密碼型或憑證型驗證。 | 未提供用於驗證的明確密碼。 |
注意
受控識別和服務主體只會在 entra 標識碼Microsoft建立和維護。
雲端規模分析中驗證的最佳做法
在雲端規模分析中,確保健全且安全的驗證做法至關重要。 跨各種層級進行驗證的最佳做法,包括資料庫、記憶體和分析服務。 藉由使用Microsoft Entra ID,組織可以使用多重要素驗證(MFA) 和條件式存取原則等功能來增強安全性。
層 | 服務 | 建議 |
---|---|---|
資料庫 | Azure SQL DB、SQL MI、Synapse、MySQL、PostgreSQL 等。 | 使用 Microsoft Entra ID 來驗證如 PostgreSQL、Azure SQL和 MySQL等資料庫。 |
存儲 | Azure Data Lake Storage (ADLS) | 使用 Microsoft Entra ID 驗證安全主體對象(使用者、群組、服務主體或受控識別),以配合 ADLS 透過共用金鑰或 SAS,因為這將增強安全性支援功能,例如多重要素驗證(MFA)和條件式存取原則。 |
存儲 | 來自 Azure Databricks 的 ADLS | 使用 Unity 目錄 連線到 ADLS |
分析學 | Azure Databricks | 使用 SCIM 從 Microsoft Entra ID同步使用者和群組。 若要使用 REST API 存取 Databricks 資源,搭配 Databricks 服務主體使用 OAuth。 |
重要
允許 Azure Databricks 使用者直接存取 ADLS 的儲存層級,會略過 Unity Catalog 的許可權、稽核和安全性功能,包括存取控制和監控功能。 若要完整保護和管理數據,應透過 Unity Catalog 管理 Azure Databricks 工作區中儲存在 ADLS 的數據存取權。
下一步
Azure 中雲端規模分析的