- 1. 概要
- 2. ユーザ作成
- 3. ポリシーを追加
- 4. アクセスキー作成
- 5. IAM ロール
- 6. 参考サイト
1. 概要
「AWS マネジメントコンソール」へログイン権限がなく、「EC2」インスタンスへのログイン権限のみをもつユーザを作成します。
2. ユーザ作成
「IAM」で「ユーザ作成」
「ユーザ名」を入力して「次へ」
「ポリシーを直接アタッチする」へチェックをいれて。
最下部右「次へ」
最下部右「ユーザの作成」
3. ポリシーを追加
「IAM ユーザ」へ戻りますので、作成したユーザを「編集」
「許可を追加」「インラインポリシーを作成」
「JSON」を選択して。
「ポリシーエディタ」内に下記を記述します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ssm:StartSession",
"Resource": [
"arn:aws:ec2:ap-northeast-1:アカウントID:instance/i-xxxxxxxx",
"arn:aws:ssm:ap-northeast-1::document/AWS-StartPortForwardingSession"
]
},
{
"Effect": "Allow",
"Action": ["ssm:TerminateSession", "ssm:ResumeSession"],
"Resource": "arn:aws:ssm:*:*:session/${aws:username}-*"
},
{
"Effect": "Allow",
"Action": ["ssm:DescribeInstanceInformation", "ssm:DescribeSessions", "ec2:DescribeInstances"],
"Resource": "*"
}
]
}
「アカウントID」の箇所には、作業している「AWS」のアカウントをクリックすると出てくる「アカウント ID」を記述します。
「i-xxxxxxxx」の箇所には、ログインを許可する「EC2」インスタンスの「ID」を記述します。
複数の「EC2」インスタンスへ許可する場合は、同じ行を複数書くか、「*」にすれば、全「EC2」インスタンスへログインできることになります。
「ポリシー名」を入力して、最下部右「ポリシーを作成」
これで、ポリシーが追加されます。
4. アクセスキー作成
再度、ユーザを選択して。
右上「アクセスキーを作成」
「コマンドラインインタフェース(CLI)」をチェック。
下部にある「上記のレコメンデーションを理解し、アクセスキーを作成します。」をチェックして、右下「作成」
「アクセスキーを作成」
「.csv」ファイルをダウンロードして、「完了」
5. IAM ロール
「IAM」の「ロール」で「ロールを作成」
「信頼されたエンティティタイプ」で「AWS」を選択。
「ユースケース」で「EC2」を選択して、「次へ」
検索で「AmazonSSMManagedInstanceCore」を検索し、チェックをいれて、右下「次へ」
「ロール名」を入力して、右下「ロールを作成」
「EC2」でログイン対象のインスタンスを選択して。
「アクション」「セキュリティ」「IAM ロールを変更」
「IAM ロール」で作成したロールを選択して「IAM ロールの更新」
反映するには、数分〜30分ほどの時間がかかるようですが、すばやく反映させるには、「EC2」のインスタンスへログインして。
sudo snap restart amazon-ssm-agent
6. 参考サイト
本ページは、「Claude」上等兵を参考にさせていただきました。
|