ハマログ

株式会社イーツー・インフォの社員ブログ

AuroraのIAM認証を設定してみる

Aurora DBへのIAM認証接続
AuroraはIAM認証でDBクラスターに対する認証を設定・実行することができます。認証トークンを利用するためパスワードを利用した接続が不要となります。
手順
以下の手順ですすめます。
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を入力します。
{
   "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などで適切に権限を指定します。
AmazonAurhorizationAuroraauthAuthenticatoinAWSIAMRDSインフラサーバ認証

  kaneko tomo   2018年12月20日


関連記事

AWS ChatbotでSlackに通知する

AWSからの通知をSlackに連携する場合、いくつかの選択肢がありますが、AWS…

AWS WAFのログを調査する

403 Forbiddenが発生したので調査。 そのサービスではAWS WAFを…

GCPのロードバランサでHTTP→HTTPSのリダイレクトを設定する

GCPのロードバランサでHTTP→HTTPSのリダイレクトを設定したので手順の記…


← 前の投稿

次の投稿 →