pricing ec2 conectar amazon-web-services amazon-rds

amazon web services - ec2 - Crear un nuevo usuario de MySQL en el entorno de Amazon RDS



connect rds to ec2 (5)

Necesito crear un nuevo usuario de MySQL con permiso limitado en una instancia existente de Amazon RDS. Después de encontrar un par de mensajes de error, pude hacer esto usando la herramienta oficial MySQL Administrator y el usuario ahora aparece en la lista. Sin embargo, no puedo asignar ningún privilegio de esquema ya que todos los usuarios están atenuados. He iniciado sesión como el "usuario maestro" creado cuando se lanzó la instancia. No estoy seguro de dónde ir desde aquí. Tengo las herramientas de línea de comandos de RDS instaladas, pero tampoco pude encontrar nada allí. Ideas


Creé así:

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

Pero entonces, AWS rechazó iniciar sesión con ese usuario. Y traté de cambiar los privilegios de administrador, pero no el éxito. Y cambio ''localhost'' a ''%'' a través de mysql workbench. (o puede eliminar al usuario y recrear) como:

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

Entonces solo pude iniciar sesión a través de este nuevo usuario.


He usado mySQL workbench y funciona bien. solo vaya a la administración / Usuarios y Privilegios, presione el botón "Agregar Cuenta" abajo a la izquierda, y configure. No puedes dar privilegios SUPER, pero la mayoría del resto


Sé que este hilo tiene un par de años y bueno, sigo encontrándolo así que quería obtener una actualización sobre AWS RDS y permisos de usuario.

No puede usar GRANT ALL para ningún usuario con un RDS. Cuando utiliza la instrucción GRANT ALL , también está tratando de proporcionar Global (como AWS los llama Super Permissions ) y con la forma en que está configurado el sistema AWS RDS, no permiten la asignación de opciones globales a los usuarios.

Tienes que dividir los Permisos en lo siguiente:

GRANT SELECT,INSERT,UPDATE,DELETE,DROP on

Esto permitirá que su usuario pueda conectarse al RDS una vez que la configuración de seguridad esté configurada para permitir el acceso desde sus instancias EC2 o desde Internet.

Espero que esta información ayude a cualquier otra persona que tenga los mismos problemas que yo veía con los sistemas AWS RDS.

Waldo


Su mejor opción es, probablemente, conectarse a la base de datos con un cliente de línea de comandos mysql y llamar a los comandos SQL para crear un nuevo usuario y asignarle privilegios.

Por ejemplo, puede ejecutar algo como esto:

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''@''%'';

En Windows puede usar el cliente mysql.exe, donde sea que se encuentre.

Documentos útiles

Documentación de grupos de seguridad de AWS RDS (un área común de confusión): http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithSecurityGroups.html

Documentación de creación de usuario: http://dev.mysql.com/doc/refman/5.5/en/create-user.html

Documentación de concesión de privilegios: http://dev.mysql.com/doc/refman/5.5/en/grant.html


Tuve el mayor éxito usando MySQL Workbench y ejecutando SQL en bruto contra RDS:

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

El problema más grande eran los permisos. Inicialmente probé:

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

... lo que da como resultado un error Acceso denegado.

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

El permiso problemático es "super", que RDS no me otorga, y a su vez no puedo otorgarlo. Como resultado, estoy atrapado haciendo permisos a mano:

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