[AWS]アクセス権限を管理する方法


2020年2月15日現在の内容です。

構成イメージ

用語説明

IAM(Identity and Access Management)

AWSサービスを利用するユーザー権限を管理するサービス

概要

  • AWSサービスをセキュアに操作するために、認証・認可の仕組みを提供する
  • 各AWSサービスに対して別々のアクセス権限をユーザー毎に付与できる
  • IAMの利用は無料

  • ポリシー
    • アクセス許可の定義
  • ユーザー
    • 個々のアカウントのユーザー
  • グループ
    • IAMユーザーの集合(複数のユーザーにアクセス許可を付与する作業を簡素化できる)
  • ロール
    • 一時的にアクセスを許可したアカウントを発行(EC2やLambdaなどのAWSリソースに権限を付与するために使用)

IAMのベストプラクティス

  • 個々人にIAMユーザーを作成する
  • ユーザーはグループに所属させてグループに権限を割り当てる
  • 権限は最小限にする
  • EC2インスタンスから実行するアプリケーションはロールを使用する
  • 定期的に不要な認証情報を削除する

IAMポリシーの作成

AWSコンソールからIAMを検索し、クリック

サイドバーからポリシーをクリック

「ポリシーの作成」をクリック

以下の通り設定

「さらにアクセス許可を追加する」をクリック
同様に以下の通り設定し、「ポリシーの確認」をクリック

名前、説明に任意名を入力
設定内容を確認し、「ポリシーの作成」をクリック

ポリシーが作成されていることを確認

同様に、「ポリシーの作成」をクリック
以下の通り設定し、「ポリシーの確認」をクリック

名前、説明に任意名を入力
設定内容を確認し、「ポリシーの作成」をクリック

ポリシーが作成されていることを確認

IAMグループの作成

サイドバーからグループをクリック

「新しいグループの作成」をクリック

任意のグループ名を入力し、「次のステップ」をクリック

作成したDeveloperPolicyを選択し、「次のステップ」をクリック

設定内容を確認し、「グループの作成」をクリック

グループが作成されていることを確認

同様に、「新しいグループの作成」をクリック

任意のグループ名を入力し、「次のステップ」をクリック

作成したDirectorPolicyを選択し、「次のステップ」をクリック

設定内容を確認し、「グループの作成」をクリック

グループが作成されていることを確認

IAMユーザーの作成

サイドバーからユーザーをクリック

「ユーザーを追加」をクリック

以下の通り設定し、「次のステップ」をクリック
ユーザー名:任意名
アクセスの種類:「AWS マネジメントコンソールへのアクセス」

ユーザーをグループに追加 → 作成したDeveloperグループをチェックし、「次のステップ」をクリック

タグは設定せず、「次のステップ」をクリック

設定内容を確認し、「ユーザーの作成」をクリック

Eメールの送信及びCSVのダウンロードを行っておく

ユーザーが作成されていることを確認

同様に、「ユーザーを追加」をクリック

以下の通り設定し、「次のステップ」をクリック
ユーザー名:任意名
アクセスの種類:「AWS マネジメントコンソールへのアクセス」

ユーザーをグループに追加 → 作成したDirectorグループをチェックし、「次のステップ」をクリック

タグは設定せず、「次のステップ」をクリック

設定内容を確認し、「ユーザーの作成」をクリック

Eメールの送信及びCSVのダウンロードを行っておく

ユーザーが作成されていることを確認

IAMロールの作成

サイドバーからロールをクリック

「ロールの作成」をクリック

AWSサービス → EC2をチェックし、「次のステップ」をクリック

AmazonS3FullAccessをチェックし、「次のステップ」をクリック

タグは設定せず、「次のステップ」をクリック

任意のロール名を入力し、「ロールの作成」をクリック

ロールが作成されていることを確認

IAMロールのアタッチ

EC2に移動
インスタンス → アクション → インスタンスの設定 → IAMロールの割り当て/置換をクリック

作成したロールを選択し、「適用」をクリック

ロールが適用されていることを確認

EC2インスタンスにログイン
ssh -i test-ssh-key.pem [email protected]

S3にアクセスできることを確認

[ec2-user@ip-10-0-10-10 ~]$ aws s3 ls
2020-02-02 08:45:43 test-aws-wp

参考

AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得