在 Azure 中複寫 EDW 工作負載之前,請確定您已充分了解 AWS 與 Azure 平台之間的作業差異。
本文將逐步解說此工作負載的一些重要概念,並提供資源的連結以獲取更多資訊。
身分識別和存取管理
AWS EDW 工作負載會使用 EKS 服務所假設的 AWS 身分識別和存取權管理 (IAM) 角色。 此角色會指派給 EKS Pod,以允許存取 AWS 資源 (例如佇列或資料庫),而不需要儲存認證。
Azure 實作角色型存取控制 (RBAC) 的方式與 AWS 不同。 在 Azure 中,角色指派與安全性主體相關聯 (使用者、群組、受控識別或服務主體),且該安全性主體與資源相關聯。
服務之間的驗證
AWS EDW 工作負載會使用服務通訊來與佇列和資料庫連線。 AWS EKS 會使用 AssumeRole (IAM 的功能) 取得臨時安全性認證,以存取 AWS 使用者、應用程式或服務。 此實作允許服務擔任授與特定存取權限的 IAM 角色,從而在服務之間提供安全且有限的權限。
對於使用服務通訊的 Amazon Simple Queue Service (SQS) 和 Amazon DynamoDB 資料庫存取,AWS 工作流程會將 AssumeRole 與 EKS 搭配使用,這是 Kubernetes 服務帳戶權杖磁碟區投影的實作。 在 EKS EDW 工作負載中,設定可讓 Kubernetes 服務帳戶承擔 AWS 身分識別和存取權管理 (IAM) 角色。 設定為使用該服務帳戶的 Pod 接著可以存取角色已取得存取權限的任何 AWS 服務。 在 EDW 工作負載中,會定義兩個 IAM 原則來授與存取 Amazon DynamoDB 和 Amazon SQS 的權限。
透過 AKS,您可以將 Microsoft Entra 受控識別與 Microsoft Entra 工作負載識別碼搭配使用。
會建立一個使用者指派的受控識別,並透過為其指派儲存體資料表資料參與者角色來被授與對 Azure 儲存體資料表的存取權。 該受控識別也會透過為其指派儲存體佇列資料參與者角色來被授與對 Azure 儲存體佇列的存取權。 這些角色指派的範圍僅限於特定的資源,允許該受控識別讀取特定 Azure 儲存體佇列中的訊息並將其寫入特定的 Azure 儲存體資料表。 然後,該受控識別會對應至 Kubernetes 工作負載身分識別,該身分識別會與部署應用程式容器的 Pod 的身分識別相關聯。 如需詳細資訊,請參閱將 Microsoft Entra 工作負載識別碼與 AKS 搭配使用。
在用戶端上,Python Azure SDK 支援利用工作負載身分識別的內容的透明方式,這可消除開發人員執行明確驗證的需求。 在具有已建立的工作負載身分識別的 AKS 上的命名空間/Pod 中執行的程式碼可以使用已對應的受控識別向外部服務進行驗證。
資源
以下資源可協助您深入了解 AWS 與 Azure 之間對於在 EDW 工作負載中所使用的技術的差異:
| 主題 | AWS 與 Azure 資源 |
|---|---|
| 服務 | AWS 與 Azure 服務比較 |
| 身分識別 | 將 AWS IAM 概念對應到 Azure 中的類似概念 |
| 帳戶 | Azure AWS 帳戶和訂用帳戶 |
| 資源管理 | 資源容器 |
| 傳訊 | Amazon SQS 到 Azure 佇列儲存體 |
| Kubernetes | 適用於 Amazon EKS 專業人員的 AKS |
下一步
參與者
本文由 Microsoft 維護。 下列參與者最初撰寫:
- Ken Kilty | 首席 TPM
- Russell de Pina | 首席 TPM
- Jenny Hayes | 資深內容開發人員
- Carol Smith | 資深內容開發人員
- Erin Schaffer |內容開發人員 2