AWSのIAMロールの切り替え方法
今回は、IAM ロールを使って、ロールの切り替え(以下、スイッチ)の設定を紹介します。
ロールのスイッチでは、以下の2つができます。
① 同一アカウント内でのロールのスイッチ
② 別のアカウントのロールにスイッチ
ここでお伝えしたいのは、同一アカウント内でのロールのスイッチだけでなく、別のアカウントのロールにもスイッチことができるということです。
別アカウントへのロールのスイッチは、社内でAWSの利用が多くなった時にシステムを集中的に管理するのに便利になってきます。
IAMのロールとスイッチのことが分からない方は、以下の記事でIAMユーザをたくさん作って、システム制御を行うより、ロールのスイッチの方が煩雑な管理にならず、便利であることを紹介しています。
是非ご一読ください。
IAM ロールの作成
それでは解説していきます。
今回は、同一アカウント内におけるEC2へのフルアクセス権限を持つロール「EC2Role」とS3へのフルアクセス権限を持つ「S3Role」のスイッチについて解説します。
IAMダッシュボードの「ロール」を押すと、以下の画面が出ますので、「ロールの作成」を押します。
以下の画面が出るので、「別のAWSアカウント」を選択し、12桁の数字のAWSアカウントを入力します。
12桁の数字のAWSアカウントを入力したら、「次のステップ:アクセス権限」を押します。
この段階で、ロールに付与するポリシーを決定します。
EC2のフルアクセス権限を探すためにポリシーのフィルタの箇所で ”EC2” と入力すると、以下のようにEC2のフルアクセス権限を持つ「AmazonEC2containerRegistryFullAccess」が表示されるので、チェックします。
チェックしたら、「次のステップ:タグ」を押します。
以下の画面が出ます。
タグはリソースの管理を便利にする機能ですが、今回は飛ばします。
「次のステップ:確認」を押します。
以下の画面が出るので、ロール名とロールの説明を入力します。
・ロール名「EC2Role」
・ロールの説明には「EC2FullAccess」
と入力しました。(英数字の入力のみになっています。)
入力が終えたら、「ロールの作成」を押します。
以下の画面に戻り、「EC2Role」が作成されていることが確認できます。
次に同様の手順でS3のフルアクセス権限を持つロールを作成するので、引き続き「ロールの作成」を押します。
以下の画面でフィルターに「S3」と入力し、「AmazonS3FullAccess」を表示させたら、チェックします。
チェックしたら、「次のステップ:タグ」を押します。
(タグの入力画面を省略します。)
タグの入力画面の次に以下の画面が出ますので、ロール名とロールの説明を入力します。
ロール名「S3Role」
ロールの説明「S3FullAccess」
入力を終えたら、「ロールの作成」を押します。
以下のように「EC2Role」と「S3Role」が作成されます。
それでは次に「EC2Role」と「S3Role」をスイッチするためのポリシーを作成します。
IAM ロールのスイッチポリシーの作成と適用
IAMダッシュボードの「ポリシー」を押し、「ポリシーの作成」を押します。
ロールのスイッチポリシーの記述は以下になります。
ポリシーの記述を終えたら、「ポリシーの確認」を押します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": [
"arn:aws:iam::12桁の数字のAWSアカウント:role/EC2Role",
"arn:aws:iam::12桁の数字のAWSアカウント:role/S3Role"
]
}
]
}
スイッチ先の12桁のアカウントとロール名を入力します。
今回は、同一アカウント内でロールを作成しているので、現在ログインしているAWSアカウントの12桁の数字を入力します。
以下の画面が出るので、ポリシーの名前とポリシーの説明を入力します。
ポリシーの名前「RoleSwitch-test1」
ポリシーの説明「EC2FullAccess, S3FullAccess」
入力を終えたら、「ポリシーの作成」を押します。l
スイッチポリシーをIAMユーザに適用する
作成したスイッチポリシーをIAMユーザに適用します。
ここではIAMユーザ「iam-test2」に適用します。
IAMダッシュボードのユーザを押し、「iam-test2」を押します。
以下の画面が出るので、「既存のポリシーを直接アタッチ」を選択し、フィルターには「RoleSwitch」と入力し、先ほど作成した「RoleSwitch-test1」を表示させます。
「RoleSwitch-test1」にチェックを入れ、「次のステップ:確認」を押します。
再び「iam-test2」の画面に戻ります。
アクセス権限に「Roleswtich-test1」が付与されていることが確認できます。
IAM ロールの切り替え(スイッチ)をしてみる
それではスイッチを検証します。
「iam-test2」でログインしなおし、アカウント名の箇所をクリックすると以下の画面が出ます。
スイッチロールという文字が見えますので、「スイッチロール」を押します。
以下の画面が出ます。
アカウントには、12桁の数字のAWSアカウントを入力します。
ロールには、先ほど作成したロール名を入力します。
まずは「EC2Role」に切り替わることを確認します。
入力を終えたら、「ロールの切り替え」を押します。
ロールのスイッチができると、アカウント名の箇所に以下の画像のようになります。
「EC2Role@12桁のAWSアカウント」が表示されます。
今度は「S3Role」にスイッチできるか試します。
再びアカウントを押し、「スイッチロール」を押します。
先ほどと同様に「アカウント」と「ロール」を入力します。
今度はロールの箇所は「S3Role」です。
入力を終えたら、「ロールの切り替え」を押します。
アカウントを確認すると今度は「S3Role@12桁の数字のAWSアカウント」が表示されます。
以上で、同一アカウント内のロールのスイッチができることが確認できました。
IAM ロールによるアカウント運用方法・方針
ロールのスイッチの設定について紹介しました。
同一アカウント内でもロールのスイッチの設定を入れておけば、作業を可能な範囲を限定させられるので、誤操作が軽減できます。(万が一に備えて)
ロールのスイッチで、特に強力な運用を可能にするのが、別のアカウントへのロールのスイッチが可能な点です。
集中管理IAMとシステム単位IAMによるアカウント管理
例えば、たくさんのAWSアカウントでのシステム開発や適正な利用のためにマネジメントを行うことを想定すると、以下のように各システムの集中管理を行うIAMとシステム作業を行うIAMの2つに分けた運用方法・方針が可能になります。
担当別や部署別でAWSアカウントを発行して、システム開発するような場合は、集中管理アカウントを作って、コスト管理やアカウント管理などの適正な運用が効果的です。
まとめ
・同一アカウント内でロールのスイッチが可能
・別のアカウントへもロールのスイッチが可能
・ロールのスイッチを活用して、アカウント管理などの適正な運用が効果的
オススメ参考書籍
AWSを初めて学ぶ人、操作する人は以下の書籍が、とっかかり(最初の第一歩)としてお勧めです。
① コンソール操作画面付きで、基礎知識と合わせて、丁寧に設定方法を解説
② AWSシステムを構築する上で基礎となる概念「VPC」、「AZ」、「パブリック/プライベートサブネット」、「ネットワークACL」、「セキュリティグループ」等の解説もある
③ パターン別の設計として、Wordpress(Webサーバ)、MySQL(DBサーバ)を使ったシステム構築等も解説している
初心者には非常に役に立つ解説本となっていますので、一番お勧めします。
以下の書籍もAWSシステムの基礎概念や様々なサービスを紹介しています。
資格取得に向けた問題も掲載されています。
AWSのことはあまり知らない & 資格も取りたいって人向けです
コメント