View a markdown version of this page

Configuration de Microsoft Azure pour l'intégrer à Security Hub - AWS Hub de sécurité

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.

Configuration de Microsoft Azure pour l'intégrer à Security Hub

Après avoir effectué les tâches préalables, vous pouvez configurer votre environnement Microsoft Azure pour prendre en charge l'intégration avec AWS Security Hub. Pour vous aider à le faire, la console Security Hub génère un script de configuration personnalisé en fonction de votre configuration.

Pour générer le script de configuration
  1. Ouvrez la console AWS Security Hub à l'adresse https://console.aws.amazon.com/securityhub/advanced/home ? region=us-est-1. .

  2. Dans le volet de navigation, choisissez Intégrations.

  3. Choisissez Créer un connecteur Azure.

  4. Terminez la configuration du connecteur (ID du locataire, étendue et nom), puis copiez le script de configuration généré.

Pour exécuter le script, utilisez l'interface de ligne de commande Azure et authentifiez-vous avec un compte d'administrateur global (az login).

Lorsque vous exécutez le script, il exécute une série de tâches. Les sections suivantes décrivent chaque tâche exécutée par le script. Si votre organisation restreint l'exécution des scripts, vous pouvez effectuer ces tâches manuellement, en vous servant de cette rubrique comme guide. Après avoir configuré votre environnement Azure, vous pouvez configurer Security Hub pour l'intégrer à Azure.

Les étapes 1 à 7 configurent la base partagée utilisée par toutes les fonctionnalités de Security Hub : enregistrement de l'application, informations d'identification fédérées, attributions de rôles Azure, autorisations Microsoft Graph, Event Hub et exportation des journaux. Étapes 8 à 10 : configurez les ressources Azure supplémentaires pour des fonctionnalités spécifiques :

  • Gestion des vulnérabilités (Amazon Inspector)  : configure l'exportation des événements du référentiel Azure Container Registry (ACR) et une identité gérée attribuée par le système sur vos machines virtuelles Azure.

  • Détection des menaces (Microsoft Defender pour le cloud)  : configure Microsoft Defender pour le cloud afin d'exporter en continu les alertes de sécurité vers l'Event Hub.

Note

Un seul enregistrement d'application Azure est partagé entre les services AWS de sécurité. Si vous utilisez également Security Hub CSPM ou Amazon Inspector pour Azure, ils utilisent le même enregistrement d'application. Il n'est pas nécessaire de créer des inscriptions distinctes pour chaque AWS service.

Étape 1 : enregistrer une application Azure

Enregistrez une nouvelle application dans Microsoft Entra ID. Cette application sert d'identité AWS utilisée pour s'authentifier auprès de votre environnement Azure à l'aide d'informations d'identification fédérées. Aucun secret client n'est requis.

$ az ad app create --display-name "AWSSecurityHubIntegration"

Notez l'ID de l'application (client) de la sortie (l'appIdattribut). Vous fournirez cette valeur lors de la création du connecteur dans la console Security Hub.

Étape 2 : Création d'un responsable de service

Créez un principal de service pour l'application enregistrée. Vous utilisez les attributions de rôles Azure pour accorder des autorisations au responsable du service. Le responsable du service exécute des actions dans votre environnement Azure.

$ az ad sp create --id application-client-id

Où se application-client-id trouve l'ID de l'application (client) de l'étape précédente.

Définissez l'URI de l'ID d'application lors de l'enregistrement surapi://application-client-id. AWS nécessite cet identifiant pour échanger des jetons fédérés avec l'application. Sans cet URI, il est AWS impossible de générer une audience de jetons fédérés valide et toutes les fonctionnalités ne parviennent pas à s'authentifier auprès d'Azure.

$ az ad app update \ --id application-client-id \ --identifier-uris "api://application-client-id"

Étape 3 : Configuration des informations d'identification fédérées

Configurez les informations d'identification fédérées sur l'application pour AWS permettre l'authentification sans secret client. Cela permet d'établir une relation de confiance OIDC entre AWS et Azure. Aucun secret ou identifiant de longue durée n'est stocké.

L'intégration de Security Hub Azure s'authentifie à l'aide d'un rôle AWS IAM par fonctionnalité : découverte de la configuration des ressources, gestion des vulnérabilités et détection des menaces. Ajoutez un identifiant d'identité fédéré pour chaque rôle afin que chaque fonctionnalité puisse s'authentifier auprès d'Azure. AWS crée automatiquement les rôles liés aux services lorsque vous créez le connecteur. Le rôle Inspector2SSMFederationRole utilisé pour l'analyse des machines virtuelles n'est pas lié à un service ; vous le créez dans le cadre de la configuration de l'analyse des machines virtuelles Amazon Inspector, décrite à l'étape 9.

Capacité Objet (ARN du rôle IAM)
Découverte de la configuration des ressources (AWS Config) arn:aws:iam::account-id:role/aws-service-role/thirdparty.config.amazonaws.com/AWSServiceRoleForConfigThirdParty
Gestion des vulnérabilités (Inspector) arn:aws:iam::account-id:role/aws-service-role/thirdparty.inspector2.amazonaws.com/AWSServiceRoleForAmazonInspector2ThirdParty
Gestion des vulnérabilités : analyse des machines virtuelles (Amazon EC2 Systems Manager) arn:aws:iam::account-id:role/Inspector2SSMFederationRole-tenant-id
Détection des menaces (Security Hub) arn:aws:iam::account-id:role/aws-service-role/securityhubv2.amazonaws.com/AWSServiceRoleForSecurityHubV2

Exécutez la commande suivante une fois pour chaque sujet du tableau précédent, en modifiant les subject valeurs name et à chaque fois. Les audiences valeurs issuer et sont les mêmes pour chaque titre d'identification.

$ az ad app federated-credential create \ --id application-client-id \ --parameters '{ "name": "credential-name", "issuer": "token-issuer-url", "subject": "service-linked-role-arn", "audiences": ["api://AzureADTokenExchange"], "description": "AWS federation for Security Hub Azure integration" }'

Valeurs clés :

  • Émetteur  : URL de l'émetteur de votre jeton provenant de l'IAM Outbound Identity Federation. Cela suit le formathttps://uuid.tokens.sts.global.api.aws.

  • Objet  : ARN de rôle IAM figurant dans le tableau précédent. tenant-idDans le rôle Amazon EC2 Systems Manager, il s'agit de votre ID de locataire Azure.

  • Audience — api://AzureADTokenExchange (valeur standard pour la fédération des identités de la charge de travail).

  • Nom  : n'importe quel nom unique au sein de l'application.

Étape 4 : Attribuer des rôles RBAC

Attribuez les rôles intégrés suivants au responsable du service :

  • Reader  : accorde un accès en lecture seule à toutes les ressources Azure, afin que Security Hub puisse découvrir et évaluer les configurations de vos ressources. Attribuez ce rôle à la portée racine (/).

  • Contributeur  : accorde l'accès en écriture dont Amazon Inspector a besoin pour analyser vos machines virtuelles Azure, vos applications fonctionnelles et vos images de conteneurs à la recherche de vulnérabilités. Attribuez ce rôle au niveau du groupe de gestion racine du locataire, qui le propage à chaque abonnement du locataire.

  • Récepteur de données Azure Event Hubs  : AWS permet de lire les événements depuis l'Event Hub. Attribuez ce rôle au niveau du groupe de gestion racine du locataire.

Attribuer Reader à la portée racine

Assurez-vous d'attribuer le rôle Reader à la portée racine (/), et non à l'étendue du groupe de gestion racine du locataire. Security Hub lit les ressources d'attribution de rôles Azure à tous les niveaux, y compris les attributions définies à la racine du locataire. Une attribution Reader au niveau du groupe de gestion racine ne couvre pas les affectations dont la portée est limitée. Sans elle/, les lectures échouent avec une erreur d'autorisation et le connecteur peut entrer dans un état dégradé.

Le contributeur accorde un accès à l'écriture à l'ensemble du locataire

Le rôle de contributeur dans la portée du groupe de gestion racine du locataire confère un accès en écriture hautement privilégié à l'échelle du locataire à vos ressources Azure. Security Hub a besoin de cet accès pour qu'Amazon Inspector puisse analyser vos ressources informatiques à la recherche de vulnérabilités. Par exemple, Inspector utilise les autorisations d'exécution de commandes de machine virtuelle fournies par Contributor. Grâce à Amazon EC2 Systems Manager Automation, Inspector exécute des commandes sur vos machines virtuelles Azure pour installer et utiliser l'agent VM Scanner.

$ az role assignment create \ --assignee application-client-id \ --role "Contributor" \ --scope "/providers/Microsoft.Management/managementGroups/tenant-id" $ az role assignment create \ --assignee application-client-id \ --role "Azure Event Hubs Data Receiver" \ --scope "/providers/Microsoft.Management/managementGroups/tenant-id" $ az role assignment create \ --assignee application-client-id \ --role "Reader" \ --scope "/"
Root-scope l'affectation nécessite un accès élevé

L'attribution d'un rôle à la portée racine (/) nécessite un accès élevé. Si l'attribution d'un rôle échoue, vérifiez que la gestion des accès pour les ressources Azure est définie sur Oui dans Microsoft Entra ID > Propriétés. Déconnectez-vous puis reconnectez-vous pour actualiser votre jeton.

Supprimer l'élévation temporaire de la racine

L'activation de la gestion des accès pour les ressources Azure confère à l'administrateur connecté le rôle d'administrateur de l'accès utilisateur à la racine (/), qui peut gérer l'accès à tous les abonnements et groupes de gestion du locataire. Une fois l'intégration terminée, redéfinissez Gestion de l'accès pour les ressources Azure sur Non dans Microsoft Entra ID > Propriétés, enregistrez et déconnectez-vous afin que cette élévation ne reste pas active.

Étape 5 : Configuration des autorisations de l'API Microsoft Graph

Accordez les autorisations d'API Microsoft Graph suivantes (type d'application) à l'application, puis accordez le consentement de l'administrateur :

  • Application.Read.All

  • AuditLog.Read.All

  • DelegatedPermissionGrant.Read.All

  • Device.Read.All

  • Group.Read.All

  • GroupMember.Read.All

  • GroupSettings.Read.All

  • Organization.Read.All

  • Policy.Read.All

  • RoleManagement.Read.Directory

  • User.Read.All

  • UserAuthenticationMethod.Read.All

$ az ad app permission admin-consent --id application-client-id

Étape 6 : configurer Azure Event Hub

AWS Config utilise un Azure Event Hub pour recevoir des notifications en temps quasi réel concernant les modifications de configuration des ressources dans votre environnement Azure. Le script de configuration crée l'infrastructure Event Hub et l'étiquette à des fins de découverte. La découverte d'Event Hub utilise une résolution basée sur les balises : Security Hub recherche une balise dans l'espace de noms Event Hub dont le format permet AWSConfig-account-id-region d'identifier l'instance d'Event Hub appropriée pour votre intégration.

$ az group create \ --name "aws-securityhub-integration" \ --location event-hub-region $ az eventhubs namespace create \ --resource-group "aws-securityhub-integration" \ --name "aws-securityhub-account-id" \ --location event-hub-region \ --sku Standard $ az eventhubs eventhub create \ --resource-group "aws-securityhub-integration" \ --namespace-name "aws-securityhub-account-id" \ --name "activitylog" \ --message-retention 3 \ --partition-count 4 $ az eventhubs eventhub consumer-group create \ --resource-group "aws-securityhub-integration" \ --namespace-name "aws-securityhub-account-id" \ --eventhub-name "activitylog" \ --name "AWSConfig"

Après avoir créé le hub d'événements, balisez l'espace de noms à découvrir et attribuez le rôle de récepteur de données. Utilisez az tag update with --operation merge pour conserver toutes les autres balises de l'espace de noms (comme la balise de découverte de détection des menaces de l'étape 10) :

$ az tag update \ --resource-id namespace-resource-id \ --operation merge \ --tags "AWSConfig-account-id-region=activitylog" $ az role assignment create \ --assignee application-client-id \ --role "Azure Event Hubs Data Receiver" \ --scope namespace-resource-id
Note

Dans le format tagAWSConfig-account-id-region, account-id il s'agit de votre Compte AWS identifiant à 12 chiffres et region de l' Région AWS endroit où vous créez le connecteur (par exemple,us-east-1). Ces valeurs identifient Compte AWS la région propriétaire de cette intégration d'Event Hub.

Configuration des touches :

  • Namespace SKU — Standard (obligatoire pour les groupes de consommateurs).

  • Nom du hub d'événements —activitylog.

  • Groupe de consommateurs —AWSConfig.

  • Tag — AWSConfig-account-id-region avec valeuractivitylog. Ce tag permet AWS Config de découvrir automatiquement l'Event Hub.

  • Attribution de rôle  : récepteur de données Azure Event Hubs dans l'espace de noms.

Pour la détection des menaces, la configuration crée également un defender-alerts Event Hub distinct avec un groupe de AWSSecurityHub consommateurs et ajoute une deuxième balise de découverte au format AWSSecurityHub-account-id-region qui identifie les hubs que Security Hub lit directement. Pour plus d'informations, reportez-vous à l'étape 10.

Étape 7 : Configuration du journal d'activité et exportation du journal d'audit Entra ID

Configurez Azure pour exporter les journaux d'activité et les journaux d'identification Microsoft Entra vers l'Event Hub.

Exportation du journal d'activité :

Configurez les paramètres de diagnostic de chaque abonnement pour exporter les journaux d'activité vers l'Event Hub. Le script de configuration le configure automatiquement pour tous les abonnements surveillés. Les journaux d'activité capturent l'activité au niveau de l'abonnement, y compris les attributions de rôles et les modifications de ressources.

Exportation du journal des identifiants Microsoft Entra :

Configurez les paramètres de diagnostic sur Microsoft Entra ID pour exporter les journaux vers le même Event Hub. Accédez à Microsoft Entra ID > Surveillance > Paramètres de diagnostic > Ajouter un paramètre de diagnostic. Activez AuditLogs SignInLogs, et NonInteractiveUserSignInLogs, et acheminez-les vers votre Event Hub.

Étape 8 : Configuration de l'exportation d'Azure Container Registry

Security Hub analyse les images de vos conteneurs Azure Container Registry (ACR) à la recherche de vulnérabilités via Amazon Inspector. Pour ce faire, Inspector a besoin que les événements du référentiel ACR soient exportés vers un Event Hub situé dans la même région Azure que le registre. Pour la configuration de l'exportation ACR, consultez la section Configuration d'Amazon Inspector pour l'intégrer à Microsoft Azure dans le guide de l'utilisateur d'Amazon Inspector.

Étape 9 : Activer une identité gérée sur les machines virtuelles Azure

Security Hub analyse vos machines virtuelles Azure via Inspector. Une identité gérée attribuée par le système doit être activée pour chaque machine virtuelle Azure cible. Pour ajouter automatiquement cette identité à vos machines virtuelles, attribuez deux politiques Azure qui utilisent l'modifyeffet au niveau du groupe de gestion racine du locataire :

  • Pour une machine virtuelle qui n'a aucune identité, la politique ajoute une identité gérée attribuée par le système.

  • Pour une machine virtuelle qui ne possède qu'une identité attribuée par l'utilisateur, la politique ajoute une identité gérée attribuée par le système tout en préservant les identités attribuées aux utilisateurs existantes.

Une machine virtuelle qui possède déjà une identité gérée attribuée par le système reste inchangée. Comme les politiques utilisent modify cet effet, elles ajustent l'identité en place sans redéployer la machine virtuelle.

Inspector utilise Amazon EC2 Systems Manager Automation pour déployer et gérer l'agent Inspector VM Scanner sur vos machines virtuelles Azure. Cela nécessite une configuration supplémentaire AWS, notamment un fournisseur d'identité IAM OIDC pour Microsoft Entra ID et plusieurs rôles IAM. Pour la configuration complète de l'analyse des machines virtuelles, consultez la section Configuration d'Amazon Inspector pour l'intégrer à Microsoft Azure dans le guide de l'utilisateur d'Amazon Inspector.

Étape 10 : Exporter les alertes Microsoft Defender pour le cloud

Security Hub ingère les alertes de détection des menaces de Microsoft Defender for Cloud et les mappe au format Open Cybersecurity Schema Framework (OCSF). Pour diffuser ces alertes, créez un hub d'defender-alertsévénements dédié et configurez Microsoft Defender pour Cloud pour y exporter en permanence les alertes de sécurité.

Dans l'espace de noms Event Hub de l'étape 6, créez l'defender-alertsEvent Hub, un groupe de AWSSecurityHub consommateurs auquel Security Hub pourra lire, et une règle d'autorisation de signature d'accès partagé (SAS) à portée de hub avec l'autorisation d'envoi utilisée par Microsoft Defender for Cloud pour envoyer des alertes :

$ az eventhubs eventhub create \ --resource-group "aws-securityhub-integration" \ --namespace-name "aws-securityhub-account-id" \ --name "defender-alerts" \ --message-retention 3 \ --partition-count 4 $ az eventhubs eventhub consumer-group create \ --resource-group "aws-securityhub-integration" \ --namespace-name "aws-securityhub-account-id" \ --eventhub-name "defender-alerts" \ --name "AWSSecurityHub" $ az eventhubs eventhub authorization-rule create \ --resource-group "aws-securityhub-integration" \ --namespace-name "aws-securityhub-account-id" \ --eventhub-name "defender-alerts" \ --name "DefenderExportSend" \ --rights Send

Fusionnez ensuite une deuxième balise de découverte dans l'espace de noms afin que Security Hub découvre le defender-alerts hub. Utilisez az tag update with --operation merge pour conserver la balise de AWSConfig découverte de l'étape 6  :

$ az tag update \ --resource-id namespace-resource-id \ --operation merge \ --tags "AWSSecurityHub-account-id-region=defender-alerts"

Enfin, configurez l'exportation continue de Microsoft Defender for Cloud du type de données Alertes de sécurité vers l'defender-alertsEvent Hub. Dans le portail Azure, accédez à Microsoft Defender for Cloud > Paramètres d'environnement, sélectionnez l'abonnement, choisissez Exportation continue > Event Hub, sélectionnez Alertes de sécurité, puis choisissez defender-alerts Event Hub et la règle DefenderExportSend SAS.

Note

Si vous configurez l'exportation continue par programmation (via l'API Azure Resource Manager, un modèle ARM ou Azure Policy) plutôt que depuis le portail, authentifiez l'exportation vers l'Event Hub à l'aide de la chaîne de connexion DefenderExportSend SAS. Récupérez-le avec az eventhubs eventhub authorization-rule keys list pour la DefenderExportSend règle et définissez-le comme chaîne de connexion de l'action d'exportation. Pour plus d'informations, consultez la section Configurer l'exportation continue dans la documentation Microsoft Azure.

Note

Une fois ces tâches terminées, attendez environ 15 à 30 minutes pour que la configuration soit effective. Vérifiez ensuite que votre Event Hub reçoit des messages (la IncomingMessages métrique) avant de créer le connecteur dans Security Hub.