Bonnes pratiques pour la sécurisation des bases de données PaaS dans AzureBest practices for securing PaaS databases in Azure

Dans cet article, nous abordons un ensemble de bonnes pratiques de sécurité Azure SQL Database et SQL Data Warehouse pour protéger vos applications mobiles et web PaaS (Platform-as-a-Service).In this article, we discuss a collection of Azure SQL Database and SQL Data Warehouse security best practices for securing your platform-as-a-service (PaaS) web and mobile applications. Ces bonnes pratiques sont issues de notre expérience d’Azure, mais également de celle des clients, comme vous.These best practices are derived from our experience with Azure and the experiences of customers like yourself.

Azure SQL Database et SQL Data Warehouse fournissent un service de base de données relationnelle pour vos applications basées sur Internet.Azure SQL Database and SQL Data Warehouse provide a relational database service for your internet-based applications. Examinons les services qui protègent vos applications et vos données lors de l’utilisation d’Azure SQL Database et de SQL Data Warehouse dans un déploiement PaaS :Let’s look at services that help protect your applications and data when using Azure SQL Database and SQL Data Warehouse in a PaaS deployment:

  • Authentification Azure Active Directory (au lieu de l'authentification SQL Server)Azure Active Directory authentication (instead of SQL Server authentication)
  • Pare-feu SQL AzureAzure SQL firewall
  • Transparent Data Encryption (TDE)Transparent Data Encryption (TDE)

Utiliser un référentiel d’identités centraliséUse a centralized identity repository

Vous pouvez configurer Azure SQL Database pour utiliser l’un des deux types d’authentification :Azure SQL Database can be configured to use one of two types of authentication:

  • L’authentification SQL utilise un nom d’utilisateur et un mot de passe.SQL authentication uses a username and password. Lorsque vous avez créé le serveur de votre base de données, vous avez spécifié un compte de connexion « Admin serveur » associé à un nom d’utilisateur et à un mot de passe.When you created the server for your database, you specified a "server admin" login with a username and password. À l’aide de ces informations d’identification, vous pouvez vous authentifier auprès de n’importe quelle base de données sur ce serveur en tant que propriétaire de la base de données.Using these credentials, you can authenticate to any database on that server as the database owner.

  • L’authentification Azure Active Directory utilise des identités gérées par Azure Active Directory et est prise en charge pour les domaines managés et intégrés.Azure Active Directory authentication uses identities managed by Azure Active Directory and is supported for managed and integrated domains. Pour utiliser l’authentification Azure Active Directory, vous devez créer un autre administrateur de serveur appelé « administrateur Azure AD », autorisé à gérer les groupes et utilisateurs Active Directory Azure.To use Azure Active Directory Authentication, you must create another server admin called the "Azure AD admin," which is allowed to administer Azure AD users and groups. Cet administrateur peut également effectuer toutes les opérations d’un administrateur de serveur ordinaire.This admin can also perform all operations that a regular server admin can.

L’authentification Azure Active Directory est un mécanisme servant à se connecter à Azure SQL Database et SQL Data Warehouse à l’aide d’identités dans Azure Active Directory (Azure AD).Azure Active Directory authentication is a mechanism of connecting to Azure SQL Database and SQL Data Warehouse by using identities in Azure Active Directory (AD). Azure AD fournit une alternative à l’authentification SQL Server. Vous pouvez donc arrêter la prolifération des identités d’utilisateur sur les serveurs de base de données.Azure AD provides an alternative to SQL Server authentication so you can stop the proliferation of user identities across database servers. L’authentification Azure AD vous permet de gérer de manière centralisée les identités des utilisateurs de base de données et d’autres services Microsoft dans un emplacement centralisé.Azure AD authentication enables you to centrally manage the identities of database users and other Microsoft services in one central location. La gestion centralisée des ID fournit un emplacement unique pour gérer les utilisateurs de la base de données et simplifie la gestion des autorisations.Central ID management provides a single place to manage database users and simplifies permission management.

Avantages de l’utilisation de l’authentification Azure AD plutôt que l’authentification SQLBenefits of using Azure AD instead of SQL authentication

  • Permet une rotation du mot de passe dans un emplacement unique.Allows password rotation in a single place.
  • Gère des autorisations de base de données à l'aide de groupes Azure AD externes.Manages database permissions using external Azure AD groups.
  • Élimine le stockage des mots de passe en activant l’authentification Windows intégrée et d'autres formes d’authentification prises en charge par Azure AD.Eliminates storing passwords by enabling integrated Windows authentication and other forms of authentication supported by Azure AD.
  • Utilise les utilisateurs de base de données autonome pour authentifier les identités au niveau de la base de données.Uses contained database users to authenticate identities at the database level.
  • Prend en charge l’authentification basée sur les jetons pour les applications se connectant à SQL Database.Supports token-based authentication for applications connecting to SQL Database.
  • Prend en charge la fédération de domaine avec Services ADFS (Active Directory Federation Services) ou l’authentification utilisateur natif/mot de passe pour un répertoire Azure AD local sans synchronisation du domaine.Supports domain federation with Active Directory Federation Services (ADFS) or native user/password authentication for a local Azure AD without domain synchronization.
  • Prend en charge les connexions à partir de SQL Server Management Studio qui utilisent l’authentification universelle Active Directory, notamment Multi-Factor Authentication (MFA).Supports connections from SQL Server Management Studio that use Active Directory Universal Authentication, which includes Multi-Factor Authentication (MFA). MFA comprend une authentification forte avec une gamme d’options de vérification simples (appel téléphonique, SMS, cartes à puce avec code PIN ou notification d’application mobile).MFA includes strong authentication with a range of easy verification options — phone call, text message, smart cards with pin, or mobile app notification. Pour plus d’informations, consultez Authentification universelle avec SQL Database et SQL Data Warehouse.For more information, see Universal Authentication with SQL Database and SQL Data Warehouse.

Pour en savoir plus sur l'authentification Azure AD, consultez :To learn more about Azure AD authentication, see:

Notes

Pour garantir qu’Azure Active Directory est adapté à votre environnement, consultez Limitations et fonctionnalités Azure AD.To ensure that Azure Active Directory is a good fit for your environment, see Azure AD features and limitations.

Restreindre l’accès en fonction de l’adresse IPRestrict access based on IP address

Vous pouvez créer des règles de pare-feu qui spécifient des plages d’adresses IP acceptables.You can create firewall rules that specify ranges of acceptable IP addresses. Ces règles peuvent être ciblées au niveau du serveur et de la base de données.These rules can be targeted at both the server and database levels. Nous recommandons d’utiliser, dans la mesure du possible, des règles de pare-feu au niveau de la base de données pour améliorer la sécurité et renforcer la portabilité de la base de données.We recommend using database-level firewall rules whenever possible to enhance security and to make your database more portable. L'utilisation de règles de pare-feu pour les administrateurs est recommandée au niveau du serveur quand plusieurs bases de données ont les mêmes exigences d’accès alors que vous ne souhaitez pas les configurer une à une.Server-level firewall rules are best used for administrators and when you have many databases that have the same access requirements but you don't want to spend time configuring each database individually.

Les restrictions d’adresse IP source par défaut de SQL Database autorisent l’accès à partir de n’importe quelle adresse Azure, notamment d’autres abonnements et locataires.SQL Database default source IP address restrictions allow access from any Azure address, including other subscriptions and tenants. Vous pouvez limiter cette option pour autoriser uniquement vos adresses IP pour accéder à l’instance.You can restrict this to only allow your IP addresses to access the instance. Même avec votre pare-feu SQL et les restrictions d’adresse IP, l’authentification forte est toujours nécessaire.Even with your SQL firewall and IP address restrictions, strong authentication is still needed. Consultez les recommandations faites plus haut dans cet article.See the recommendations made earlier in this article.

Pour en savoir plus sur le pare-feu SQL Azure et les restrictions d'adresse IP, consultez :To learn more about Azure SQL Firewall and IP restrictions, see:

Chiffrer des données au reposEncrypt data at rest

L’option Transparent Data Encryption (TDE) est activée par défaut.Transparent Data Encryption (TDE) is enabled by default. TDE chiffre de manière transparente les fichiers journaux et les données SQL Server, Azure SQL Database et Azure SQL Data Warehouse.TDE transparently encrypts SQL Server, Azure SQL Database, and Azure SQL Data Warehouse data and log files. L’option TDE empêche la compromission d’un accès direct aux fichiers ou leur sauvegarde.TDE protects against a compromise of direct access to the files or their backup. Cela vous permet de chiffrer les données au repos sans modifier les applications existantes.This enables you to encrypt data at rest without changing existing applications. L’option TDE doit toujours être activée. Cependant, cela n’empêchera pas un pirate informatique d’utiliser le chemin d’accès normal.TDE should always stay enabled; however, this will not stop an attacker using the normal access path. TDE permet de se conformer aux multiples lois, réglementations et directives établies dans de nombreux secteurs.TDE provides the ability to comply with many laws, regulations, and guidelines established in various industries.

Azure SQL gère les problèmes clés liés à TDE.Azure SQL manages key related issues for TDE. Comme avec TDE, une attention particulière doit être portée au niveau local pour la capacité de restauration et le déplacement des bases de données.As with TDE, on-premises special care must be taken to ensure recoverability and when moving databases. Dans des scénarios plus complexes, les clés peuvent être explicitement gérées dans Azure Key Vault par le biais de la gestion de clés extensible.In more sophisticated scenarios, the keys can be explicitly managed in Azure Key Vault through extensible key management. Consultez Activer TDE sur SQL Server à l’aide d’EKM.See Enable TDE on SQL Server Using EKM. Cela permet également d’utiliser la méthode BYOK (Bring Your Own Key) au moyen de la fonctionnalité Azure Key Vault BYOK.This also allows for Bring Your Own Key (BYOK) through Azure Key Vaults BYOK capability.

Azure SQL fournit un chiffrement pour les colonnes par le biais d’Always Encrypted.Azure SQL provides encryption for columns through Always Encrypted. Cela permet de restreindre l’accès des colonnes sensibles aux applications autorisées.This allows only authorized applications access to sensitive columns. Ce chiffrement limite les requêtes SQL pour les colonnes chiffrées aux valeurs basées sur l’égalité.Using this kind of encryption limits SQL queries for encrypted columns to equality-based values.

Le chiffrement au niveau de l’application doit également être utilisé pour des données sélectionnées.Application level encryption should also be used for selective data. Les problèmes de souveraineté de données peuvent être atténués par le chiffrement des données avec une clé conservée dans le pays/la région qui convient.Data sovereignty concerns can sometimes be mitigated by encrypting data with a key that is kept in the correct country/region. Cela empêche même tout problème dû à un transfert de données accidentel, car il est impossible de déchiffrer les données sans la clé, en supposant qu’un algorithme fort soit utilisé (par exemple, AES 256).This prevents even accidental data transfer from causing an issue since it is impossible to decrypt the data without the key, assuming a strong algorithm is used (such as AES 256).

Vous pouvez prendre des précautions supplémentaires pour sécuriser la base de données, comme la conception d’un système sécurisé, le chiffrement de ressources confidentielles et la création d’un pare-feu autour des serveurs de base de données.You can use additional precautions to help secure the database, such as designing a secure system, encrypting confidential assets, and building a firewall around the database servers.

Étapes suivantesNext steps

Dans cet article, nous avons abordé un ensemble de bonnes pratiques de sécurité SQL Database et SQL Data Warehouse pour protéger vos applications PaaS mobiles et web.This article introduced you to a collection of SQL Database and SQL Data Warehouse security best practices for securing your PaaS web and mobile applications. Pour en savoir plus sur la sécurisation de vos déploiements PaaS, consultez :To learn more about securing your PaaS deployments, see: