Créer un nouvel utilisateur MySQL dans un environnement Amazon RDS

Je dois créer un nouvel utilisateur MySQL avec une autorisation limitée sur une instance Amazon RDS existante. Après avoir rencontré quelques messages d’erreur, j’ai été en mesure de le faire en utilisant l’outil MySQL Administrator officiel et l’utilisateur apparaît maintenant dans la liste. Cependant, je ne peux pas atsortingbuer de privilèges de schéma car tous les utilisateurs sont grisés. Je suis connecté en tant qu ‘”utilisateur principal” créé lors du lancement de l’instance. Je ne sais pas où aller d’ici. J’ai les outils de ligne de commande RDS installés, mais je ne pouvais rien y trouver non plus. Des idées

Votre meilleur pari est probablement de vous connecter à la firebase database avec un client de ligne de commande mysql et d’appeler les commandes SQL pour créer un nouvel utilisateur et lui atsortingbuer des privilèges.

Par exemple, vous pourriez exécuter quelque chose comme ceci:

mysql -u [your_master_username] -p -h YOURRDSENDPOINT.rds.amazonaws.com CREATE USER 'jeffrey'@'%' IDENTIFIED BY 'somepassword'; GRANT SELECT ON [your_database].[some_table] TO 'jeffrey'@'%'; 

Sur Windows, vous pouvez utiliser le client mysql.exe, où que ce soit.

Documents utiles

Documentation des groupes de sécurité AWS RDS (zone de confusion courante): http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithSecurityGroups.html

Documentation de création de l’utilisateur: http://dev.mysql.com/doc/refman/5.5/fr/create-user.html

Documentation d’octroi de privilèges: http://dev.mysql.com/doc/refman/5.5/en/grant.html

Je sais que ce sujet date de deux ans et que je continue à le trouver. Je voulais donc avoir une mise à jour sur les droits d’access et les permissions utilisateur d’AWS.

Vous ne pouvez pas utiliser GRANT ALL pour tout utilisateur disposant d’un RDS. Lorsque vous utilisez l’instruction GRANT ALL , vous tentez également de fournir Global (en tant qu’appels AWS Super Permissions ) et avec la configuration du système AWS RDS qui n’autorise pas l’atsortingbution d’options globales aux utilisateurs.

Vous devez séparer les permissions suivantes:

GRANT SELECT,INSERT,UPDATE,DELETE,DROP on

Cela permettra à votre utilisateur de pouvoir se connecter au RDS une fois les parameters de sécurité configurés pour permettre l’access depuis vos instances EC2 ou depuis Internet.

J’espère que cette information aidera toute personne qui rencontre les mêmes problèmes que ceux que je voyais avec les systèmes AWS RDS.

Waldo

J’ai eu le plus de succès avec MySQL Workbench et l’exécution de SQL brut contre RDS:

 CREATE USER 'foo'@'localhost' IDENTIFIED BY 'password'; 

Le plus gros problème était les permissions. Au départ, j’ai essayé:

 Grant ALL on *.* to 'foo'@'localhost' 

… ce qui entraîne une erreur d’access refusé.

 Error Code: 1045. Access denied for user 'foo'@'%' (using password: YES) 

La permission dérangeante est “super” que RDS ne me donne pas, et à son tour, je ne peux pas accorder. En conséquence, je suis coincé à faire des permissions à la main:

 Grant SELECT on *.* to 'foo'@'localhost'; Grant INSERT on *.* to 'foo'@'localhost'; Grant CREATE on *.* to 'foo'@'localhost'; 

J’ai créé comme ça:

 CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'somepassword'; GRANT SELECT ON mydatabase.* TO 'jeffrey'@'localhost'; 

Cependant, AWS a refusé de se connecter à cet utilisateur. Et j’ai essayé de changer les privilèges d’administrateur, mais pas de succès. Et je change ‘localhost’ en ‘%’ via mysql workbench. (ou vous pouvez supprimer l’utilisateur et recréer) comme:

 CREATE USER 'jeffrey'@'%' IDENTIFIED BY 'somepassword'; GRANT SELECT ON mydatabase.* TO 'jeffrey'@'%'; 

Alors seulement j’ai pu me connecter via ce nouvel utilisateur.

J’ai utilisé mySQL workbench et ça marche bien. il suffit d’aller à la gestion / utilisateurs et privilèges, appuyez sur “Ajouter un compte” bouton en bas à gauche, et configurer. Vous ne pouvez pas donner de privilèges SUPER, mais la plupart des autres