本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
連接 Azure 資源
Azure 資源整合可讓 AWS DevOps 代理程式在事件調查期間探索和調查 Azure 訂閱中的資源。代理程式使用 Azure Resource Graph 進行資源探索,並可跨 Azure 環境存取指標、日誌和組態資料。
此整合遵循兩個步驟:在 AWS 帳戶層級註冊 Azure,然後將特定 Azure 訂閱與個別客服人員空間建立關聯。
先決條件
連接 Azure 資源之前,請確定您已:
存取 AWS DevOps 代理程式主控台
可存取目標訂閱的 Azure 帳戶
針對管理員同意方法:具有在 Microsoft Entra ID 中執行管理員同意許可的帳戶
對於應用程式註冊方法:具有設定聯合身分憑證許可的 Entra 應用程式,以及在 AWS 您的帳戶中啟用傳出身分聯合
透過管理員同意註冊 Azure 資源
管理員同意方法使用以同意為基礎的流程搭配 AWS DevOps 代理程式受管應用程式。
步驟 1:開始註冊
登入 AWS 管理主控台並導覽至 AWS DevOps 代理程式主控台
前往功能提供者頁面
找到 Azure 雲端區段,然後按一下註冊
選取管理員同意註冊方法
步驟 2:完成管理員同意
檢閱請求的許可
按一下以繼續 - 系統會將您重新導向至 Microsoft Entra 管理員同意頁面
使用具有執行管理員同意許可的使用者主體帳戶登入
檢閱並授予對 AWS DevOps Agent 應用程式的同意
步驟 3:完成使用者授權
管理員同意後,系統會提示您輸入使用者授權,以驗證您的身分為授權租用戶的成員
使用屬於相同 Azure 租用戶的帳戶登入
授權之後,系統會將您重新導向回成功狀態的 AWS DevOps 代理程式主控台
步驟 4:指派角色
請參閱以下指派 Azure 角色。選取成員時搜尋 AWS DevOps 代理程式。
透過應用程式註冊註冊 Azure 資源
應用程式註冊方法使用您自己的 Entra 應用程式搭配聯合身分憑證。
步驟 1:開始註冊
在 AWS DevOps 代理程式主控台中,前往功能提供者頁面
找到 Azure 雲端區段,然後按一下註冊
選取應用程式註冊方法
步驟 2:建立和設定您的 Entra 應用程式
遵循主控台中顯示的指示,以:
在 AWS 帳戶中啟用傳出聯合身分 (在 IAM 主控台中,前往帳戶設定 → 傳出聯合身分)
在 Microsoft Entra ID 中建立 Entra 應用程式,或使用現有的應用程式
在應用程式上設定聯合身分憑證
步驟 3:提供註冊詳細資訊
使用下列項目填寫註冊表單:
租用戶 ID – Azure 租用戶識別符
租用戶名稱 – 租用戶的顯示名稱
用戶端 ID – 您建立之 Entra 應用程式的應用程式 (用戶端) ID
對象 – 聯合登入資料的對象識別符
步驟 4:建立 IAM 角色
當您透過主控台提交註冊時,會自動建立 IAM 角色。它允許 AWS DevOps 代理程式擔任登入資料並叫用 sts:GetWebIdentityToken。
步驟 5:指派角色
請參閱以下指派 Azure 角色。搜尋您在選取成員時建立的 Entra 應用程式。
步驟 6:完成註冊
在 AWS DevOps 代理程式主控台中確認組態
按一下提交以完成註冊
指派 Azure 角色
註冊後,授予應用程式對 Azure 訂閱的讀取存取權。管理員同意和應用程式註冊方法的此步驟相同。
在 Azure 入口網站中,導覽至您的目標訂閱
前往存取控制 (IAM)
按一下新增 > 新增角色指派
選取讀取器角色,然後按一下下一步
按一下選取成員,搜尋應用程式 (AWS DevOps Agent for Admin Consent 或您自己的 Entra 應用程式用於應用程式註冊)
選取應用程式,然後按一下檢閱 + 指派
(選用) 若要讓代理程式存取 Azure Kubernetes Service (AKS) 叢集,請完成下列 AKS 存取設定。
AKS 存取設定 (選用)
步驟 1:Azure Resource Manager (ARM) 層級存取
將 Azure Kubernetes 服務叢集使用者角色指派給應用程式。
在 Azure 入口網站中,前往訂閱 → 選取訂閱 → 存取控制 (IAM) → 新增角色指派 → 選取 Azure Kubernetes 服務叢集使用者角色 → 指派給應用程式 (AWS DevOps Agent for Admin Consent 或您自己的 Entra 應用程式用於應用程式註冊)。
這涵蓋訂閱中的所有 AKS 叢集。若要限定特定叢集的範圍,請改為在資源群組或個別叢集層級指派 。
步驟 2:Kubernetes API 存取
根據叢集的身分驗證組態選擇一個選項:
選項 A:Kubernetes 的 Azure 角色型存取控制 (RBAC) (建議)
如果尚未啟用,請在叢集上啟用 Azure RBAC:Azure 入口網站 → AKS 叢集 → 設定 → 安全組態 → 身分驗證和授權 → 選取 Azure RBAC
指派唯讀角色:Azure 入口網站 → 訂閱 → 選取訂閱 → 存取控制 (IAM) → 新增角色指派 → 選取 Azure Kubernetes Service RBAC 讀取器 → 指派給應用程式
這涵蓋訂閱中的所有 AKS 叢集。
選項 B:Azure Active Directory (Azure AD) + Kubernetes RBAC
如果您的叢集已使用預設的 Azure AD 身分驗證組態,且您不想啟用 Azure RBAC,請使用此選項。這需要每個叢集kubectl的設定。
將下列資訊清單儲存為
devops-agent-reader.yaml:
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: devops-agent-reader rules: - apiGroups: [""] resources: ["namespaces", "pods", "pods/log", "services", "events", "nodes"] verbs: ["get", "list"] - apiGroups: ["apps"] resources: ["deployments", "replicasets", "statefulsets", "daemonsets"] verbs: ["get", "list"] - apiGroups: ["metrics.k8s.io"] resources: ["pods", "nodes"] verbs: ["get", "list"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: devops-agent-reader-binding subjects: - kind: User name: "<SERVICE_PRINCIPAL_OBJECT_ID>" apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: devops-agent-reader apiGroup: rbac.authorization.k8s.io
<SERVICE_PRINCIPAL_OBJECT_ID>以服務主體的物件 ID 取代 。若要尋找它:Azure Portal → Entra ID → 企業應用程式 → 搜尋應用程式名稱 (AWS DevOps Agent for Admin Consent 或您自己的 Entra 應用程式用於應用程式註冊)。套用至每個叢集:
az aks get-credentials --resource-group <rg> --name <cluster-name> kubectl apply -f devops-agent-reader.yaml
最低權限自訂角色 (選用)
若要加強存取控制,您可以建立自訂 Azure 角色,範圍僅限於資源提供者 AWS DevOps 代理程式使用的 ,而非廣泛的讀取器角色:
{ "Name": "AWS DevOps Agent - Azure Reader", "Description": "Least-privilege read-only access for AWS DevOps Agent incident investigations.", "Actions": [ "Microsoft.AlertsManagement/*/read", "Microsoft.Compute/*/read", "Microsoft.ContainerRegistry/*/read", "Microsoft.ContainerService/*/read", "Microsoft.ContainerService/managedClusters/commandResults/read", "Microsoft.DocumentDB/*/read", "Microsoft.Insights/*/read", "Microsoft.KeyVault/vaults/read", "Microsoft.ManagedIdentity/*/read", "Microsoft.Monitor/*/read", "Microsoft.Network/*/read", "Microsoft.OperationalInsights/*/read", "Microsoft.ResourceGraph/resources/read", "Microsoft.ResourceHealth/*/read", "Microsoft.Resources/*/read", "Microsoft.Sql/*/read", "Microsoft.Storage/*/read", "Microsoft.Web/*/read" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/{your-subscription-id}" ] }
將訂閱與客服人員空間建立關聯
在帳戶層級註冊 Azure 之後,請將特定訂閱與您的 代理程式空間建立關聯:
在 AWS DevOps 代理程式主控台中,選取您的代理程式空間
前往功能索引標籤
在次要來源區段中,按一下新增
選取 Azure
提供您要關聯的 Azure 訂閱的訂閱 ID
按一下新增以完成關聯
您可以將多個訂閱與相同的代理程式空間建立關聯,讓代理程式在您的 Azure 環境中可見性。
管理 Azure 資源連線
檢視連線訂閱 – 在功能索引標籤中,次要來源區段會列出所有連線的 Azure 訂閱。
移除訂閱 – 若要中斷訂閱與客服人員空間的連線,請在次要來源清單中選取訂閱,然後按一下移除。這不會影響帳戶層級註冊。
移除註冊 – 若要完全移除 Azure 雲端註冊,請前往功能提供者頁面並刪除註冊。必須先移除所有 Agent Space 關聯。