Sécurité avec Amazon Aurora My SQL - Amazon Aurora

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.

Sécurité avec Amazon Aurora My SQL

La sécurité d'Amazon Aurora My SQL est gérée à trois niveaux :

  • Pour contrôler qui peut effectuer des actions de RDS gestion Amazon sur les clusters de SQL bases de données et les instances de base de données Aurora My, vous utilisez AWS Identity and Access Management (IAM). Lorsque vous vous connectez à AWS à l'aide IAM des informations d'identification, votre AWS le compte doit disposer IAM de politiques accordant les autorisations requises pour effectuer les opérations RDS de gestion d'Amazon. Pour plus d’informations, consultez Gestion des identités et des accès pour Amazon Aurora.

    Si vous utilisez IAM pour accéder à la RDS console Amazon, assurez-vous d'abord de vous connecter au AWS Management Console avec vos informations IAM d'identification d'utilisateur. Accédez ensuite à la RDS console Amazon à l'adresse https://console.aws.amazon.com/rds/.

  • Assurez-vous de créer des clusters Aurora My SQL DB dans un cloud public virtuel (VPC) basé sur le VPC service Amazon. Pour contrôler quels appareils et EC2 instances Amazon peuvent ouvrir des connexions au point de terminaison et au port de l'instance de base de données pour les clusters Aurora My SQL DB d'unVPC, utilisez un groupe VPC de sécurité. Vous pouvez établir ces connexions de point de terminaison et de port à l'aide de Transport Layer Security (TLS). En outre, les règles de pare-feu de votre entreprise peuvent contrôler si les appareils en cours d'exécution dans votre entreprise peuvent ouvrir des connexions à une instance de base de données. Pour plus d'informations surVPCs, voirAmazon VPC et Amazon Aurora.

    La VPC location prise en charge dépend de la classe d'instance de base de données utilisée par vos clusters Aurora My SQL DB. Avec default VPC la location, il VPC fonctionne sur du matériel partagé. En cas de dedicated VPC location, il VPC fonctionne sur une instance matérielle dédiée. Les classes d'instances de base de données de performance burstable ne prennent en charge que la VPC location par défaut. Les classes d'instance de base de données à capacité extensible incluent les classes d'instance de base de données db.t2, db.t3 et db.t4g. Toutes les autres classes d'instance Aurora My SQL DB prennent en charge à la fois la location par défaut et la VPC location dédiée.

    Note

    Nous recommandons d'utiliser uniquement les classes d'instance de base de données T pour les serveurs de développement et de test, ou pour d'autres serveurs non dédiés à la production. Pour plus de détails sur les classes d'instance T, consultez Utilisation de classes d'instances T pour le développement et les tests.

    Pour plus d'informations sur les classes d'instance, consultez Classes d'instances de base de données Amazon Aurora. Pour plus d'informations sur la location default et dedicated VPC la location, consultez la section Instances dédiées dans le guide de l'utilisateur d'Amazon Elastic Compute Cloud.

  • Pour authentifier la connexion et les autorisations pour un cluster Amazon Aurora My SQL DB, vous pouvez adopter l'une des approches suivantes ou une combinaison des deux :

    • Vous pouvez adopter la même approche qu'avec une instance autonome de MySQL.

      Les commandes telles que CREATE USER, RENAME USER, GRANT, REVOKE et SET PASSWORD fonctionnent de la même façon que dans les bases de données sur site, comme le fait la modification directe des tables du schéma de base de données. Pour plus d'informations, consultez la section Contrôle d'accès et gestion des comptes dans la section Ma SQL documentation.

    • Vous pouvez également utiliser l'authentification IAM de base de données.

      Avec l'authentification IAM de base de données, vous vous authentifiez auprès de votre cluster de base de données à l'aide d'un IAM utilisateur ou d'un IAM rôle et d'un jeton d'authentification. Un jeton d'authentification est une valeur unique qui est générée à l'aide du processus de signature Signature Version 4. En utilisant l'authentification IAM de base de données, vous pouvez utiliser les mêmes informations d'identification pour contrôler l'accès à votre AWS vos ressources et vos bases de données. Pour de plus amples informations, veuillez consulter Authentification de base de données IAM.

Note

Pour de plus amples informations, veuillez consulter Sécurité dans Amazon Aurora.

Dans les sections suivantes, consultez les informations sur les autorisations utilisateur pour Aurora My SQL et TLS les connexions avec les clusters Aurora My SQL DB.

Maîtrisez les privilèges des utilisateurs avec Amazon Aurora My SQL

Lorsque vous créez une instance Amazon Aurora My SQL DB, l'utilisateur principal dispose des privilèges par défaut répertoriés dansPrivilèges du compte utilisateur principal.

Pour fournir des services de gestion pour chaque cluster de base de données, les utilisateurs admin et rdsadmin sont créés lors de la création du cluster de base de données. Les tentatives de supprimer, renommer et modifier le mot de passe du compte rdsadmin, ou d'en modifier les privilèges, génèrent une erreur.

Dans les clusters de base de données Aurora My SQL version 2, les rdsadmin utilisateurs admin et sont créés lors de la création du cluster de base de données. Dans les clusters de base de données Aurora My SQL version 3 adminrdsadmin, les rds_superuser_role utilisateurs, et sont créés.

Important

Nous vous recommandons vivement de ne pas avoir recours au rôle d'utilisateur principal directement dans vos applications. Au lieu de cela, respectez la bonne pratique qui consiste à avoir recours à un utilisateur de base de données doté des privilèges minimum requis pour votre application.

Pour la gestion du cluster Aurora My SQL DB, la norme kill et kill_query les commandes ont été restreintes. Utilisez plutôt les RDS commandes Amazon rds_kill_query pour mettre fin rds_kill aux sessions utilisateur ou aux requêtes sur les instances Aurora My SQL DB.

Note

Le chiffrement d'une instance de base de données et des instantanés n'est pas pris en charge pour la région Chine (Ningxia).

TLSconnexions aux clusters Aurora My SQL DB

Les clusters Amazon Aurora My SQL DB prennent en charge les connexions Transport Layer Security (TLS) provenant d'applications en utilisant le même processus et la même clé publique que RDS pour les instances My SQL DB.

Amazon RDS crée un TLS certificat et l'installe sur l'instance de base de données lorsqu'Amazon RDS approvisionne l'instance. Ces certificats sont signés par une autorité de certification. Le TLS certificat inclut le point de terminaison de l'instance de base de données comme nom commun (CN) du TLS certificat afin de se prémunir contre les attaques par usurpation d'identité. Par conséquent, vous ne pouvez utiliser le point de terminaison du cluster de base de données pour vous connecter à un cluster de base de données que TLS si votre client prend en charge les noms alternatifs de sujet (SAN). Sinon, vous devez utilisez le point de terminaison d'instance d'une instance de dispositif d'écriture.

Pour de plus amples informations sur le téléchargement de certificats, veuillez consulter Utilisation TLS deSSL/pour chiffrer une connexion à une de clusters.

Nous recommandons le AWS JDBCLe conducteur en tant que client qui soutient SAN avecTLS. Pour plus d'informations sur le AWS JDBCPilote et instructions complètes pour son utilisation, consultez le site Amazon Web Services (AWS) GitHub Référentiel de JDBC pilotes.

Exiger une TLS connexion à un cluster Aurora My SQL DB

Vous pouvez exiger que toutes les connexions utilisateur à votre cluster Aurora My SQL DB soient utilisées TLS en utilisant le paramètre de cluster de require_secure_transport base de données. Par défaut, le paramètre require_secure_transport est défini sur OFF. Vous pouvez définir le require_secure_transport paramètre comme requis ON TLS pour les connexions à votre cluster de bases de données.

Vous pouvez définir la valeur du paramètre require_secure_transport en mettant à jour le groupe de paramètres pour votre cluster de bases de données. Vous n'avez pas besoin de redémarrer votre cluster de base de données pour que la modification prenne effet. Pour plus d'informations sur les groupes de paramètres, consultez Groupes de paramètres pour Amazon Aurora.

Note

Le require_secure_transport paramètre est disponible pour les SQL versions 2 et 3 d'Aurora My. Vous pouvez définir ce paramètre dans un groupe de paramètres de cluster de base de données personnalisé. Le paramètre n'est pas disponible dans les groupes de paramètres d'instance de base de données.

Lorsque le paramètre require_secure_transport est défini sur ON pour un cluster de base de données, un client de base de données peut s'y connecter s'il peut établir une connexion chiffrée. Sinon, un message d'erreur similaire au suivant est renvoyé au client :

MySQL Error 3159 (HY000): Connections using insecure transport are prohibited while --require_secure_transport=ON.

TLSversions pour Aurora My SQL

Aurora My SQL prend en charge les versions 1.0, 1.1, 1.2 et 1.3 de Transport Layer Security (TLS). À partir de SQL la version 3.04.0 et supérieure d'Aurora My, vous pouvez utiliser le protocole TLS 1.3 pour sécuriser vos connexions. Le tableau suivant indique la TLS prise en charge des SQL versions d'Aurora My.

Aurora Ma SQL version TLS 1.0 TLS1.1 TLS1.2 TLS1.3 Par défaut

Aurora Ma SQL version 2

Pris en charge Pris en charge

Pris en charge

Non pris en charge Toutes les TLS versions prises en charge

Aurora My SQL version 3 (inférieure à la version 3.04.0)

Pris en charge Pris en charge Pris en charge Non pris en charge Toutes les TLS versions prises en charge

Aurora My SQL version 3 (3.04.0 et versions ultérieures)

Non pris en charge Non pris en charge Pris en charge Pris en charge Toutes les TLS versions prises en charge
Important

Si vous utilisez des groupes de paramètres personnalisés pour vos SQL clusters Aurora My avec la version 2 et les versions inférieures à la version 3.04.0, nous vous recommandons d'utiliser la version TLS 1.2 car les versions TLS 1.0 et 1.1 sont moins sécurisées. L'édition communautaire de My SQL 8.0.26 et Aurora My SQL 3.03 et ses versions mineures ont rendu obsolète la prise en charge des versions 1.1 et 1.0. TLS

L'édition communautaire de My SQL 8.0.28 et les versions compatibles d'Aurora My 3.04.0 et supérieures ne sont pas compatibles avec les SQL versions TLS 1.1 et 1.0. TLS Si vous utilisez Aurora My SQL versions 3.04.0 ou supérieures, ne définissez pas le TLS protocole sur 1.0 et 1.1 dans votre groupe de paramètres personnalisé.

Pour les SQL versions 3.04.0 et supérieures d'Aurora My, les paramètres par défaut sont TLS 1.3 et TLS 1.2.

Vous pouvez utiliser le paramètre de cluster de bases de données tls_version pour indiquer les versions de protocole autorisées. Des paramètres client similaires existent pour la plupart des outils client ou des pilotes de base de données. Certains clients plus anciens peuvent ne pas prendre en charge TLS les nouvelles versions. Par défaut, le cluster de base de données tente d'utiliser la version de TLS protocole la plus élevée autorisée par la configuration du serveur et du client.

Définissez le paramètre de cluster de base de données tls_version sur l'une des valeurs suivantes :

  • TLSv1.3

  • TLSv1.2

  • TLSv1.1

  • TLSv1

Vous pouvez également définir le paramètre tls_version sous forme de chaîne de liste séparée par des virgules. Si vous souhaitez utiliser à la fois les protocoles TLS 1.2 et TLS 1.0, le tls_version paramètre doit inclure tous les protocoles, du plus bas au plus élevé. Dans ce cas, tls_version est défini comme suit :

tls_version=TLSv1,TLSv1.1,TLSv1.2

Pour plus d'informations sur la modification de paramètres dans un groupe de paramètres de cluster de base de données, consultez Modification des paramètres d'un groupe de paramètres de cluster de base de données dans Amazon Aurora. Si vous utilisez le plugin AWS CLI pour modifier le paramètre du tls_version cluster de base de données, le ApplyMethod doit être défini surpending-reboot. Lorsque la méthode d'application estpending-reboot, les modifications des paramètres sont appliquées après l'arrêt et le redémarrage des clusters de base de données associés au groupe de paramètres.

Configuration de suites de chiffrement pour les connexions aux clusters Aurora My SQL DB

L'utilisation de suites de chiffrement configurables vous permet d'avoir plus de contrôle sur la sécurité des connexions de vos bases de données. Vous pouvez spécifier une liste de suites de chiffrement que vous souhaitez autoriser pour sécuriser les TLS connexions client à votre base de données. Avec les suites de chiffrement configurables, vous pouvez contrôler le chiffrement de connexion accepté par votre serveur de base de données. Cela permet d'éviter l'utilisation de codes de chiffrement non sécurisés ou rendus obsolètes.

Les suites de chiffrement configurables sont prises en charge dans Aurora My SQL version 3 et Aurora My SQL version 2. Pour spécifier la liste des chiffrements TLS 1.2, TLS 1.1, TLS 1.0 autorisés pour le chiffrement des connexions, modifiez le paramètre du ssl_cipher cluster. Définissez le ssl_cipher paramètre dans un groupe de paramètres de cluster à l'aide du AWS Management Console, le AWS CLI, ou le RDSAPI.

Définissez le ssl_cipher paramètre sur une chaîne de valeurs chiffrées séparées par des virgules pour votre version. TLS Pour l'application client, vous pouvez spécifier les chiffrements à utiliser pour les connexions chiffrées en utilisant l'option --ssl-cipher lors de la connexion à la base de données. Pour obtenir plus d'informations sur la connexion à votre base de données, consultez Connexion à un cluster Amazon Aurora My SQL DB.

À partir de la SQL version 3.04.0 et supérieure d'Aurora My, vous pouvez spécifier des suites de chiffrement TLS 1.3. Pour spécifier les suites de chiffrement TLS 1.3 autorisées, modifiez le tls_ciphersuites paramètre dans votre groupe de paramètres. TLSLa version 1.3 a réduit le nombre de suites de chiffrement disponibles en raison de modifications apportées à la convention de dénomination qui supprime le mécanisme d'échange de clés et le certificat utilisés. Définissez le sur tls_ciphersuites une chaîne de valeurs de chiffrement séparées par des virgules pour 1.3. TLS

Le tableau suivant indique les chiffrements pris en charge ainsi que le protocole de TLS chiffrement et les versions valides SQL du moteur Aurora My pour chaque chiffrement.

ChiffrementProtocole de chiffrementSQLVersions d'Aurora My prises en charge

DHE-RSA-AES128-SHA

TLS 1.03.01.0 et versions inférieures à 3.04.0, toutes inférieures à 2.11.0

DHE-RSA-AES128-SHA256

TLS1.23.01.0 et versions inférieures à 3.04.0, toutes inférieures à 2.11.0

DHE-RSA-AES128-GCM-SHA256

TLS1.23.01.0 et versions inférieures à 3.04.0, toutes inférieures à 2.11.0

DHE-RSA-AES256-SHA

TLS 1.0Versions 3.03.0 et antérieures, toutes les versions antérieures à 2.11.0

DHE-RSA-AES256-SHA256

TLS1.23.01.0 et versions inférieures à 3.04.0, toutes inférieures à 2.11.0

DHE-RSA-AES256-GCM-SHA384

TLS1.23.01.0 et versions inférieures à 3.04.0, toutes inférieures à 2.11.0

ECDHE-RSA-AES128-SHA

TLS 1.03.01.0 et versions ultérieures, 2.09.3 et versions ultérieures, 2.10.2 et versions ultérieures

ECDHE-RSA-AES128-SHA256

TLS1.23.01.0 et versions ultérieures, 2.09.3 et versions ultérieures, 2.10.2 et versions ultérieures

ECDHE-RSA-AES128-GCM-SHA256

TLS1.23.01.0 et versions ultérieures, 2.09.3 et versions ultérieures, 2.10.2 et versions ultérieures

ECDHE-RSA-AES256-SHA

TLS 1.03.01.0 et versions ultérieures, 2.09.3 et versions ultérieures, 2.10.2 et versions ultérieures

ECDHE-RSA-AES256-SHA384

TLS1.2

3.01.0 et inférieur à 3.04.0, 2.09.3 et supérieur, 2.10.2 et supérieur

ECDHE-RSA-AES256-GCM-SHA384

TLS1.2

3.01.0 et versions ultérieures, 2.09.3 et versions ultérieures, 2.10.2 et versions ultérieures

ECDHE-ECDSA-AES128-GCM-SHA256

TLS1.2

Versions 3.01.0 et ultérieures

ECDHE-ECDSA-AES256-GCM-SHA384

TLS1.2

Versions 3.01.0 et ultérieures

ECDHE-ECDSA-CHACHA20-POLY1305

TLS1.2

3.04.0 et supérieur, 2.11.0 et supérieur

TLS_AES_128_GCM_SHA256

TLS1.3Versions 3.04.0 et ultérieures

TLS_AES_256_GCM_SHA384

TLS1.3Versions 3.04.0 et ultérieures

TLS_CHACHA20_POLY1305_SHA256

TLS1.3Versions 3.04.0 et ultérieures
Note

DHE-RSAles chiffrements ne sont pris en charge que par SQL les versions d'Aurora My inférieures à 2.11.0 dans Aurora SQL My 2, et inférieures à 3.04.0 dans Aurora My 3. SQL

Pour plus d'informations sur la modification de paramètres dans un groupe de paramètres de cluster de base de données, consultez Modification des paramètres d'un groupe de paramètres de cluster de base de données dans Amazon Aurora. Si vous utilisez le CLI pour modifier le paramètre du ssl_cipher cluster de base de données, assurez-vous de ApplyMethod définir le surpending-reboot. Lorsque la méthode d'application estpending-reboot, les modifications des paramètres sont appliquées après l'arrêt et le redémarrage des clusters de base de données associés au groupe de paramètres.

Vous pouvez également utiliser la CLI commande describe-engine-default-cluster-parameters pour déterminer quelles suites de chiffrement sont actuellement prises en charge pour une famille de groupes de paramètres spécifique. L'exemple suivant montre comment obtenir les valeurs autorisées pour le paramètre de ssl_cipher cluster pour Aurora My SQL version 2.

aws rds describe-engine-default-cluster-parameters --db-parameter-group-family aurora-mysql5.7 ...some output truncated... { "ParameterName": "ssl_cipher", "ParameterValue": "DHE-RSA-AES128-SHA,DHE-RSA-AES128-SHA256,DHE-RSA-AES128-GCM-SHA256,DHE-RSA-AES256-SHA,DHE-RSA-AES256-SHA256,DHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-SHA,ECDHE-RSA-AES128-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-RSA-AES256-SHA,ECDHE-RSA-AES256-SHA384,ECDHE-RSA-AES256-GCM-SHA384", "Description": "The list of permissible ciphers for connection encryption.", "Source": "system", "ApplyType": "static", "DataType": "list", "AllowedValues": "DHE-RSA-AES128-SHA,DHE-RSA-AES128-SHA256,DHE-RSA-AES128-GCM-SHA256,DHE-RSA-AES256-SHA,DHE-RSA-AES256-SHA256,DHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-SHA,ECDHE-RSA-AES128-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-RSA-AES256-SHA,ECDHE-RSA-AES256-SHA384,ECDHE-RSA-AES256-GCM-SHA384", "IsModifiable": true, "SupportedEngineModes": [ "provisioned" ] }, ...some output truncated...

Pour plus d'informations sur les chiffrements, consultez la variable ssl_cipher dans Ma documentation. SQL Pour plus d'informations sur les formats des suites de chiffrement, consultez la documentation sur le format de liste openssl-ciphers et le format de chaîne openssl-ciphers sur le site Web Open. SSL

Chiffrement des connexions à un cluster Aurora My SQL DB

Pour chiffrer les connexions à l'aide du client mysql par défaut, lancez le client mysql à l'aide du paramètre --ssl-ca pour référencer la clé publique. Par exemple :

Pour My SQL 5.7 et 8.0 :

mysql -h myinstance.123456789012.rds-us-east-1.amazonaws.com --ssl-ca=full_path_to_CA_certificate --ssl-mode=VERIFY_IDENTITY

Pour My SQL 5.6 :

mysql -h myinstance.123456789012.rds-us-east-1.amazonaws.com --ssl-ca=full_path_to_CA_certificate --ssl-verify-server-cert

Remplacez full_path_to_CA_certificate avec le chemin complet vers votre certificat d'autorité de certification (CA). Pour plus d'informations sur le téléchargement de certificats, veuillez consulter Utilisation TLS deSSL/pour chiffrer une connexion à une de clusters.

Vous pouvez exiger des TLS connexions pour des comptes d'utilisateurs spécifiques. Par exemple, vous pouvez utiliser l'une des instructions suivantes, en fonction de votre SQL version My, pour exiger TLS des connexions sur le compte utilisateurencrypted_user.

Pour My SQL 5.7 et 8.0 :

ALTER USER 'encrypted_user'@'%' REQUIRE SSL;

Pour My SQL 5.6 :

GRANT USAGE ON *.* TO 'encrypted_user'@'%' REQUIRE SSL;

Lorsque vous utilisez un RDS proxy, vous vous connectez au point de terminaison du proxy au lieu du point de terminaison du cluster habituel. Vous pouvez rendreSSL/TLSobligatoire ou facultatif pour les connexions au proxy, de la même manière que pour les connexions directes au cluster de base de données Aurora. Pour plus d'informations sur l'utilisation RDS du proxy, consultezUtilisation d'Amazon RDS Proxy pour Aurora.

Note

Pour plus d'informations sur TLS les connexions avec MySQL, consultez la SQLdocumentation My.