View a markdown version of this page

Connessione delle risorse di Azure - AWS DevOps Agente

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Connessione delle risorse di Azure

L'integrazione con Azure Resources consente all' AWS DevOps agente di scoprire e analizzare le risorse nelle sottoscrizioni di Azure durante le indagini sugli incidenti. L'agente usa Azure Resource Graph per l'individuazione delle risorse e può accedere a metriche, log e dati di configurazione nell'ambiente Azure.

Questa integrazione segue un processo in due fasi: registrare Azure a livello di AWS account, quindi associare sottoscrizioni Azure specifiche a singoli Agent Spaces.

Prerequisiti

Prima di connettere Azure Resources, assicurati di avere:

  • Accesso alla console dell' AWS DevOps agente

  • Un account Azure con accesso alla sottoscrizione di destinazione

  • Per il metodo di consenso dell'amministratore: un account con l'autorizzazione a eseguire il consenso dell'amministratore in Microsoft Entra ID

  • Per il metodo di registrazione delle app: un'applicazione Entra con autorizzazioni per configurare le credenziali di identità federate e Outbound Identity Federation abilitata nell'account AWS

Il metodo Admin Consent utilizza un flusso basato sul consenso con l'applicazione gestita dall' AWS DevOps agente.

Fase 1: Avviare la registrazione

  1. Accedi alla console di AWS gestione e vai alla console dell' AWS DevOps agente

  2. Vai alla pagina Capability Provider

  3. Individua la sezione Azure Cloud e scegli Registra

  4. Seleziona il metodo di registrazione Admin Consent

  1. Verifica le autorizzazioni richieste

  2. Scegli di procedere: verrai reindirizzato alla pagina di consenso dell'amministratore di Microsoft Entra

  3. Accedi con un account utente principale che dispone dell'autorizzazione a fornire il consenso dell'amministratore

  4. Rivedi e concedi il consenso per l'applicazione AWS DevOps Agent

Fase 3: Autorizzazione utente completa

  1. Dopo il consenso dell'amministratore, ti viene richiesta l'autorizzazione dell'utente per verificare la tua identità come membro del tenant autorizzato

  2. Accedi con un account appartenente allo stesso tenant di Azure

  3. Dopo l'autorizzazione, verrai reindirizzato nuovamente alla console dell' AWS DevOps agente con lo stato di successo

Fase 4: Assegnazione dei ruoli

Vedi Assegnazione dei ruoli di Azure di seguito. Cerca AWS DevOps Agent quando selezioni i membri.

Registrazione delle risorse di Azure tramite la registrazione dell'app

Il metodo di registrazione dell'app utilizza la tua applicazione Entra con credenziali di identità federate.

Fase 1: Avviare la registrazione

  1. Nella console dell' AWS DevOps agente, vai alla pagina Capability Provider

  2. Individua la sezione Azure Cloud e scegli Registra

  3. Seleziona il metodo di registrazione dell'app

Fase 2: Creare e configurare l'applicazione Entra

Segui le istruzioni visualizzate nella console per:

  1. Abilita Outbound Identity Federation nel tuo AWS account (nella console IAM, vai a Impostazioni accountOutbound Identity Federation)

  2. Crea un'applicazione Entra nel tuo ID Microsoft Entra o usane una esistente

  3. Configura le credenziali di identità federate sull'applicazione

Fase 3: Fornire i dettagli di registrazione

Compila il modulo di registrazione con:

  • ID tenant: il tuo identificatore del tenant di Azure

  • Nome tenant: nome visualizzato per il tenant

  • ID client: l'ID dell'applicazione (client) dell'applicazione Entra che hai creato

  • Pubblico: l'identificatore del pubblico per la credenziale federata

Fase 4: Creare il ruolo IAM

Un ruolo IAM verrà creato automaticamente quando invii la registrazione tramite la console. Consente all' AWS DevOps agente di assumere le credenziali e di richiamare. sts:GetWebIdentityToken

Fase 5: Assegnazione dei ruoli

Vedi Assegnazione dei ruoli di Azure di seguito. Cerca l'applicazione Entra che hai creato durante la selezione dei membri.

Fase 6: Completare la registrazione

  1. Conferma la configurazione nella console AWS DevOps dell'agente

  2. Scegli Invia per completare la registrazione

Assegnazione dei ruoli di Azure

Dopo la registrazione, concedi all'applicazione l'accesso in lettura alla tua sottoscrizione di Azure. Questo passaggio è lo stesso per i metodi di consenso dell'amministratore e di registrazione dell'app.

  1. Nel portale di Azure, accedi alla sottoscrizione di Target

  2. Vai a Access Control (IAM)

  3. Scegli Aggiungi > Aggiungi assegnazione di ruolo

  4. Seleziona il ruolo Lettore e scegli Avanti

  5. Scegli Seleziona membri, cerca l'applicazione (AWS DevOps Agent for Admin Consent o la tua applicazione Entra per la registrazione delle app)

  6. Seleziona l'applicazione e scegli Review + assign

  7. (Facoltativo) Per consentire all'agente di accedere ai cluster di Azure Kubernetes Service (AKS), completa la seguente configurazione di accesso AKS.

Configurazione dell'accesso AKS (opzionale)

Passaggio 1: accesso a livello di Azure Resource Manager (ARM)

Assegna il ruolo utente del cluster di servizio Azure Kubernetes all'applicazione.

Nel portale di Azure, vai a Sottoscrizioni → seleziona abbonamento → Controllo di accesso (IAM)Aggiungi assegnazione di ruolo → seleziona Ruolo utente del cluster di servizio Azure Kubernetes → assegna all'applicazione (AWS DevOps Agent for Admin Consent o la tua applicazione Entra per la registrazione delle app).

Questo copre tutti i cluster AKS inclusi nell'abbonamento. Per limitarti a cluster specifici, assegnali invece a livello di gruppo di risorse o di singolo cluster.

Fase 2: accesso all'API Kubernetes

Scegli un'opzione in base alla configurazione di autenticazione del cluster:

Opzione A: Azure Role-Based Access Control (RBAC) per Kubernetes (consigliato)

  1. Abilita Azure RBAC sul cluster se non è già abilitato: Azure Portal → AKS cluster → Impostazioni → Configurazione di sicurezza → Autenticazione e autorizzazione → seleziona Azure RBAC

  2. Assegna un ruolo di sola lettura: Azure Portal → Subscriptions → seleziona abbonamento → Access Control (IAM)Aggiungi l'assegnazione del ruolo → seleziona Azure Kubernetes Service RBAC Reader → assegna all'applicazione

Questo copre tutti i cluster AKS nell'abbonamento.

Opzione B: Azure Active Directory (Azure AD) +Kubernetes RBAC

Usala se il tuo cluster usa già la configurazione di autenticazione predefinita di Azure AD e preferisci non abilitare Azure RBAC. Ciò richiede una configurazione per cluster. kubectl

  1. Salva il seguente manifesto come: 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
  1. Sostituiscilo <SERVICE_PRINCIPAL_OBJECT_ID> con l'Object ID del responsabile del servizio. Per trovarlo: Azure Portal → Entra ID → Enterprise Applications → cerca il nome dell'applicazione (AWS DevOps Agent for Admin Consent o la tua applicazione Entra per la registrazione delle app).

  2. Applica a ciascun cluster:

az aks get-credentials --resource-group <rg> --name <cluster-name> kubectl apply -f devops-agent-reader.yaml

Least-privileged ruolo personalizzato (opzionale)

Per un controllo più rigoroso degli accessi, puoi creare un ruolo di Azure personalizzato riservato solo ai provider di risorse utilizzati da AWS DevOps Agent, anziché l'ampio ruolo Reader:

{ "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}" ] }

Associazione di una sottoscrizione a un Agent Space

Dopo aver registrato Azure a livello di account, associa sottoscrizioni specifiche ai tuoi Agent Spaces:

  1. Nella console dell' AWS DevOps agente, seleziona il tuo Agent Space

  2. Vai alla scheda Funzionalità

  3. Nella sezione Fonti secondarie, scegli Aggiungi

  4. Seleziona Azure

  5. Fornisci l'ID di sottoscrizione per la sottoscrizione di Azure che desideri associare

  6. Scegli Aggiungi per completare l'associazione

Puoi associare più sottoscrizioni allo stesso Agent Space per offrire all'agente visibilità nel tuo ambiente Azure.

Gestione delle connessioni di Azure Resources

  • Visualizzazione delle sottoscrizioni connesse: nella scheda Funzionalità, la sezione Fonti secondarie elenca tutte le sottoscrizioni di Azure connesse.

  • Rimozione di un abbonamento: per disconnettere un abbonamento da un Agent Space, selezionalo nell'elenco delle fonti secondarie e scegli Rimuovi. Ciò non influisce sulla registrazione a livello di account.

  • Rimozione della registrazione: per rimuovere completamente la registrazione sul cloud di Azure, vai alla pagina Provider di capacità ed elimina la registrazione. Tutte le associazioni di Agent Space devono prima essere rimosse.