🔣

AWS Aurora 3系でユーザを作成する

2024/04/19に公開

これはなに

AWS Auroraの3系でユーザを作成する方法です。

概要

やり方の概要ですが、AWSのコンソールからとかではなく、普通にMySQLクライアントとかからMySQLの構文を使って作成します。至って普通。
Aurora 3系はMySQL8.0系との互換性があるので、今回はMySQL8.0系の以下ドキュメントを参照します。

作成方法とその解説

作成方法

-- 既存のアカウント確認
SELECT * FROM mysql.user;

-- 作成
CREATE USER 'reader''%'
    IDENTIFIED BY 'password';

-- 権限付与
GRANT SELECT -- ここに付与したい権限を列挙
    ON database.*
    TO 'reader''%';

-- 作成したユーザの確認
SHOW GRANTS FOR 'reader''%';

-- 間違えて作ってしまったら、対象を確認の上削除
SELECT * FROM mysql.user;
DROP USER 'reader''%';

ちょっとの解説

  • 'reader'@'%'について
    • アカウント名@ホスト名という構成です。%はホストを指定しないという意味で、その場合はホスト名を明記せずアカウント作成しても良いです
    • Auroraで'reader'@'%'と指定した際、自分はなんかうまく設定できなかったので省略してユーザ作成しました
  • database.*について
    • スキーマ名(DB名).テーブル名という構成です。*は全てという意味です
    • ホスト名では%を使ってテーブル名では*を使うので若干混乱する。バッククォートの要不要も違う
      • なぜ
  • WITH GRANT OPTION
    • 自身と同等の権限を他のユーザーに付与可能な権限
    • GRANT文の最後に置いたりする

おわりに

以上です!

Discussion