Partager via


Outil de conformité programmatique

Microsoft et ses clients suivre un modèle de responsabilité partagée concernant la sécurité et la conformité du Microsoft Cloud environnement. Avec l’outil de conformité programmatique, les clients peuvent évaluer la conformité de plusieurs services en même temps en fonction des normes du secteur, contribuant ainsi à améliorer le délai de rentabilisation et à accélérer l’innovation.

L’outil de conformité programmatique révolutionne l’expérience de conformité en fournissant des données de conformité unifiées, lisibles par machine et facilement récupérables. Une expérience unifiée signifie que l’outil sert de source unique pour toutes les informations de conformité, garantissant ainsi la cohérence et l’exactitude. Le format lisible par machine permet une intégration transparente avec d’autres systèmes via une API publique, tandis que la nature récupérable garantit un accès sans entrave aux dernières informations de conformité.

Conditions préalables techniques

Pour utiliser efficacement l’outil de conformité programmatique, assurez-vous de respecter les prérequis techniques suivants :

  • Maîtrise des services et de l’architecture Azure
  • Expérience en matière de conformité et de normes de sécurité du cloud
  • Connaissance des outils d’infrastructure en tant que code (IaC), tels que Terraform
  • Compréhension des graphiques de ressources Azure API REST pour la récupération des données

Personnes clés et responsabilités

L’outil de conformité programmatique est une application Web que vous déployez sur votre abonnement Azure. Il prend en charge trois personnes clés dans le cycle de vie de la conformité : le responsable de la conformité, le propriétaire du service et l’architecte cloud. L’outil fournit une solution complète qui inclut la recherche par norme et par service, ainsi qu’un scénario de pré-déploiement.

  • Le responsable de la conformité doit s’assurer que Microsoft fournit des capacités de conformité pour un service donné afin de répondre aux normes sectorielles ou internes de l’entreprise.

  • Le propriétaire du service doit évaluer les risques liés au service et évaluer les contrôles et les politiques pour approuver ou refuser le déploiement d’un service.

  • L’architecte cloud doit comprendre toutes les actions qu’il doit entreprendre pour configurer et maintenir la conformité et la sécurité de chaque service au sein de sa solution.

Pour attribuer d’autres rôles, reportez-vous à Créer des stratégies personnalisées.

Cas d’utilisation et capacités

L’outil de conformité programmatique est structuré en trois sections principales pour rationaliser votre processus de gestion de la conformité. En quelques clics, vous pouvez facilement trouver et exporter les informations de conformité pertinentes pour le reporting ou le déploiement.

La première section vous permet de découvrir les mesures que Microsoft entreprend pour maintenir la conformité et filtrer les domaines de contrôle pour se concentrer sur des domaines spécifiques comme la sécurité du réseau. En tant qu’utilisateur de conformité programmatique, vous optez pour un cadre réglementaire adapté à votre secteur d’activité.

  • Voir les actions de conformité : Découvrez les mesures que Microsoft s’engage à prendre pour maintenir la conformité.

  • Domaines de contrôle du filtre : concentrez-vous davantage sur des domaines spécifiques tels que la sécurité du réseau.

  • Explorez les entrées individuelles : Plongez dans les détails des stratégies de conformité de Microsoft.

    Capture d’écran de la section Cadre réglementaire dans l’outil Conformité programmatique

La deuxième section vous permet d’évaluer un service individuel, d’évaluer la conformité de chaque service Azure, d’examiner les fonctionnalités de conformité configurables et de surveiller les politiques intégrées pour auditer les déploiements de services.

  • Évaluer les services Azure individuels : Évaluez la conformité de chaque service Azure.

  • Examiner les fonctionnalités de conformité configurables : Examiner les fonctionnalités de service déployables pour aligner avec les normes de conformité.

  • Examiner les stratégies de surveillance : examinez les stratégies intégrées pour l’audit des déploiements de services.

    Capture d’écran de la section d’évaluation de la conformité du service dans l’outil de conformité programmatique

La dernière section fournit des options pour une analyse plus approfondie et l’exportation des informations de conformité dans divers formats et utilise les capacités de l’API pour récupérer les données de conformité par programmation pour des mises à jour transparentes.

  • Exporter les informations de conformité : extraire les données dans divers formats pour les rapports de conformité. La capture d’écran suivante montre un exemple d’exportation au format CSV.

    Capture d’écran de la section d’informations sur la conformité des exportations dans l’outil de conformité programmatique

  • Utilisez la capacité de l’API : récupérez les données de conformité par programmation pour des mises à jour sans effort. Pour plus d’informations, voir Récupérer des informations à l’aide de l’API.

Note

Actuellement, l’outil de conformité programmatique ne prend en charge que Azure among Microsoft’s les plateformes et services cloud concernés.

Prérequis pour déployer l’outil Programmatic Compliance

  • Cloner la solution/le dépôt depuis https://github.com/microsoft/ProgrammaticCompliance.
  • Assurez-vous que vous disposez d’un abonnement Azure avec des autorisations pour créer et gérer les enregistrements d’applications, ajoutez utilisateur.usurpation d’identité et utilisateur.read autorisations et accordez le consentement de l’administrateur pour que Microsoft puisse appliquer les modifications.
  • Assurez-vous que vous disposez de la dernière version de Terraform installé localement.
  • Assurez-vous que vous disposez de la dernière version de Interface de ligne de commande Az installé localement.
  • Télécharger et installer Node.js, qui inclut Node Package Manager (NPM), pour votre système d’exploitation. Utilisez le support à long terme (LTS) pour éviter tout nouveau problème avec la version actuelle.
  • Utiliser Visual Studio Code ou autre IDE équivalent pour effectuer des modifications de code.

Créez l’application Web Azure qui héberge l’UX

Pour créer et déployer l’application Web Azure qui héberge l’UX, suivre suivez ces étapes dans l’ordre indiqué :

Enregistrez l’application Web Azure

  1. Aller à la Portail Azure, recherche et Sélectionner Inscriptions d’applications.

  2. Sur la page d’inscription de l’application, Sélectionner Nouvelle inscription.

    Capture d’écran de la page d’enregistrement de l’application dans le portail Azure

    1. Donnez un nom à l’application, par exemple, ProgrammaticCompliance.

    2. Sous URI de redirection, Sélectionner Application à page unique (SPA) et entrez https://webapp.azurewebsites.net comme valeur. L’URI de redirection est l’URL attribuée à l’application Web déployée dans les étapes suivantes. Vous pouvez revenir et mettre à jour cet URI une fois l’application Web créée. N’oubliez pas de cocher les cases pour token et jetons d’identification.

    3. Sélectionnez Inscrire.

  3. Une fois l’enregistrement de l’application réussi, accédez à Votre_nouvelle_inscription > Gérer > les autorisations API et Sélectionner Ajouter une autorisation. Ajoutez les autorisations déléguées suivantes :

    • Gestion des services Azure avec des autorisations user_impersonation .

    • Microsoft Graphique avec les autorisations user.read .

  4. Revenez à la vue Autorisations de l’API et Sélectionner accordez le consentement de l’administrateur pour Microsoft appliquer les modifications.

  5. S’il existe d’autres utilisateurs qui ont besoin d’accéder à l’application, suivez les étapes détaillées dans Attribuer des rôles Azure à des utilisateurs externes à l’aide du portail Azure pour les ajouter à votre locataire en tant qu’invités.

Déployer l’application Web Azure à l’aide de Terraform

Note

Terraform est l’outil de déploiement de script d’infrastructure utilisé pour configurer l’UX. Vous pouvez également utiliser le portail Azure pour créer l’application Web et déployer le code UX.

  1. Accédez au dossier racine des scripts Terraform dans le terminal de votre choix.

    Set-Location -Path .\\pipeline\\terraform
    
  2. Créez un compte de stockage qui héberge le fichier d’état Terraform via le portail.

  3. Créez un conteneur dans le compte de stockage créé précédemment qui héberge le fichier d’état Terraform.

  4. Créez un fichier .tfvars pour configurer les variables Terraform. Assurez-vous que le groupe de ressources qui héberge l’application Web UX est différent du groupe de ressources du compte de stockage créé dans les étapes précédentes. Voici un exemple du contenu d’un fichier .tfvars :

    resource_group_name = "ProgrammaticComplianceRG"
    location = "eastus"
    azure_app_name = "ProgrammaticCompliance"
    
  5. connectez-vous à votre locataire et assurez-vous que vous utilisez l’abonnement cible de votre choix.

    az login
    az account set -s <subscription id>
    az account show
    
  6. Initialiser le backend Terraform.

    terraform init 
    -backend-config="resource_group_name=${BACKEND_STORAGE_ACCOUNT_RG}" 
    -backend-config="storage_account_name=${BACKEND_STORAGE_ACCOUNT\_NAME}" 
    -backend-config="container_name=${BACKEND_STORAGE_CONTAINER_NAME}"
    

    où,
    BACKEND_STORAGE_ACCOUNT_RG est le groupe de ressources du compte de stockage qui héberge le fichier d’état Terraform. BACKEND_STORAGE_ACCOUNT_NAME est le compte de stockage qui héberge le fichier d’état Terraform. BACKEND_STORAGE_CONTAINER_NAME est le conteneur du compte de stockage qui héberge le fichier d’état Terraform.

  7. Créez le plan Terraform.

    terraform plan -out plan.tfplan
    

    Astuce

    C’est une bonne pratique d’enregistrer le fichier de plan Terraform afin que lorsque vous exécutez la commande terraform apply dans le prochain étape, Terraform n’essaie pas de régénérer un autre plan.

  8. Créer l’infrastructure.

    terraform apply plan.tfplan
    

    Important

    Mettez à jour l’ URI de redirection dans les configurations d’enregistrement et de rôles d’application étape avec l’URL réelle attribuée à l’application Web une fois celle-ci créée.

Préparer les dépendances du projet

Effectuez les étapes suivantes dans votre terminal à partir du répertoire où vous avez cloné le référentiel Git.

  1. Pour vérifier que Node.js et npm sont correctement installés, ouvrez un terminal et exécutez les commandes suivantes pour vérifier leurs versions :

    node -v
    
    npm -v
    

    Note

    Cette UX a été construite en utilisant Node.js v18.17.1 et npm v9.8.1.

  2. Créez un fichier .env avec le contenu suivant :

    REACT_APP_CLIENT_ID=<your value goes here>
    
    REACT_APP_TENANT_ID=<your value goes here>
    
    REACT_WEBAPP_URL=<your value goes here>
    

    Les valeurs saisies sont l’ID de locataire qui héberge l’application Web Azure et son enregistrement, ainsi que l’ID d’enregistrement de l’application Web Azure configuré dans les configurations d’enregistrement et de rôles d’application étape.

    Note

    Le nom du fichier est .env, qui est la convention de dénomination standard pour un fichier de variables React alignement.

  3. Utilisez npm pour installer les dépendances du projet et attendez la fin :

    npm install
    

    Important

    Ignorez tous les avertissements générés. Suivre les commandes suggérées peut modifier les versions de diverses dépendances et perturber leur compatibilité.

Déployer le code UX sur l’application Web créée

  1. Créez et compilez un fichier zip contenant le code source à la racine du projet :

    npm run build
    
    Compress-Archive -Path \* -DestinationPath deployment.zip
    
  2. Déployez le fichier zip sur l’application Web :

    az webapp deployment source config-zip --resource-group <WEBAPP_RESOURCE_GROUP> --name <WEBAPP_NAME> --src deployment.zip
    

Félicitations ! Vous avez déployé avec succès l’application Web de conformité programmatique. Vous pouvez maintenant commencer à tester l’outil.

Récupérer des informations à l’aide de l’API

Vous pouvez récupérer les informations de conformité par programmation à l’aide du graphique de ressources Azure API REST (ARG).

Voici un exemple de requête qui récupère les fonctionnalités prises en charge par Azure Kubernetes Service, suivre pour le contrôle spécifique du framework NIST 800-53 R4 SP-28 - Protection des informations au repos :

policyresources
| where type == "microsoft.policyinsights/policymetadata"
| where properties.metadata.offeringName == "Azure Kubernetes Service (AKS)" and properties.metadata.frameworkControlsMappings contains "NIST_SP_800-53_R4_SC-28"
| extend ItemName = properties.metadataId
| extend Service = properties.metadata.offeringName
| mv-expand features = properties.metadata.features
| extend FeatureName = features.featureName
| extend FeatureDescription = features.featureDescription
| extend FeatureGuidance = features.featureGuidance
| extend FeatureReference = features.featureReference
| extend MCSBID = properties.metadataId
| extend Metadata = properties.metadata
| extend AllProperties = properties
| project ItemName, Service, FeatureName, FeatureDescription, FeatureGuidance, FeatureReference, AllProperties

Le résultat de l’exemple de requête est affiché dans la capture d’écran suivante :

Capture d’écran de la sortie de la requête API dans l’outil de conformité programmatique

Questions fréquentes

  • Quelles normes industrielles l’outil de conformité programmatique prend-il en charge ?

    • CIS Azure 2.0.0
    • ISO 27001-2013
    • NIST SP 800-53 Rév. 4
    • PCI DSS 4.0
    • SOC 2 Type 2
  • Pourquoi aucune politique n’est-elle visible pour certains services Azure ?

    Actuellement, seuls quelques services Azure disposent de politiques permettant de surveiller des paramètres de configuration spécifiques.

  • Que signifie chacune des trois sections de l’outil de conformité programmatique ?

    • La première section décrit les obligations de Microsoft de respecter une norme industrielle particulière au moment de la publication. Bon nombre de ces obligations se situent au niveau de la plateforme plutôt que pour des services Azure spécifiques.

    • La deuxième section décrit les obligations du client lors de la configuration et du déploiement du service Azure pour maintenir mappage avec le contrôle standard de l’industrie.

    • La troisième section détaille les politiques du service Azure que vous pouvez déployer pour surveiller le alignement du service avec le contrôle standard de l’industrie.

Resources

Exclusion de responsabilité

La conformité programmatique n’est (1) pas conçue, prévue ou mise à disposition en tant que services juridiques et (2) n’est pas destinée à remplacer un conseil ou un jugement juridique professionnel. N’utilisez pas les données et le contenu comme substitut à la consultation d’un professionnel juridique qualifié pour vos besoins spécifiques.