AuroraのIAM認証を設定してみる
Aurora DBへのIAM認証接続
AuroraはIAM認証でDBクラスターに対する認証を設定・実行することができます。認証トークンを利用するためパスワードを利用した接続が不要となります。
手順
以下の手順ですすめます。
1.IAM認証の有効化
2.IAMポリシーの作成
3.DBアカウントの作成
4.接続
1.IAM認証の有効化
2.IAMポリシーの作成
3.DBアカウントの作成
4.接続
1.IAM認証の有効化
エラーになったので、どのインスタンスタイプなら設定できるのか確かめました。
IAM データベース認証の可用性 IAM データベース認証は、Aurora と MySQL の互換性 バージョン 1.10 以上で利用できます。すべてのインスタンスクラスは、db.t2.small を除いてサポートされます。MySQL に対する IAM データベース認証より
変更して再チャレンジ。ステータスがconfiguring-iam-database-authとなった後にIAM認証が有効になります。
2.IAMポリシーの作成
つづいてIAMポリシーを作成します。AWSコンソールからIAMを選択してポリシーの作成を選びます。
ポリシーの作成画面で次の通りJSONを入力します。
ポリシーの作成画面で次の通りJSONを入力します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "ARN/USER" ] } ] }
エラーが出ますが、AWSによると想定通りで問題ないため無視して進みます。
現在、IAM コンソールでは、rds-db:connect アクションを使用するポリシーに対してエラーが表示されます。このエラーは無視して構いません。IAM データベースアクセス用の IAM ポリシーの作成と使用より
IAMユーザーを作成してポリシーを紐付ける
3.DBアカウントの作成
続いてDBをアカウントを作成します。Auroraクラスターに接続して、「2.IAMポリシーの作成」で指定したユーザーを作ります。
# mysql -h [HOST] -u [USER] -p MySQL> CREATE USER [USER] IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
これで、「2.IAMポリシーの作成」で指定したポリシーをアタッチされたIAMユーザーで接続した場合、「3.DBアカウントの作成」で作成したDBユーザーでAuroraに接続されます。
なお、上記の操作だとDBの権限が一切ない状態なので、GRANTなどで適切に権限を指定します。
なお、上記の操作だとDBの権限が一切ない状態なので、GRANTなどで適切に権限を指定します。