Évaluer la sécurité d’AI Services

Effectué

Cette leçon présente un résumé des recommandations du Well Architected Framework pour la sécurisation d’Azure Open AI

Pour plus d’informations, consulter Perspective d’Azure Well-Architected Framework sur Azure OpenAI Service

L’objectif du pilier de sécurité est de fournir des garanties de confidentialité, d’intégrité et de disponibilité à la charge de travail.

Les principes de conception de la sécurité fournissent une stratégie de conception de haut niveau pour atteindre ces objectifs en appliquant des approches à la conception technique autour d’Azure OpenAI.

Check-list pour la conception

Démarrez votre stratégie de conception en fonction de la liste de vérification de la révision de conception pour la sécurité et identifiez les vulnérabilités et les contrôles pour améliorer la posture de sécurité. Évaluez ensuite la Base de référence de sécurité Azure pour Azure OpenAI. Enfin, étendez la stratégie pour inclure davantage d’approches en fonction des besoins.

  • Protéger la confidentialité : Si vous chargez des données d’apprentissage sur Azure OpenAI, utilisez des clés gérées par le client pour le chiffrement de données, implémentez une stratégie de rotation des clés et supprimez les données de formation, de validation et de résultats de la formation. Si vous utilisez un magasin de données externe pour les données d’apprentissage, suivez les meilleures pratiques de sécurité pour ledit magasin. Par exemple, pour le Stockage Blob Azure, utilisez des clés gérées par le client pour le chiffrement et implémentez une stratégie de rotation des clés. Utilisez un accès basé sur l’identité managée, implémentez un périmètre réseau à l’aide de points de terminaison privés et activez les journaux d’accès.

  • Protéger la confidentialité : Protégez-vous de l’exfiltration des données en limitant les URL sortantes auxquelles des ressources Azure OpenAI peuvent accéder.

  • Protéger l’intégrité : Implémentez des contrôles d’accès pour authentifier et autoriser l’accès utilisateur au système à l’aide du principe de privilège minimum et en utilisant des identités individuelles à la place des clés.

  • Protéger l’intégrité : Implémentez la détection des risques de jailbreak pour protéger les déploiements de votre modèle de langage contre les attaques par injection d’invites.

  • Protéger la disponibilité : Utilisez des contrôles de sécurité pour empêcher des attaques susceptibles d’épuiser les quotas d’utilisation du modèle. Vous pouvez configurer des contrôles pour isoler le service sur un réseau. Si le service doit être accessible à partir d’Internet, envisagez d’utiliser une passerelle pour bloquer les abus suspects au moyen du routage ou de la limitation.

Recommandations

Recommandation Avantage
Sécuriser les clés : Si votre architecture nécessite une authentification basée sur des clés Azure OpenAI, stockez lesdites clés dans Azure Key Vault , pas dans le code de l’application. La séparation des secrets du code, par leur stockage dans Key Vault, réduit le risque de fuite de secrets. La séparation facilite également la gestion centralisée des secrets, ce qui facilite des responsabilités telles que la rotation des clés.
Restreindre l’accès : Désactivez l’accès public à Azure OpenAI, sauf si votre charge de travail l’exige. Créez des points de terminaison privés si vous vous connectez à partir de consommateurs dans un réseau virtuel Azure. Le contrôle de l’accès à Azure OpenAI permet d’empêcher les attaques d’utilisateurs non autorisés. L’utilisation de points de terminaison privés garantit que le trafic réseau reste privé entre l’application et la plateforme.
Microsoft Entra ID : Utilisez Microsoft Entra ID pour l’authentification et autorisez l’accès à Azure OpenAI à l’aide du contrôle d’accès en fonction du rôle (RBAC). Désactivez l’authentification locale dans Azure AI Services et définissez la valeur disableLocalAuth sur true. Accordez aux identités effectuant des achèvements ou une génération d’images le rôle Utilisateur OpenAI de Cognitive Services. Accordez aux pipelines d’automatisation des modèles et à l’accès à la science des données ad hoc un rôle comme Contributeur OpenAI à Cognitive Services. L’utilisation de Microsoft Entra ID centralise le composant de gestion des identités et élimine l’utilisation de clés API. L’utilisation de RBAC avec Microsoft Entra ID garantit que les utilisateurs ou les groupes disposent exactement des autorisations dont ils ont besoin pour effectuer leur travail. Ce type de contrôle d’accès à granularité fine n’est pas possible avec des clés API Azure OpenAI.
Utiliser des clés gérées par le client : Utilisez des clés gérées par le client pour des modèles affinés et des données d’apprentissage chargées dans Azure OpenAI. L’utilisation de clés gérées par le client vous offre plus de flexibilité pour créer, permuter, désactiver et révoquer des contrôles d’accès.
Protéger contre les attaques de type jailbreak : Utilisez Azure AI Sécurité du Contenu pour détecter les risques de jailbreak. Détectez les tentatives de jailbreak pour identifier et bloquer les invites essayant de contourner les mécanismes de sécurité de vos déploiements Azure OpenAI.