

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Conexión de los recursos de Azure
<a name="connecting-azure-connecting-azure-resources"></a>

La integración de Azure Resources permite al AWS DevOps agente descubrir e investigar los recursos de sus suscripciones de Azure durante la investigación de incidentes. El agente usa Azure Resource Graph para descubrir recursos y puede acceder a las métricas, los registros y los datos de configuración de todo el entorno de Azure.

Esta integración sigue un proceso de dos pasos: registre Azure a nivel de AWS cuenta y, a continuación, asocie suscripciones específicas de Azure a Agent Spaces individuales.

## Requisitos previos
<a name="prerequisites"></a>

Antes de conectar Azure Resources, asegúrese de tener:
+ Acceso a la consola del AWS DevOps agente
+ Una cuenta de Azure con acceso a la suscripción de destino
+ Para el método de consentimiento del administrador: una cuenta con permiso para otorgar el consentimiento del administrador en Microsoft Entra ID
+ Para el método de registro de aplicaciones: una aplicación Entra con permisos para configurar las credenciales de identidad federadas y una [federación de identidades salientes](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-federation.html) habilitada en su cuenta AWS 

**Nota:** También puede iniciar el registro desde un espacio de agente. Vaya a **Fuentes secundarias**, haga clic en **Agregar** y seleccione **Azure**. Si Azure Cloud aún no está registrado, la consola le guiará primero por el proceso de registro.

## Cómo registrar los recursos de Azure mediante el consentimiento del administrador
<a name="registering-azure-resources-via-admin-consent"></a>

El método de consentimiento del administrador utiliza un flujo basado en el consentimiento con la aplicación administrada por el AWS DevOps agente.

### Paso 1: iniciar el registro
<a name="step-1-start-the-registration"></a>

1. Inicie sesión en la consola AWS de administración y navegue hasta la consola del AWS DevOps agente

1. Vaya a la página **de proveedores de capacidades**

1. Busque la sección **Azure Cloud** y haga clic en **Registrar**

1. Seleccione el método de registro con **el consentimiento del administrador**

### Paso 2: Completar el consentimiento del administrador
<a name="step-2-complete-admin-consent"></a>

1. Revisa los permisos que se solicitan

1. Haga clic para continuar: se le redirigirá a la página de consentimiento del administrador de Microsoft Entra

1. Inicia sesión con una cuenta principal de usuario que tenga permiso para otorgar el consentimiento de administrador

1. Revisa la solicitud de AWS DevOps agente y otorga tu consentimiento

### Paso 3: Completar la autorización del usuario
<a name="step-3-complete-user-authorization"></a>

1. Tras el consentimiento del administrador, se le solicitará la autorización de usuario para verificar su identidad como miembro del arrendatario autorizado

1. Inicie sesión con una cuenta que pertenezca al mismo inquilino de Azure

1. Tras la autorización, se le redirigirá de nuevo a la consola del AWS DevOps agente con un estado correcto

### Paso 4: Asignar funciones
<a name="step-4-assign-roles"></a>

Consulte [Asignación de roles de Azure](#assigning-azure-roles) a continuación. Busque un **AWS DevOps agente** al seleccionar los miembros.

## Registro de recursos de Azure mediante el registro de aplicaciones
<a name="registering-azure-resources-via-app-registration"></a>

El método de registro de aplicaciones utiliza su propia aplicación Entra con credenciales de identidad federadas.

### Paso 1: Iniciar el registro
<a name="step-1-start-the-registration"></a>

1. En la consola del AWS DevOps agente, vaya a la página **de proveedores de capacidades**

1. Busque la sección **Azure Cloud** y haga clic en **Registrar**

1. Seleccione el método de **registro de la aplicación**

### Paso 2: Crea y configura tu aplicación Entra
<a name="step-2-create-and-configure-your-entra-application"></a>

Siga las instrucciones que aparecen en la consola para:

1. Habilite la federación de identidades salientes en su AWS cuenta (en la consola de IAM, vaya a **Configuración de la cuenta** → Federación de identidades **salientes**)

1. Cree una aplicación Entra en su ID de Microsoft Entra o utilice una existente

1. Configure las credenciales de identidad federadas en la aplicación

### Paso 3: Proporcione los detalles de registro
<a name="step-3-provide-registration-details"></a>

Rellene el formulario de registro con:
+ **ID de inquilino**: su identificador de inquilino de Azure
+ **Nombre del inquilino**: nombre visible del inquilino
+ **ID de cliente**: el ID de aplicación (cliente) de la aplicación Entra que creó
+ **Audiencia**: el identificador de audiencia de la credencial federada

### Paso 4: Crear el rol de IAM
<a name="step-4-create-the-iam-role"></a>

Al enviar el registro a través de la consola, se creará automáticamente un rol de IAM. Permite al AWS DevOps agente asumir las credenciales e `sts:GetWebIdentityToken` invocarlas.

### Paso 5: Asignar funciones
<a name="step-5-assign-roles"></a>

Consulte [Asignación de roles de Azure](#assigning-azure-roles) a continuación. Busque la aplicación Entra que creó al seleccionar los miembros.

### Paso 6: Complete el registro
<a name="step-6-complete-the-registration"></a>

1. Confirme la configuración en la consola del AWS DevOps agente

1. Haga clic en **Enviar** para completar el registro

## Asignación de roles de Azure
<a name="assigning-azure-roles"></a>

Tras el registro, conceda a la aplicación acceso de lectura a su suscripción de Azure. Este paso es el mismo para los métodos de consentimiento del administrador y registro de la aplicación.

1. En el Portal de Azure, navegue hasta la suscripción de destino

1. Vaya a **Control de acceso (IAM**)

1. Haga clic en **Añadir** > **Añadir asignación de funciones**

1. Seleccione el rol de **lector** y haga clic en **Siguiente**

1. Haga clic en **Seleccionar miembros** y busque la aplicación (ya sea **AWS DevOps un agente** para obtener el consentimiento del administrador o su propia aplicación Entra para registrar la aplicación)

1. Seleccione la aplicación y haga clic en **Revisar \$1 asignar**

1. (Opcional) Para permitir que el agente acceda a los clústeres de Azure Kubernetes Service (AKS), complete la siguiente configuración de acceso a AKS.

**Requisito de seguridad:** al director del servicio solo se le debe asignar la función de **lector** (y, opcionalmente, las funciones de solo lectura de AKS que se indican a continuación). La función de lector sirve como límite de seguridad que restringe al agente a operaciones de solo lectura y limita el impacto de los ataques indirectos de inyección inmediata. La asignación de funciones con permisos de escritura o acción aumenta considerablemente el radio de acción de las inyecciones rápidas y puede comprometer los recursos de Azure. AWS DevOps El agente solo realiza operaciones de lectura. El agente no modifica, crea ni elimina los recursos de Azure.

### Configuración de acceso a AKS (opcional)
<a name="aks-access-setup-optional"></a>

#### Paso 1: acceso a nivel de Azure Resource Manager (ARM)
<a name="step-1-azure-resource-manager-arm-level-access"></a>

Asigne el **rol de usuario del clúster de servicios de Azure Kubernetes a la aplicación**.

En Azure Portal, vaya a **Suscripciones** → seleccione una suscripción → **Control de acceso (IAM)** → **Agregar asignación de funciones → seleccione la función** de **usuario del clúster de servicios de Kubernetes de Azure** → asígnela a la aplicación (ya sea **AWS DevOps agente** para obtener el consentimiento del administrador o su propia aplicación Entra para registrar la aplicación).

Esto cubre todos los clústeres de AKS de la suscripción. Para abarcar clústeres específicos, en su lugar, asígnelo a nivel de grupo de recursos o de clúster individual.

#### Paso 2: Acceso a la API de Kubernetes
<a name="step-2-kubernetes-api-access"></a>

Elige una opción en función de la configuración de autenticación de tu clúster:

**Opción A: Control de acceso basado en roles (RBAC) de Azure para Kubernetes (recomendado)**

1. ****Habilite Azure RBAC en el clúster si aún no lo ha hecho: Azure Portal → Clúster de AKS → Configuración → **Configuración de **seguridad** → Autenticación y autorización → seleccione** Azure RBAC****

1. Asigne una función de solo lectura: Azure Portal → **Suscripciones** → seleccionar suscripción → **Control de acceso (IAM)** → **Agregar asignación de funciones → seleccionar **Azure Kubernetes** Service RBAC Reader → asignar** a la aplicación

Esto cubre todos los clústeres de AKS de la suscripción.

**Opción B: Azure Active Directory (Azure AD) \$1 Kubernetes RBAC**

Úselo si su clúster ya usa la configuración de autenticación predeterminada de Azure AD y prefiere no habilitar el RBAC de Azure. Esto requiere una configuración por clúster. `kubectl`

1. Guarde el siguiente manifiesto como`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. `<SERVICE_PRINCIPAL_OBJECT_ID>`Sustitúyalo por el ID de objeto del director de servicio. Para encontrarlo: Azure Portal → Entra ID → Aplicaciones empresariales → busque el nombre de la aplicación (ya sea **AWS DevOps agente** para obtener el consentimiento del administrador o su propia aplicación Entra para registrar la aplicación).

1. Aplíquelo a cada clúster:

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

**Nota:** No se admiten los clústeres que utilizan solo cuentas locales (sin Azure AD). Le recomendamos que habilite la integración de Azure AD en su clúster para usar esta función.

### Función personalizada con menos privilegios (opcional)
<a name="least-privileged-custom-role-optional"></a>

Para un control de acceso más estricto, puede crear un rol de Azure personalizado que se limite únicamente a los proveedores de recursos que utiliza el AWS DevOps agente, en lugar del amplio rol de lector:

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

## Asociar una suscripción a un espacio de agente
<a name="associating-a-subscription-with-an-agent-space"></a>

Tras registrar Azure a nivel de cuenta, asocie suscripciones específicas a sus Agent Spaces:

1. En la consola de AWS DevOps agentes, seleccione su espacio de agente

1. Ve a la pestaña **Capacidades**

1. En la sección **Fuentes secundarias**, haga clic en **Agregar**

1. Selecciona **Azure**

1. Proporcione el **identificador de suscripción** de la suscripción de Azure que desee asociar

1. Haga clic en **Agregar** para completar la asociación

Puede asociar varias suscripciones al mismo espacio de agente para que el agente tenga visibilidad en todo el entorno de Azure.

## Administrar las conexiones de Azure Resources
<a name="managing-azure-resources-connections"></a>
+ **Visualización de las suscripciones conectadas**: en la pestaña **Capacidades**, la sección **Fuentes secundarias** muestra todas las suscripciones de Azure conectadas.
+ **Eliminar una suscripción**: para desconectar una suscripción de un Agent Space, selecciónela en la lista de **fuentes secundarias** y haga clic en **Eliminar**. Esto no afecta al registro a nivel de cuenta.
+ **Eliminar el registro**: para eliminar por completo el registro en la nube de Azure, vaya a la página de **proveedores de capacidades** y elimine el registro. Primero se deben eliminar todas las asociaciones de Agent Space.