View a markdown version of this page

Connecter les ressources Azure - AWS DevOps Agent

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Connecter les ressources Azure

L'intégration des ressources Azure permet à l' AWS DevOps agent de découvrir et d'étudier les ressources de vos abonnements Azure lors des enquêtes sur les incidents. L'agent utilise Azure Resource Graph pour découvrir les ressources et peut accéder aux métriques, aux journaux et aux données de configuration dans votre environnement Azure.

Cette intégration suit un processus en deux étapes : enregistrez Azure au niveau du AWS compte, puis associez des abonnements Azure spécifiques à des espaces d'agent individuels. Vous pouvez créer plusieurs enregistrements Azure Resources dans un compte et enregistrer le même locataire Azure dans plusieurs AWS comptes. Si vous utilisez App Registration, chaque enregistrement doit utiliser une application différente (identifiant client). Pour plus d'informations, consultez Connecting Azure.

Conditions préalables

Avant de connecter Azure Resources, assurez-vous de disposer des éléments suivants :

  • Accès à la console de AWS DevOps l'agent

  • Un compte Azure avec accès à l'abonnement cible

  • Pour la méthode de consentement de l'administrateur : un compte autorisé à effectuer le consentement de l'administrateur dans Microsoft Entra ID

  • Pour la méthode d'enregistrement des applications : une application Entra autorisée à configurer les informations d'identification fédérées et la fédération d'identité sortante activée sur votre compte AWS

La méthode Admin Consent utilise un flux basé sur le consentement avec l'application gérée par l' AWS DevOps Agent.

Étape 1 : démarrer l'enregistrement

  1. Connectez-vous à la console de AWS gestion et accédez à la console de l' AWS DevOps agent

  2. Accédez à la page des fournisseurs de capacités

  3. Localisez la section Azure Cloud et choisissez Enregistrer

  4. Sélectionnez la méthode d'enregistrement Admin Consent

  1. Passez en revue les autorisations demandées

  2. Choisissez de continuer : vous êtes redirigé vers la page de consentement de l'administrateur de Microsoft Entra

  3. Connectez-vous avec un compte utilisateur principal autorisé à donner le consentement de l'administrateur

  4. Examiner la demande d' AWS DevOps agent et donner son consentement

Étape 3 : Autorisation complète de l'utilisateur

  1. Après le consentement de l'administrateur, vous êtes invité à obtenir l'autorisation de l'utilisateur pour vérifier votre identité en tant que membre du locataire autorisé

  2. Connectez-vous à l'aide d'un compte appartenant au même client Azure

  3. Après autorisation, vous êtes redirigé vers la console de l' AWS DevOps agent avec un statut de réussite

Étape 4 : Attribuer des rôles

Consultez la section Attribution de rôles Azure ci-dessous. Recherchez un AWS DevOps agent lors de la sélection des membres.

Enregistrement des ressources Azure via l'enregistrement des applications

La méthode d'enregistrement des applications utilise votre propre application Entra avec des informations d'identité fédérées.

Étape 1 : démarrer l'enregistrement

  1. Dans la console de l' AWS DevOps agent, accédez à la page Capability Providers

  2. Localisez la section Azure Cloud et choisissez Enregistrer

  3. Sélectionnez la méthode d'enregistrement de l'application

Étape 2 : Création et configuration de votre application Entra

Suivez les instructions affichées dans la console pour :

  1. Activez Outbound Identity Federation dans votre AWS compte (dans la console IAM, accédez à Paramètres du compte Outbound Identity Federation)

  2. Créez une application Entra dans votre identifiant Microsoft Entra ou utilisez-en une existante

  3. Configurer les informations d'identification fédérées sur l'application

Étape 3 : Fournissez les détails de l'inscription

Remplissez le formulaire d'inscription avec :

  • ID du locataire  : votre identifiant de locataire Azure

  • Nom du locataire  : nom d'affichage du locataire

  • ID client  : ID de l'application (client) de l'application Entra que vous avez créée

  • Audience  : identifiant d'audience pour le certificat fédéré

Étape 4 : Création du rôle IAM

Un rôle IAM sera automatiquement créé lorsque vous soumettrez l'enregistrement via la console. Il permet à AWS DevOps l'agent d'assumer les informations d'identification et de les invoquersts:GetWebIdentityToken.

Étape 5 : Attribuer des rôles

Consultez la section Attribution de rôles Azure ci-dessous. Recherchez l'application Entra que vous avez créée lors de la sélection des membres.

Étape 6 : Terminez l'enregistrement

  1. Confirmez la configuration dans la console de AWS DevOps l'agent

  2. Choisissez Soumettre pour terminer l'inscription

Attribution de rôles Azure

Après l'enregistrement, accordez à l'application l'accès en lecture à votre abonnement Azure. Cette étape est la même pour les méthodes de consentement de l'administrateur et d'enregistrement de l'application.

  1. Dans le portail Azure, accédez à votre abonnement cible

  2. Accédez au contrôle d'accès (IAM)

  3. Choisissez Ajouter > Ajouter une attribution de rôle

  4. Sélectionnez le rôle Lecteur et choisissez Suivant

  5. Choisissez Sélectionner les membres, recherchez l'application (soit AWS DevOps un agent pour le consentement de l'administrateur, soit votre propre application Entra pour l'enregistrement des applications)

  6. Sélectionnez l'application et choisissez Réviser + attribuer

  7. (Facultatif) Pour permettre à l'agent d'accéder aux clusters Azure Kubernetes Service (AKS), effectuez la configuration d'accès AKS suivante.

Configuration de l'accès AKS (en option)

Étape 1 : accès au niveau Azure Resource Manager (ARM)

Attribuez le rôle d'utilisateur Azure Kubernetes Service Cluster à l'application.

Dans le portail Azure, accédez à Abonnements → sélectionnez abonnement → Contrôle d'accès (IAM) Ajouter une attribution de rôle → sélectionnez Rôle utilisateur Azure Kubernetes Service Cluster → attribuer à l'application (soit AWS DevOps agent pour le consentement de l'administrateur, soit votre propre application Entra pour l'enregistrement des applications).

Cela couvre tous les clusters AKS inclus dans l'abonnement. Pour étendre la portée à des clusters spécifiques, affectez-les plutôt au niveau du groupe de ressources ou du cluster individuel.

Étape 2 : Accès à l'API Kubernetes

Choisissez une option en fonction de la configuration d'authentification de votre cluster :

Option A : Azure Role-Based Access Control (RBAC) pour Kubernetes (recommandé)

  1. Activez Azure RBAC sur le cluster si ce n'est pas déjà fait : Azure Portal → Cluster AKS → Paramètres → Configuration de la sécurité Authentification et autorisation → sélectionnez Azure RBAC

  2. Attribuer un rôle en lecture seule : Azure Portal → Abonnements → Sélectionnez un abonnement → Contrôle d'accès (IAM) Ajouter une attribution de rôle → sélectionnez Azure Kubernetes Service RBAC Reader → attribuer à l'application

Cela couvre tous les clusters AKS inclus dans l'abonnement.

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

Utilisez-le si votre cluster utilise déjà la configuration d'authentification par défaut d'Azure AD et que vous préférez ne pas activer Azure RBAC. Cela nécessite une kubectl configuration par cluster.

  1. Enregistrez le manifeste suivant sous le nom 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. Remplacez-le <SERVICE_PRINCIPAL_OBJECT_ID> par l'ID d'objet de votre responsable de service. Pour le trouver : Azure Portal → Entra ID → Applications d'entreprise → recherchez le nom de l'application (soit AWS DevOps Agent pour le consentement de l'administrateur, soit votre propre application Entra pour l'enregistrement des applications).

  2. Appliquez à chaque cluster :

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

Least-privileged rôle personnalisé (facultatif)

Pour un contrôle d'accès plus strict, vous pouvez créer un rôle Azure personnalisé limité aux fournisseurs de ressources utilisés par l' AWS DevOps agent, au lieu du rôle général de lecteur :

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

Associer un abonnement à un espace d'agent

Après avoir enregistré Azure au niveau du compte, associez des abonnements spécifiques à vos espaces d'agent :

  1. Dans la console de l' AWS DevOps agent, sélectionnez votre espace d'agent

  2. Accédez à l'onglet Capacités

  3. Dans la section Sources secondaires, choisissez Ajouter

  4. Choisissez l'enregistrement Azure qui contient l'abonnement que vous souhaitez utiliser.

  5. Indiquez l'ID d'abonnement pour l'abonnement Azure que vous souhaitez associer

  6. Choisissez Ajouter pour terminer l'association

Vous pouvez associer plusieurs abonnements au même espace d'agent, y compris des abonnements provenant de différentes inscriptions, afin de donner à l'agent une visibilité sur votre environnement Azure. Pour associer un autre abonnement, répétez ces étapes.

Gestion des connexions Azure Resources

  • Affichage des abonnements connectés — Dans l'onglet Fonctionnalités, la section Sources secondaires répertorie tous les abonnements Azure connectés.

  • Supprimer un abonnement  : pour déconnecter un abonnement d'un espace d'agent, sélectionnez-le dans la liste des sources secondaires et choisissez Supprimer. Cela n'affecte pas l'enregistrement au niveau du compte.

  • Suppression de l'enregistrement  : pour supprimer complètement l'enregistrement Azure Cloud, rendez-vous sur la page Capability Providers et supprimez l'enregistrement. Toutes les associations Agent Space doivent d'abord être supprimées.