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í. IdeasCreación de un nuevo usuario de MySQL en el entorno de Amazon RDS
Respuesta
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, es posible 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 las ventanas se podían usar el cliente mysql.exe, donde quiera que sea.
Docs útiles
AWS RDS grupos de seguridad documentación (un área común de confusión): http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithSecurityGroups.html
documentación creación usuario: http://dev.mysql.com/doc/refman/5.5/en/create-user.html
Privilege concesión de documentación: http://dev.mysql.com/doc/refman/5.5/en/grant.html
tuve el mayor éxito usando MySQL Workbench y ejecutando SQL crudo 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 de 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 otorgar. 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';
si otorga ALL en su base de datos. * A 'foo' @ 'localhost' puede tener más éxito. * incluiría bases de datos del sistema (esquemas). – Mike
'USO DE SUBVENCIÓN EN *. * PARA 'foo' @ 'localhost'' probado en rds mariadb, creo que mysql debería ser el mismo. ver [MySQL en Amazon RDS] (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html) – Leonmax
He utilizado 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 puede otorgar privilegios SUPER, pero la mayor parte del resto
Sé que este hilo tiene un par de años y todavía lo sigo encontrando así que quería obtener una actualización sobre el AWS RDS y los Permisos de usuario.
No puede usar GRANT ALL
para ningún usuario con un RDS. Cuando usa la declaración GRANT ALL
, también está tratando de proporcionar Global
(ya que 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.
usted tiene que romper los permisos a lo siguiente:
GRANT SELECT,INSERT,UPDATE,DELETE,DROP on
Esto permitirá a su usuario sea capaz de conectarse a la RDS una vez que los parámetros de seguridad están configurados para permitir el acceso desde sus instancias de EC2 o de Internet.
Espero que esta información ayude a cualquier otra persona que esté teniendo los mismos problemas que yo estaba viendo con los sistemas AWS RDS.
Waldo
Buena explicación, aplausos. – dkanejs
Me ahorra también. Estaba totalmente frustrado porque después de 'GRANT ALL' todavía no puedo conectarme. Ahora esta claro. –
¡Buen punto! El error que obtiene para 'ALL' es:' ERROR 1045 (28000): Acceso denegado para el usuario 'root' @ '%' (usando la contraseña: YES) ' – crollywood
creé así:
CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'somepassword';
GRANT SELECT ON mydatabase.* TO 'jeffrey'@'localhost';
Pero entonces, AWS rechazado para ingresar a ese usuario. Y traté de cambiar los privilegios de administrador, pero no el éxito. E I cambie 'localhost' a '%' a través de mysql workbench. (O puede quitar y volver a crear el usuario) como:
CREATE USER 'jeffrey'@'%' IDENTIFIED BY 'somepassword';
GRANT SELECT ON mydatabase.* TO 'jeffrey'@'%';
Sólo entonces pude loggin a través de este nuevo usuario.
- 1. Depuración MySQL Deadlocks en Amazon RDS
- 2. Amazon SimpleDB vs Amazon RDS
- 3. cómo 'cargar el archivo de datos' en Amazon RDS?
- 4. ¿Necesito Amazon EC2, Cloudfront, RDS?
- 5. Cómo obtener los certificados de Amazon MySQL RDS
- 6. Uso de PHPMyAdmin para administrar Amazon RDS
- 7. Copia de seguridad automática de Amazon RDS
- 8. ¿Es posible usar Cacti para monitorear MySQL en el RDS de Amazon?
- 9. Uso de Amazon S3 junto con Amazon RDS
- 10. Script de creación de usuario de Mysql
- 11. ¿Cómo 'cambiar' de MySQL a Amazon RDS con un impacto mínimo en la aplicación?
- 12. Exportar tabla desde Amazon RDS a un archivo csv
- 13. Capistrano agota el tiempo de implementación con Amazon RDS
- 14. Ventajas de migrar de MySQL a Oracle para Amazon RDS. ¿Vale la pena? [A: no]
- 15. ¿Cómo muevo datos de Postgres a MySQL ejecutándose en RDS de Amazon?
- 16. ¿Explicar este patrón de consumo de memoria en Amazon RDS/Mysql?
- 17. ¿Cómo calcula Amazon RDS la tasa de E/S?
- 18. ¿Cómo se realiza la implementación Multi-AZ de Amazon RDS?
- 19. Preguntas básicas sobre Amazon RDS, almacenamiento S3 y tablas predeterminadas de RDS
- 20. redefinición de comandos en un nuevo entorno
- 21. Dónde almacenar imágenes en Amazon AWS para usar en RDS
- 22. Migrar a Amazon SQL Server RDS
- 23. SQL Server Reporting Services para Amazon RDS
- 24. Cómo obtener acceso de phpmyadmin en la base de datos de Amazon RDS
- 25. Crear un nuevo entorno en Rails
- 26. ¿Cuáles son las ventajas/limitaciones respectivas de Amazon RDS vs. EC2 con MySQL?
- 27. Base de datos en la nube Postgres Plus vs Amazon Relational Database Service (Amazon RDS)
- 28. ¿Se pueden actualizar las instancias de Amazon RDS?
- 29. check_password() de un usuario nuevo
- 30. Creación de un entorno de tiempo de diseño personalizado
Solo una pregunta. Como el host es YOURRDSENDPOINT.rds.amazonaws.com, ¿otorga privilegios a localhost? He intentado hacer esto por bastante tiempo sin éxito. – nightgaunt
Como ejemplo, actualizaré la respuesta para usar un nombre de host comodín. – andebauchery