おっさん社内SEエンジニアの勉強ブログ

勉強記録のブログとなります。

SAA学習-IAM-IAMロールへのポリシー適用

今回のテーマ:IAMロールへのポリシー適用

IAMロールの使用目的

IAMロールを設定する場面は、バッチ連携やAPI連携時などで付与します。
今回はサンプル事例となりますので、ケースとして以下の条件になります。

要件 必要な対処概要
EC2インスタンスバッチ処理でS3にデータ保存 EC2インスタンスにS3へのアクセス権限を設定

また、今回の構成図は以下のようにないrます。

f:id:In-houseSE:20210216073823p:plain

実際の操作

  • EC2を作成は本編と違うため割愛します。

IAMロールの作成

  • IAMのダッシュボード-アクセス管理-ポリシーの順に選択し、ポリシーの作成をクリック

f:id:In-houseSE:20210218070835p:plain

  • 以下の設定を選択したら、次のステップ:タグを選択
設定項目 設定値
サービス S3
アクション 手動のアクション、*(すべてのアクション)
リソース すべてのリソース
リクエスト条件 なし

f:id:In-houseSE:20210218071353p:plain

該当するポリシーのJSONは以下のようになります。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": "*"
        }
    ]
}
  • タグは追加せず、次のステップ:確認をクリック

f:id:In-houseSE:20210218071456p:plain

  • 名称と説明に「S3Allow」と記載したら、ポリシーの作成をクリック

f:id:In-houseSE:20210218071643p:plain

cf)以前作成していたものがの残っている場合、画面のようにエンティティが存在してますと表示されます。
その場合は名称を変更するか削除して作り直すとよいです。

  • ポリシー作成後、アクセス管理-ロール-ロールの作成をクリック

補足:

ロールの適用範囲はAWSサービスへ適用する制限だけではなくGoogleなどのウェブIDADと連携するための統合認証のSAML2.0フェデレーションの許可を有効にする

f:id:In-houseSE:20210218072029p:plain

  • AWSサービスに対してなのでAWSサービスをクリックしEC2をクリックし、次のステップ:アクセス権限をクリック

f:id:In-houseSE:20210218072655p:plain

  • 先程作ったS3Allowというポリシーにチェックを入れ、次のステップ:タグをクリック

f:id:In-houseSE:20210218072748p:plain

  • タグの指定は不要なのでそのまま、次のステップ:確認をクリック

f:id:In-houseSE:20210218072851p:plain

  • ロール名を指定したら、ロールの作成をクリック

f:id:In-houseSE:20210218073000p:plain

ここまでがロール作成なので作成したロールをEC2へ付与します。

IAMロールのEC2への適用

f:id:In-houseSE:20210218073250p:plain

  • IAMロールを適用したいインスタンスを選択したら、アクション-セキュリティ-IAMロールを変更の順に変更します。

f:id:In-houseSE:20210218073448p:plain

  • 先程作ったIAMロールを選択し保存をクリックします。

f:id:In-houseSE:20210218073517p:plain

  • ここからが適用後の確認

f:id:In-houseSE:20210218073836p:plain

  • インスタンスへログイン出来たら以下コマンドでS3にアクセスできるか確認

実行コマンド:

aws s3 ls

実際の結果:

f:id:In-houseSE:20210218074353p:plain

今回のテーマは以上です。