

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
<a name="securityhub-v2-azure-setup-azure"></a>

Après avoir effectué les tâches [ préalables](securityhub-v2-azure-prereqs.md), 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. ](https://console.aws.amazon.com/securityhub/advanced/home?region=us-east-1.).

1. Dans le volet de navigation, choisissez **Intégrations**.

1. Choisissez ** Créer un connecteur Azure**.

1. 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](securityhub-v2-azure-setup-securityhub-v2.md).

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.

**Topics**
+ [Étape 1 : enregistrer une demande](#securityhub-v2-azure-setup-azure-registration)
+ [Étape 2 : Création d'un principal de service](#securityhub-v2-azure-setup-azure-sp)
+ [Étape 3 : Configuration des informations d'identification fédérées](#securityhub-v2-azure-setup-azure-federation)
+ [Étape 4 : Attribuer des rôles RBAC](#securityhub-v2-azure-setup-azure-rbac)
+ [Étape 5 : Configuration des autorisations de l'API Graph](#securityhub-v2-azure-setup-azure-graph)
+ [Étape 6 : configurer Event Hub](#securityhub-v2-azure-setup-azure-eventhub)
+ [Étape 7 : Configuration de l'exportation des journaux](#securityhub-v2-azure-setup-azure-export)
+ [Étape 8 : Configuration de l'exportation ACR](#securityhub-v2-azure-setup-azure-acr)
+ [Étape 9 : Activer l'identité gérée par les machines virtuelles](#securityhub-v2-azure-setup-azure-vm-identity)
+ [Étape 10 : Exporter les alertes Defender](#securityhub-v2-azure-setup-azure-defender)

## Étape 1 : enregistrer une application Azure
<a name="securityhub-v2-azure-setup-azure-registration"></a>

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'`appId`attribut). 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
<a name="securityhub-v2-azure-setup-azure-sp"></a>

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 sur`api://{{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
<a name="securityhub-v2-azure-setup-azure-federation"></a>

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. ](#securityhub-v2-azure-setup-azure-vm-identity)


| 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 format`https://{{uuid}}.tokens.sts.global.api.aws`.
+ **Objet ** : ARN de rôle IAM figurant dans le tableau précédent. {{tenant-id}}Dans 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
<a name="securityhub-v2-azure-setup-azure-rbac"></a>

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
<a name="securityhub-v2-azure-setup-azure-graph"></a>

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
<a name="securityhub-v2-azure-setup-azure-eventhub"></a>

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](#securityhub-v2-azure-setup-azure-defender)) :

```
$ 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 tag`AWSConfig-{{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 valeur`activitylog`. 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](#securityhub-v2-azure-setup-azure-defender).

## Étape 7 : Configuration du journal d'activité et exportation du journal d'audit Entra ID
<a name="securityhub-v2-azure-setup-azure-export"></a>

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
<a name="securityhub-v2-azure-setup-azure-acr"></a>

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 ](https://docs.aws.amazon.com/inspector/latest/user/inspector-azure.html) dans le guide * de l'utilisateur d'*Amazon Inspector.

## Étape 9 : Activer une identité gérée sur les machines virtuelles Azure
<a name="securityhub-v2-azure-setup-azure-vm-identity"></a>

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'`modify`effet 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 ](https://docs.aws.amazon.com/inspector/latest/user/inspector-azure-setup-inspector.html) dans le guide de l'utilisateur d'*Amazon Inspector*.

## Étape 10 : Exporter les alertes Microsoft Defender pour le cloud
<a name="securityhub-v2-azure-setup-azure-defender"></a>

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](#securityhub-v2-azure-setup-azure-eventhub), créez l'`defender-alerts`Event 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 ](#securityhub-v2-azure-setup-azure-eventhub) :

```
$ 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-alerts`Event 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 ](https://learn.microsoft.com/en-us/azure/defender-for-cloud/continuous-export) 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.