0

My top-level goal is to enable two-user (zero-downtime) secret rotation for RDS users. To recap/summarize the approach, you always have two accounts in your DB that have equivalent access. You switch which one is active/deprecated every N days, and every time you switch one of these accounts to active, you update the password. This way, clients have plenty of time to drain off of the inactive username/password.

This does require you to maintain two accounts with equivalent access, though. It occurred to me that MySQL has a very nice feature baked in - proxy users! This allows us to maintain 1 real account (which has all the grants), and 2 proxy users we can switch between (which only have a proxy grant each). The proxy accounts inherit access from the real account. This is, in theory, way easier to maintain.

The problem is getting the check_user_proxy and mysql_native_password_proxy_users values to actually apply. I have:

Created a non-default DB Cluster Parameter Group with these settings turned on. Set my existing cluster (Serverless Aurora MySQL 5.7) to use these parameters (value=1). Waited for the DB state to return from "Modifying" to "Active". Exited my DB client and reconnected. Attempted to use proxy access (log in as proxy user, attempt to SELECT from tables, check @@proxy_user). Logged in as root, to troubleshoot with SELECT @@check_proxy_users (got 0). I'm scratching my head a little at what I'm doing wrong, or if what I'm trying to do is just impossible/a bad idea (if it is, that'd be nice to know too). It's impossible to find help via web search, since all the results are for RDS Proxy (cool but entirely unrelated), so hopefully this question will be findable for anyone in the future who hits the same problem.

(Migrated from https://stackoverflow.com/posts/68166550 per top comment)

3
  • you do know that rds mysql isn't the same as the regular official mysql, they skipped on some features
    – nbk
    Commented Jun 28, 2021 at 17:27
  • @nbk obviously, but there are gaps in the documentation about what's present and what's skipped. So it's hard to tell, sometimes, whether a feature is actually missing, or you're just doing something wrong. That's the kind of guidance I'm hoping to find here. Commented Jun 28, 2021 at 18:05
  • no if you search for check_user_proxy aws rds you find no results in google, that is a nearly hundred precent guarantee that it doesn't work at all, the documentation is as far a s i can tell 100 % google and search compatibel
    – nbk
    Commented Jun 28, 2021 at 18:37

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.