【3ぃさんの】IAM(AWS学習ログ#7)

AWS

はい、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ロール権限委譲について学ぶよ

んでわ

コメント

タイトルとURLをコピーしました