Add user to RDS instance - MySQL DB - mysql

I'm not used to AWS and how some services actually work but in this exact moment I need to add some users to a MySQL database (RDS service) and allow some IPs to access it, and if someone can help me I really appreciate.
I did some research and found that I can connect to the EC2 instance and access the CLI and that would be enough, but I can't find any running instance in any region.
Thanks for your time.

Connect to your RDS instance as the root user, and add an account just like you would with a MySQL database running anywhere else. There is no special AWS procedure here.
If the database has the "publicly accessible" flag enabled, then you just need to add the IP address to the inbound rules in the Security Group assigned to the RDS instance. If the database is not "publicly accessible" then you won't be able to give access to external IP addresses.

Related

Why is my MySQL Database on AWS not accessible?

I cannot reach my MySQL Database instance I created on AWS.
What I tried was to set the public access of the Database to "Publicly accessible" here:
Also I tried to set Inbound/Outbound rules for the MySQL port here:
Honestly I think using "All" ports would include 3306 too. Anyways, I tried it this way because yet it didn't work. I cannot connect to the database via MySQL Workbench, nor can I use a ping request on the given endpoint.
I would be glad if someone here has an idea what I could try else.
This will not work if you have deployed it in a private subnet which has no internet access.
Another possibility is that there is ACLs that is stopping the traffic. Security group only touch the RDS instance, the ACLs control traffic in the entire subnet.
Here is a dev AWS tutorial that creates a web application that stores data in MySQL running on the cloud. It will show you how to setup the database and the inbound rules. Once you do, you can store data or query data from MySQL. Likewise, you can use MySQL Workbench to interact with MySQL on the cloud.
AWS RDS Tutorial

How to allow my team members to access my AWS mySQL database?

So I created a RDS with AWS, I shared the endpoint and port number with my team, but when they try to log onto my server they get the following:
Why can't they log in, but I can from my mySQL workbench? I logged in, created a schema, and did some insert/delete operations to test everything out. But they can't log in.
Also, they want the schema code (which I created using forward engineering) but I forgot to copy it. Is there any way to access it from mySQL workbench? The code that is created from forward engineering?
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html By default, network access is disabled for a DB instance. You can specify rules in a security group that allow access from an IP address range, port, or EC2 security group. Once ingress rules are configured, the same rules apply to all DB instances that are associated with that security group. You can specify up to 20 rules in a security group.
You need to adjust your RDS security group to allow access from your team's IP address to the port 3306

How can the admin add RDS MySQL db instance only reading permission to a user?

Unfortunately I'm not the admin, so I can't see the buttons, links in the AWS of him, but I need to help him doing this, because this needs for me.
I have a user "A", it can login perfectly into the RDS Mysql db instance through MySQL Workbench. But I also have a user "B", which can't login into the same RDS MySQL db instance through MySQL Workbench (the problem is not with the workbench, it also doesn't work from a c# console app. The security group of the RDS db instance contains the ip I'm trying to login, and as I mentioned, it perfectly works for the other user.
We attached the AmazonRDSFullAccess to the "B" user, but it doesn't have the rds-db JSON line which would provide the reading.
I don't know which menu points did the admin choose, but after we realized this, he created a policy attached to the RDS service and he clicked to the Read checkbox, which enabled 4-5 policies or permissions (I think this automatically generated the correct policy document), and he attached this policy the "B" user. But it still doesn't work.
Can somebody provide a step-by-step tutorial with images about what should he do?
P.S.: Sorry, if the question or the description is not well-detailed, but I can't detail that more right now. I will update later based on comments.
There are several levels of permissions here with AWS RDS MySQL database.
AWS API
Network
Database
First, AWS RDS only provisions the master account, from there you can create other users to allow Database level access to the database on the RDS instance.
You mentioned you had network level access by opening the security group of the Database to the IP you logging in from. And the AWS API access by adding the AmazonRDSFullAccess to the IAM user, this would give him access to manipulate the instance itself but NOT login to the database.
I think you'll need to get someone with DBA or the AWS admin privileges to create a user for this person so they can then log into the database.
MySQL how to add a user

Connecting Securely to MySQL Database on an Amazon EC2 instance from another EC2 instance

I'd like to connect to a mysql database on an AWS EC2 instance from another EC2 instance, but I don't want this mysql database to be accessible from other IP addresses. Changing the bind-address in my.conf to 0.0.0.0 allows everybody to access it, and I don't feel comfortable doing this.
What's the best approach on AWS to configure this in a secure way?
It is easy to do the above. Lets say EC2-1 is your instance and EC2-2 is your MYSQL instance with Security group 1 for EC2-1 and Security group 2 for EC2-2. Add below rule in your Security Group 2. So you can only connect to MYSQL running on EC2-2 from EC2-1 and no body else can connect.

AWS - How can I setup RDS?

I am trying to setup RDS on my AWS account. I created the RDS instance, But I am not able to access the database interface. I am trying to access it using putty, But it is saying - "Command not found".
Please clarify whether I am missing something.
Thanks
You didn't mention the RDS Database engine you are using, but here are some general tips.
Use a local database client (such as mysql workbench for mysql)
Make sure your RDS security group allows your local ip address to access the RDS instance on the correct port.
If you give more information about your setup we'll be able to help you more.