

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
<a name="connecting-azure-connecting-azure-resources"></a>

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
<a name="prerequisites"></a>

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 credenziali di identità federate e [Outbound Identity Federation](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-federation.html) abilitata nell'account AWS 

**Nota:** è possibile avviare la registrazione anche dall'interno di un Agent Space. Passa a **Fonti secondarie**, fai clic su **Aggiungi** e seleziona **Azure.** Se Azure Cloud non è ancora registrato, la console ti guida prima nella registrazione.

## Registrazione delle risorse di Azure tramite il consenso dell'amministratore
<a name="registering-azure-resources-via-admin-consent"></a>

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

### Fase 1: Avviare la registrazione
<a name="step-1-start-the-registration"></a>

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

1. Vai alla pagina **Capability Provider**

1. **Individua la sezione **Azure Cloud** e fai clic su Registra**

1. Seleziona il metodo di registrazione **Admin Consent**

### Fase 2: Completa il consenso dell'amministratore
<a name="step-2-complete-admin-consent"></a>

1. Verifica le autorizzazioni richieste

1. Fai clic per procedere: verrai reindirizzato alla pagina di consenso dell'amministratore di Microsoft Entra

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

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

### Fase 3: Autorizzazione utente completa
<a name="step-3-complete-user-authorization"></a>

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

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

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

### Fase 4: Assegnazione dei ruoli
<a name="step-4-assign-roles"></a>

Vedi [Assegnazione dei ruoli di Azure](#assigning-azure-roles) di seguito. Cerca **AWS DevOps Agent** quando selezioni i membri.

## Registrazione delle risorse di Azure tramite la registrazione dell'app
<a name="registering-azure-resources-via-app-registration"></a>

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

### Fase 1: Avviare la registrazione
<a name="step-1-start-the-registration"></a>

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

1. **Individua la sezione **Azure Cloud** e fai clic su Registra**

1. Seleziona il metodo di **registrazione dell'app**

### Fase 2: Creare e configurare l'applicazione Entra
<a name="step-2-create-and-configure-your-entra-application"></a>

Segui le istruzioni visualizzate nella console per:

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

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

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

### Fase 3: Fornire i dettagli di registrazione
<a name="step-3-provide-registration-details"></a>

Compila il modulo di registrazione con:
+ **ID tenant**: il tuo identificatore del tenant di Azure
+ Nome **tenant: un 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
<a name="step-4-create-the-iam-role"></a>

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
<a name="step-5-assign-roles"></a>

Vedi [Assegnazione dei ruoli di Azure](#assigning-azure-roles) di seguito. Cerca l'applicazione Entra che hai creato durante la selezione dei membri.

### Fase 6: Completare la registrazione
<a name="step-6-complete-the-registration"></a>

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

1. Fate clic su **Invia** per completare la registrazione

## Assegnazione dei ruoli di Azure
<a name="assigning-azure-roles"></a>

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

1. Vai a **Access Control (IAM)**

1. Fai clic su **Aggiungi** > **Aggiungi assegnazione di ruolo**

1. **Seleziona il ruolo **Reader** e fai clic su Avanti**

1. Fai clic su **Seleziona membri**, cerca l'applicazione (**AWS DevOps Agent** for Admin Consent o la tua applicazione Entra per la registrazione delle app)

1. Selezionate l'applicazione e fate clic su **Review \+ assign**

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

**Requisito di sicurezza:** al responsabile del servizio deve essere assegnato solo il ruolo **Reader** (e facoltativamente i ruoli di sola lettura AKS elencati di seguito). Il ruolo Reader funge da limite di sicurezza che limita l'agente alle operazioni di sola lettura e limita l'impatto degli attacchi indiretti di prompt injection. L'assegnazione di ruoli con autorizzazioni di scrittura o azione aumenta in modo significativo il raggio di risposta del prompt injection e può comportare una compromissione delle risorse di Azure. AWS DevOps L'agente esegue solo operazioni di lettura. L'agente non modifica, crea o elimina risorse di Azure.

### Configurazione dell'accesso AKS (opzionale)
<a name="aks-access-setup-optional"></a>

#### Fase 1: accesso a livello di Azure Resource Manager (ARM)
<a name="step-1-azure-resource-manager-arm-level-access"></a>

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
<a name="step-2-kubernetes-api-access"></a>

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********

1. **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).

1. Applica a ciascun cluster:

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

**Nota:** i cluster che utilizzano solo account locali (senza Azure AD) non sono supportati. Ti consigliamo di abilitare l'integrazione di Azure AD nel tuo cluster per usare questa funzionalità.

### Ruolo personalizzato con privilegi minimi (opzionale)
<a name="least-privileged-custom-role-optional"></a>

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é il ruolo generale 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
<a name="associating-a-subscription-with-an-agent-space"></a>

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

1. Vai alla scheda **Funzionalità**

1. Nella sezione **Fonti secondarie**, fai clic su **Aggiungi**

1. Seleziona **Azure**

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

1. Fai clic su **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
<a name="managing-azure-resources-connections"></a>
+ **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 fai clic su 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.