はい、3ぃさんです。
大船にある「運ど運屋」に行ってきました
2年ぶりくらいに行ったんですが
鍋焼きうどん 美味しかったです
店で打ってるのかな。うどんがもちもちで
醤油ベースの東京の味
今まであんまり東京の味は好みではなかったけど、ここは美味しかった
学んだこと
今日はロールを作成するよ
ロールはAWSリソース間の連携をさせるためのポリシーだったね
AWSリソースからAWSリソースにアクセスさせるためには
連携させたいAWSリソースにアクセス権をあげなきゃいけないわけだ
そのために必要なのがロールだよ
ロールは↓の記事で図解もしてるから是非見てね
ロールを作成するには、以下のことをやってくよ
- ロールを設計
- ロール向けのポリシーを作成
- ロールを作成しポリシー適用する
ロールを設計
AWSリソースとAWSリソースの連携箇所に必要ということは
AWSリソースとAWSリソースの連携させるところをまず設計する必要があるね
IAMから勉強してる3ぃさんからすると
何を連携させればいいんだ。。。ってなるけど。。
普通はやりたいサービスを実現させるためのサービスは何か考えて
AWSのサービスで何が必要か選定して、設計して
その後にロールを考えることになる
ひとまず、今回の設計ではEC2っていうサービスから
S3ってサービスにデータを連携させるって想定でいく

EC2とS3を使うけど、これらの学習はまた別のタイミングでするので
説明は割愛して
まず、EC2でインスタンスをたてる
でたてたものがこちら↓

「accesS3」というインスタンス
ロール向けのポリシーを作成
先ほどたてたインスタンスに使う S3にアクセスするためのポリシーを作成する
IAMのポリシー一覧の画面から

「ポリシーの作成」を押下

アクセス許可を指定の画面で
「S3」と検索し、選択する

「すべてのS3アクション」にチェックを入れて
下へスクロール

リソースのラジオボタンも「すべて」にチェックをいれて
「次へ」を押下

ポリシー名と説明に記載を追加して
許可したサービスが許可されていることを確認し

「ポリシーの作成」を押下

一覧に「S3access」という今作成したポリシーが追加されていることを確認する
ロールを作成しポリシー適用する
次にロールを作成する

IAMからロールの画面を選択し
右上の「ロールを作成」を押下する

信頼されたエンティティを選択では、5つの中から選択して設定ができる
AWSのサービス:リソースに対してリソースの許可をする
AWSアカウント:別のAWSアカウントのIDを設定することで別のアカウントに権限の委譲ができる
ウェブアイデンティティ:Facebookなどの認証機能を使ってログインできる
SAML2.0フェデレーション:アクティブディレクトリユーザでログインできるようにできることで、シングルサインオンを実現するサービス
カスタム信頼ポリシー:ユーザで独自にJSON形式のドキュメントでポリシー作成ができる
今回はAWSのサービス同士を連携させたいので
「AWSのサービス」を選択する
次に
ユースケースを選択する

いくつかのサービスの中から
今回はEC2を選択し

「次へ」を押下

許可を追加の画面では
作成した「S3access」ポリシーを検索し、選択する

「次へ」を押下

名前、確認、および作成画面では
ロール名を入力し、
説明も必要に応じて追加する
下へスクロールすると

2つのポリシーの確認の画面がある
ステップ1は信頼ポリシーの画面で
今回EC2がリソースに対してアクセスをするための前提となるポリシーのことで
ロール作成にあたり、EC2を選択したことで自動生成されている
この信頼ポリシーがあって初めて、次の許可ポリシーを設定できるイメージの模様
リソース間のアクセスにはポリシーが2つ必要なんだね

タグ追加は不要なので「ロールを作成」を押下する

無事「S3access」が作成できたのでこれをさっき作ったEC2に適用していく

EC2の画面からインスタンスを選択し
作成した「accesS3」を選択し、「アクション」を押下

「セキュリティ」> 「IAMロールを変更」を押下する

IAMロールを変更の画面へ遷移するので

先ほど作成したIAMロールを選択し

「IAMロールの更新」を押下

無事IAMロールをアタッチできたことを確認!

Linux入って、awsコマンドを打ってエラーがでないことも確認したため
これで設定が反映されていることを確認完了
理解したこと、気付いたこと
IAMロールの勉強は色々準備が小難しくて大変だった
IAMロールはリソース同士の連携に必要なサービスだということが改めてわかった
また、ロールを作成するためには
許可ポリシーと信頼ポリシーの2つが必要ということもわかった
まとめ
リソース間の連携のためにIAMロールを作成するためには
まず、どんなリソース同士の連携が必要なのかの設計が必要だよ
どんなやり取りをするかで許可ポリシーを選択する必要があるよ
どんなリソース同士でどの許可ポリシーを使うかを判断してから
IAMロールを作成する必要があるよ
IAMロールを付与したいアクセスを許可するリソースを選択して
許可ポリシーを付与する作業をするよ
合わせて信頼ポリシーをアクセス許可するリソースに対して作成してくれるよ
ロールを作成したら
許可を付与したいリソースに対して明確にロールを付与する必要があるよ
権限を間違えて付与しないようにね
次はIAMロール権限委譲について学ぶよ
んでわ


コメント