Tous les produits
Search
Centre de documentation

ApsaraDB RDS:Autoriser un compte à accéder à ses bases de données autorisées depuis des adresses IP spécifiques

Dernière mise à jour :Aug 19, 2026

Les listes blanches d'adresses IP configurées sur une instance RDS s'appliquent à l'ensemble des comptes de cette instance. Il n'existe aucun mécanisme natif permettant de restreindre l'accès d'un compte individuel à des adresses IP sources spécifiques, ce qui accroît la surface d'attaque. Pour remédier à cette situation, liez un compte MySQL à une adresse IP spécifique en exécutant directement des instructions SQL sur l'instance RDS. Le compte lié ne pourra alors se connecter qu'à partir de cette adresse.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

Notes d'utilisation

Gestion via la console et l'API

Une fois un compte lié à une adresse IP, sa gestion via la console ApsaraDB RDS ou les opérations API peut entraîner des problèmes. Privilégiez l'utilisation de Data Management (DMS) ou d'instructions SQL pour gérer ce type de compte.

Conflits de noms de compte

MySQL identifie chaque compte par son nom d'utilisateur et son adresse hôte. Si deux comptes partagent le même nom d'utilisateur avec des motifs d'hôte qui se chevauchent — par exemple, user@192.168.% et user@192.168.%.% — l'ordre d'authentification n'est pas garanti, ce qui peut provoquer des exceptions d'accès. Si les mots de passe ou les permissions de ces deux comptes diffèrent, la connexion peut échouer ou les permissions appliquées après la connexion à la base de données peuvent être incorrectes. Utilisez des noms d'utilisateur distincts pour éviter cette ambiguïté.

Lier un compte à une adresse IP

  1. Connectez-vous à l'instance RDS. Pour plus d'informations, consultez la rubrique Utiliser un client ou la CLI pour se connecter à une instance ApsaraDB RDS for MySQL.

  2. Exécutez les instructions SQL suivantes pour créer un compte et le lier à une adresse IP spécifique.

    L'exemple ci-dessous crée l'utilisateur test001, lui accorde l'accès à la base de données rds001 et restreint les connexions à l'adresse IP 42.120.XX.XX.

    -- Create the user and bind it to the specified IP address
    CREATE USER `test001`@`42.120.XX.XX` IDENTIFIED BY 'passwd';
    
    -- Grant global privileges required for replication monitoring
    GRANT PROCESS, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'test001'@'42.120.XX.XX';
    
    -- Grant full access to the target database
    GRANT ALL PRIVILEGES ON `rds001`.* TO 'test001'@'42.120.XX.XX';
    
    -- Grant read access to MySQL system tables
    GRANT SELECT ON mysql.* TO 'test001'@'42.120.XX.XX';

    La valeur d'hôte dans le nom du compte (42.120.XX.XX) prend en charge les formats suivants :

    Format Exemple Description
    Adresse IP exacte 42.120.1.1 Restreint les connexions à une seule adresse IP
    Motif avec caractère générique 192.168.% Autorise les connexions depuis n'importe quelle adresse IP dans la plage 192.168.x.x
    Aucune restriction % Autorise les connexions depuis n'importe quelle adresse IP
    La console ApsaraDB RDS n'affiche les bases de données autorisées d'un compte que lorsque l'hôte est défini sur le caractère générique % . Si vous liez le compte à une adresse IP spécifique, ses bases de données autorisées ne seront pas visibles dans la console.
  3. (Facultatif) Pour modifier l'adresse IP liée, exécutez l'instruction RENAME USER :

    RENAME USER `test001`@`42.120.XX.XX` TO `test001`@`42.121.XX.XX`;