Partage via


Auditer la conformité des registres de conteneurs Azure à l’aide d’Azure Policy

Azure Policy est un service dans Azure, que vous utilisez pour créer, affecter et gérer des définitions de stratégie. Ces définitions de stratégie appliquent différentes règles et effets sur vos ressources, qui restent donc conformes aux normes et aux contrats de niveau de service de l’entreprise.

Cet article présente les définitions de stratégie intégrée pour Azure Container Registry. Utilisez ces définitions pour auditer la conformité des registres nouveaux et existants.

L’utilisation d’Azure Policy n’est pas facturée.

Définitions de stratégie intégrées

Les définitions de stratégies intégrées suivantes sont spécifiques à Azure Container Registry :

Nom
(Portail Azure)
Description Effet(s) Version
(GitHub)
[Préversion] : Container Registry doit être redondant interzone Container Registry peut être configuré pour être redondant interzone ou non. Lorsque la propriété zoneRedundancy pour un registre de conteneurs est définie sur « Désactivée », cela signifie que le registre n’est pas redondant interzone. L’application de cette stratégie vous permet de vérifier que votre registre de conteneurs est configuré de manière appropriée pour la résilience de zone, ce qui réduit le risque de temps d’arrêt pendant les pannes de zone. Audit, Refuser, Désactivé 1.0.0-preview
[Préversion] : Container Registry doit utiliser un point de terminaison de service de réseau virtuel Cette stratégie audite Container Registry s’il n’est pas configuré pour utiliser un point de terminaison de service de réseau virtuel. Audit, Désactivé 1.0.0-preview
Les vulnérabilités doivent être résolues sur les images conteneur de registre Azure (technologie Gestion des vulnérabilités Microsoft Defender) L’évaluation des vulnérabilités des images conteneur analyse votre registre à la recherche de vulnérabilités connues et fournit un rapport de vulnérabilité détaillé pour chaque image. La résolution des vulnérabilités permet d’améliorer considérablement votre posture de sécurité, garantissant ainsi que les images sont utilisées en toute sécurité avant le déploiement. AuditIfNotExists, Désactivé 1.0.1
Configurer les registres de conteneurs pour désactiver l’authentification anonyme. Désactivez l’extraction anonyme pour votre registre afin que les données ne soient pas accessibles par un utilisateur non authentifié. La désactivation des méthodes d’authentification locales, comme l’utilisateur administrateur, les jetons d’accès délimités par le référentiel et le tirage (pull) anonyme améliore la sécurité en veillant à ce que les registres de conteneurs nécessitent exclusivement des identités Azure Active Directory pour l’authentification. Pour en savoir plus, rendez-vous à l’adresse suivante : https://aka.ms/acr/authentication. Modifier, Désactivé 1.0.0
Configurez les registres de conteneurs pour désactiver l’authentification par jeton d’audience ARM. Désactivez les jetons d’audience ARM Azure Active Directory pour l’authentification auprès de votre registre. Seuls les jetons d’audience Azure Container Registry (ACR) seront utilisés pour l’authentification. Cela garantit que seuls les jetons destinés à l’utilisation sur le Registre peuvent être utilisés pour l’authentification. La désactivation des jetons d’audience ARM n’affecte pas l’authentification de l’utilisateur administrateur ou des jetons d’accès étendus. Pour en savoir plus, rendez-vous à l’adresse suivante : https://aka.ms/acr/authentication. Modifier, Désactivé 1.0.0
Configurer les registres de conteneurs pour désactiver le compte administrateur local. Désactivez le compte administrateur de votre registre afin que l’administrateur local ne puisse pas y accéder. La désactivation des méthodes d’authentification locales, comme l’utilisateur administrateur, les jetons d’accès délimités par le référentiel et le tirage (pull) anonyme améliore la sécurité en veillant à ce que les registres de conteneurs nécessitent exclusivement des identités Azure Active Directory pour l’authentification. Pour en savoir plus, rendez-vous à l’adresse suivante : https://aka.ms/acr/authentication. Modifier, Désactivé 1.0.1
Configurer les registres de conteneurs pour désactiver l’accès réseau public Désactivez l’accès au réseau public pour votre ressource de registre de conteneurs afin qu’elle ne soit pas accessible sur l’Internet public. Cela peut réduire les risques de fuite de données. Pour en savoir plus : https://aka.ms/acr/portal/public-network et https://aka.ms/acr/private-link. Modifier, Désactivé 1.0.0
Configurer les registres de conteneurs pour désactiver le jeton d’accès délimité par le référentiel. Désactivez les jetons d’accès délimités par le référentiel pour votre registre afin que les référentiels ne soient pas accessibles par les jetons. La désactivation des méthodes d’authentification locales, comme l’utilisateur administrateur, les jetons d’accès délimités par le référentiel et le tirage (pull) anonyme améliore la sécurité en veillant à ce que les registres de conteneurs nécessitent exclusivement des identités Azure Active Directory pour l’authentification. Pour en savoir plus, rendez-vous à l’adresse suivante : https://aka.ms/acr/authentication. Modifier, Désactivé 1.0.0
Configurer les registres de conteneurs avec des points de terminaison privés Les points de terminaison privés vous permettent de connecter votre réseau virtuel aux services Azure sans IP publique au niveau de la source ou de la destination. En mappant des points de terminaison privés à vos ressources de registre de conteneurs Premium, vous pouvez réduire les risques de fuite de données. Pour en savoir plus : https://aka.ms/privateendpoints et https://aka.ms/acr/private-link. DeployIfNotExists, Désactivé 1.0.0
Les registres de conteneurs doivent être chiffrés avec une clé gérée par le client Utilisez des clés gérées par le client pour gérer le chiffrement au repos du contenu de vos registres. Par défaut, les données sont chiffrées au repos avec des clés gérées par le service. Cependant, des clés gérées par le client sont généralement nécessaires pour répondre aux standards de la conformité réglementaire. Les clés gérées par le client permettent de chiffrer les données avec une clé Azure Key Vault que vous avez créée et dont vous êtes le propriétaire. Vous avez le contrôle total et la responsabilité du cycle de vie des clés, notamment leur permutation et leur gestion. Pour en savoir plus, rendez-vous sur https://aka.ms/acr/CMK. Audit, Refuser, Désactivé 1.1.2
L’authentification anonyme des registres de conteneurs doit être désactivée. Désactivez l’extraction anonyme pour votre registre afin que les données ne soient pas accessibles par un utilisateur non authentifié. La désactivation des méthodes d’authentification locales, comme l’utilisateur administrateur, les jetons d’accès délimités par le référentiel et le tirage (pull) anonyme améliore la sécurité en veillant à ce que les registres de conteneurs nécessitent exclusivement des identités Azure Active Directory pour l’authentification. Pour en savoir plus, rendez-vous à l’adresse suivante : https://aka.ms/acr/authentication. Audit, Refuser, Désactivé 1.0.0
L’authentification du jeton d’audience ARM doit être désactivée pour les registres de conteneurs. Désactivez les jetons d’audience ARM Azure Active Directory pour l’authentification auprès de votre registre. Seuls les jetons d’audience Azure Container Registry (ACR) seront utilisés pour l’authentification. Cela garantit que seuls les jetons destinés à l’utilisation sur le Registre peuvent être utilisés pour l’authentification. La désactivation des jetons d’audience ARM n’affecte pas l’authentification de l’utilisateur administrateur ou des jetons d’accès étendus. Pour en savoir plus, rendez-vous à l’adresse suivante : https://aka.ms/acr/authentication. Audit, Refuser, Désactivé 1.0.0
Les exportations doivent être désactivées pour les registres de conteneurs La désactivation des exportations améliore la sécurité en s’assurant que les données d’un registre sont accessibles uniquement via le plan de données (« docker pull »). Les données ne peuvent pas être déplacées hors du registre via « acr import » ni via « acr transfer ». Pour désactiver les exportations, l’accès au réseau public doit être désactivé. Pour en savoir plus, rendez-vous à l’adresse suivante : https://aka.ms/acr/export-policy. Audit, Refuser, Désactivé 1.0.0
Le compte administrateur local des registres de conteneurs doit être désactivé. Désactivez le compte administrateur de votre registre afin que l’administrateur local ne puisse pas y accéder. La désactivation des méthodes d’authentification locales, comme l’utilisateur administrateur, les jetons d’accès délimités par le référentiel et le tirage (pull) anonyme améliore la sécurité en veillant à ce que les registres de conteneurs nécessitent exclusivement des identités Azure Active Directory pour l’authentification. Pour en savoir plus, rendez-vous à l’adresse suivante : https://aka.ms/acr/authentication. Audit, Refuser, Désactivé 1.0.1
Le jeton d’accès délimité par le référentiel des registres de conteneurs doit être désactivé. Désactivez les jetons d’accès délimités par le référentiel pour votre registre afin que les référentiels ne soient pas accessibles par les jetons. La désactivation des méthodes d’authentification locales, comme l’utilisateur administrateur, les jetons d’accès délimités par le référentiel et le tirage (pull) anonyme améliore la sécurité en veillant à ce que les registres de conteneurs nécessitent exclusivement des identités Azure Active Directory pour l’authentification. Pour en savoir plus, rendez-vous à l’adresse suivante : https://aka.ms/acr/authentication. Audit, Refuser, Désactivé 1.0.0
Les registres de conteneurs doivent avoir des références SKU qui prennent en charge les liaisons privées Azure Private Link vous permet de connecter votre réseau virtuel aux services Azure sans adresse IP publique au niveau de la source ou de la destination. La plateforme de la liaison privée gère la connectivité entre le consommateur et les services sur le réseau principal Azure. En mappant des points de terminaison privés à vos registres de conteneurs plutôt qu’à l’ensemble du service, les risques de fuite de données sont réduits. Pour en savoir plus, rendez-vous à l’adresse suivante : https://aka.ms/acr/private-link. Audit, Refuser, Désactivé 1.0.0
Les registres de conteneurs ne doivent pas autoriser un accès réseau non restreint Par défaut, les registres de conteneurs Azure acceptent les connexions via Internet à partir d’hôtes situés sur n’importe quel réseau. Pour protéger vos registres des menaces potentielles, autorisez l’accès uniquement à partir de points de terminaison privés, d’adresses ou de plages d’adresses IP publiques spécifiques. Si aucune règle réseau n’est configurée pour votre registre, celui-ci apparaît dans les ressources non saines. Découvrez plus en détail les règles réseau de Container Registry ici : https://aka.ms/acr/privatelink,https://aka.ms/acr/portal/public-network et https://aka.ms/acr/vnet. Audit, Refuser, Désactivé 2.0.0
Les registres de conteneurs doivent empêcher la création de règles de cache Désactivez la création de règles de cache pour votre registre de conteneurs Azure afin d’empêcher le tirage avec des tirages de cache. Pour en savoir plus, rendez-vous à l’adresse suivante : https://aka.ms/acr/cache. Audit, Refuser, Désactivé 1.0.0
Les registres de conteneurs doivent utiliser une liaison privée Azure Private Link vous permet de connecter votre réseau virtuel aux services Azure sans adresse IP publique au niveau de la source ou de la destination. La plateforme Private Link gère la connectivité entre le consommateur et les services sur le réseau principal Azure. En mappant des points de terminaison privés à vos registres de conteneurs plutôt qu’à l’ensemble du service, vous êtes également protégé contre les risques de fuite de données. Pour en savoir plus, rendez-vous à l’adresse suivante : https://aka.ms/acr/private-link. Audit, Désactivé 1.0.1
Activer la journalisation par groupe de catégories pour les registres de conteneurs (microsoft.containerregistry/registries) dans Event Hub Les journaux de ressources doivent être activés pour suivre les activités et les événements qui se produisent sur vos ressources, et vous donner une visibilité et des insights sur les modifications qui se produisent. Cette stratégie déploie un paramètre de diagnostic à l’aide d’un groupe de catégories pour acheminer les journaux vers Event Hub pour les registres de conteneurs (microsoft.containerregistry/registries). DeployIfNotExists, AuditIfNotExists, Disabled 1.2.0
Activer la journalisation par groupe de catégories pour les registres de conteneurs (microsoft.containerregistry/registries) dans Log Analytics Les journaux de ressources doivent être activés pour suivre les activités et les événements qui se produisent sur vos ressources, et vous donner une visibilité et des insights sur les modifications qui se produisent. Cette stratégie déploie un paramètre de diagnostic à l’aide d’un groupe de catégories pour acheminer les journaux vers un espace de travail Log Analytics pour les registres de conteneurs (microsoft.containerregistry/registries). DeployIfNotExists, AuditIfNotExists, Disabled 1.1.0
Activer la journalisation par groupe de catégories pour les registres de conteneurs (microsoft.containerregistry/registries) dans Stockage Les journaux de ressources doivent être activés pour suivre les activités et les événements qui se produisent sur vos ressources, et vous donner une visibilité et des insights sur les modifications qui se produisent. Cette stratégie déploie un paramètre de diagnostic à l’aide d’un groupe de catégories pour acheminer les journaux vers un compte de stockage pour les registres de conteneurs (microsoft.containerregistry/registries). DeployIfNotExists, AuditIfNotExists, Disabled 1.1.0
L’accès réseau public doit être désactivé pour les registres de conteneurs La désactivation de l’accès au réseau public améliore la sécurité en garantissant que les registres de conteneurs ne sont pas exposés sur l’Internet public. La création de points de terminaison privés peut limiter l’exposition des ressources de registre de conteneurs. Pour en savoir plus : https://aka.ms/acr/portal/public-network et https://aka.ms/acr/private-link. Audit, Refuser, Désactivé 1.0.0

Créer des affectations de stratégies

Notes

Une fois que vous avez créé ou mis à jour une affectation de stratégie, l’évaluation de l’attribution aux ressources de l’étendue définie prend un certain temps. Consultez les informations relatives aux déclencheurs d’évaluation de la stratégie.

Vérifier la conformité de la stratégie

Accédez aux informations de conformité générées par vos affectations de stratégie à l’aide du Portail Azure, des outils en ligne de commande Azure ou des Kits de développement logiciel (SDK) Azure Policy. Pour plus d’informations, consultez Obtenir les données de conformité des ressources Azure.

De nombreuses raisons peuvent expliquer une ressource non conforme. Pour en déterminer la raison ou pour trouver la modification en cause, consultez Déterminer une non-conformité.

Conformité de la stratégie dans le portail :

  1. Sélectionnez Tous les services et recherchez Stratégie.

  2. Sélectionnez Conformité.

  3. Utilisez les filtres pour limiter les états de conformité ou pour rechercher des stratégies.

    Conformité de la stratégie dans le portail

  4. Sélectionnez une stratégie pour passer en revue l’ensemble des détails et des événements relatifs à la conformité. Si vous le souhaitez, sélectionnez un registre spécifique pour la conformité des ressources.

Conformité de la stratégie dans Azure CLI

Vous pouvez également utiliser l’interface de ligne de commande Azure pour accéder aux données de conformité. Par exemple, utilisez la commande az policy assignment list dans l’interface CLI pour obtenir les ID des stratégies Azure Container Registry qui sont appliquées :

az policy assignment list --query "[?contains(displayName,'Container Registries')].{name:displayName, ID:id}" --output table

Exemple de sortie :

Name                                                                                   ID
-------------------------------------------------------------------------------------  --------------------------------------------------------------------------------------------------------------------------------
Container Registries should not allow unrestricted network access           /subscriptions/<subscriptionID>/providers/Microsoft.Authorization/policyAssignments/b4faf132dc344b84ba68a441
Container Registries should be encrypted with a Customer-Managed Key (CMK)  /subscriptions/<subscriptionID>/providers/Microsoft.Authorization/policyAssignments/cce1ed4f38a147ad994ab60a

Exécutez ensuite az policy state list pour retourner l’état de conformité au format JSON pour toutes les ressources sous un ID de stratégie spécifique :

az policy state list \
  --resource <policyID>

Ou exécutez az policy state list pour retourner l’état de conformité au format JSON d’une ressource de registre spécifique, par exemple myregistry :

az policy state list \
 --resource myregistry \
 --namespace Microsoft.ContainerRegistry \
 --resource-type registries \
 --resource-group myresourcegroup

Étapes suivantes