AWS Secrets Manager交代ユーザーローテーション
AWS Secrets Managerの交代ユーザーローテーションを確認してみました。
確認したユーザーガイドのページはこちらAWS Secrets Manager に交代ユーザーローテーションを設定するです。
目次
検証準備
まずは検証用のRDS MySQLインスタンスをAWS Secrets ManagerのローテーションでLambda関数の管理が必要なくなりました記載の方法でSecrets Managerと同時に作成しました。
操作用のEC2インスタンスにセッションマネージャで接続して、MySQLコマンドでデータベースに接続しました。
データベースユーザーのパスワードはSecrets Managerのコンソールで「シークレットの値を取得する」から取得しました。
|
1 2 |
mysql -h database-1.c3gngubysyz7.us-east-1.rds.amazonaws.com -u admin -p |
ユーザーガイドのとおり、データベースと1人目のユーザーを作りました。
|
1 2 3 4 |
CREATE DATABASE myDB; CREATE USER 'appuser'@'%' IDENTIFIED BY 'dbpassword'; GRANT ALL PRIVILEGES ON myDB . * TO 'appuser'@'%'; |
この時点でユーザーを確認すると次でした。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
select user from mysql.user; +------------------+ | user | +------------------+ | admin | | appuser | | mysql.infoschema | | mysql.session | | mysql.sys | | rdsadmin | +------------------+ 6 rows in set (0.00 sec) |
VPCにはAWS Secrets ManagerとRDSのVPCエンドポイントを作成済です。
今のSecrets ManagerのLambda関数ってRDSのエンドポイントも必要なんですね。
AWS Secrets Managerシークレットの作成
新しいシークレットを作成して、ユーザーは先ほど作ったユーザーとデータベースインスタンスを選択しました。
自動ローテーションを有効にして、「個別の認証情報を使用してこのシークレットをローテーション」でRDSマスターユーザーのシークレットを選択しました。
新規で作成されたLambda関数のセキュリティグループをRDSインスタンスの送信元で許可されているセキュリティグループに変更しました。
[すぐにローテーションを実行させる]をクリックしました。
ローテーションが完了してから(Lambda関数の終了をCloudWatchで確認)「シークレットの値を取得する」から取得してみると、appuser_cloneというユーザーになっていました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
select user from mysql.user; +------------------+ | user | +------------------+ | admin | | appuser | | appuser_clone | | mysql.infoschema | | mysql.session | | mysql.sys | | rdsadmin | +------------------+ 7 rows in set (0.00 sec) |
MySQLデータベースにもappuser_cloneができていました。
もう一度[すぐにローテーションを実行させる]をクリックすると、appuserに変わったことが確認できました。
無事にユーザーを交代しながらローテーションできました。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
AWS WAFをSIEM on Amazon OpenSearch Serviceで可視化
SIEM on Amazon OpenSearch Serviceを構築の環境に …
-
-
AWS CLIを使用せずにCodeCommitへSSHユーザーで接続する
AWS CLIやアクセスキーID、シークレットアクセスキーなどを開発環境にセット …
-
-
Active Directory認証でAWSマネジメントコンソールにSSO
こちらの2つのサイトを参考にすすめました。 Active Directory資産 …
-
-
CloudTrailのログファイルの整合性検証をAWS CLIで実行しました
CloudTrailのログファイルの検証を「有効」にしました。 上記のようなCl …
-
-
ヤマムギ vol.8 (AWS)EC2でLinuxサーバー構築ハンズオン 手順
ヤマムギとは from Mitsuhiro Yamashita 「AWSではじめ …
-
-
Amazon LinuxにAlfresco Community Editionをインストールする
ダウンロード準備 Alfresco公式サイトで、「エンタープライズコンテンツ管理 …
-
-
Amazon ECSサービスでAWS App Meshを使用
AWS App MeshユーザーガイドのAWS App Mesh とAmazon …
-
-
AWS CDKでリージョンをまたいだクロススタックリファレンスはできなかった
例えばこんなコードが実行できるかというと、 [crayon-6af2d334a2 …
-
-
「JAWS-UG朝会 #18」で主にAWSなブログについて発表をしました
ラジオ体操 いつものラジオ体操から。 今日はラーニングセンターから配信の日でした …
-
-
S3バケットポリシーでクロスアカウントのPrincipalについて確認
確認したこと ドキュメントではこちらで確認しました。 AWS JSON ポリシー …


