AWS Builder Labs (セルフペースラボ) の Introduction to AWS Identity and Access Management (IAM) をやってみた

AWS Builder Labs (セルフペースラボ) で提供されている Introduction to AWS Identity and Access Management (IAM) を実際にやってみました。
2023.04.13

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS Builder Labs (セルフペースラボ) とは

AWS Builder Labs (セルフペースラボ) とは、AWS Skill Builder 内で提供されている AWS の学習コンテンツであり、以下の特徴があります。

  • ハンズオン形式で実践的な学習ができる
  • AWS のラボ環境が提供されるため、コストを気にせずに学習できる
  • オンデマンドで利用可能なため、時間や場所を問わずに学習できる

注意点として、AWS Builder Labs の利用には、個人またはチームのサブスクリプション契約が必要となります。

詳細は公式サイトをご参照ください。

Introduction to AWS Identity and Access Management (IAM) とは

Introduction to AWS Identity and Access Management (IAM) とは、AWS Builder Labs (セルフペースラボ) で提供されているコースの1つです。

コースの概要は公式サイトより引用いたします。

ラボの概要

AWS Identity and Access Management (IAM) は、アマゾン ウェブ サービス (AWS) のお客様が AWS でユーザーおよびユーザー権限を管理するためのウェブサービスです。IAM を使用すると、ユーザーセキュリティ認証情報(アクセスキーなど)、アクセス権限(ユーザーがアクセスできる AWS リソースを制御)を集中管理できます。

取り上げるトピック

このラボでは、以下のデモンストレーションを行います。

  • 事前作成された IAM ユーザーとグループを調査する
  • 事前作成されたグループに適用された IAM ポリシーを確認する
  • 現実のシナリオに従い、特定の機能が有効にされているグループにユーザーを追加する
  • IAM サインイン URL を特定し、使用する
  • サービスへのアクセスに対するポリシーの効果を実際に確かめる

本コースの所要時間は約45分です。
日本語版のコースも提供されています、今回は日本語版コースをやってみました。

コースの流れは以下です。

  1. ユーザーおよびグループを調査する
  2. ユーザーをグループに追加する
  3. ユーザーのサインインおよびテスト

やってみた

1. ユーザーおよびグループを調査する

ラボにて IAM ユーザー、グループを用意してくれていますので、ここでは順番に確認していきます。

IAM ユーザー

以下の IAM ユーザーが用意されています。
いずれのユーザーもコンソールのパスワードが割り当てられており、マネジメントコンソールよりログイン可能です。

IAM ユーザー名 所属 IAM グループ アタッチ済み IAM ポリシー
user-1 なし なし
user-2 なし なし
user-3 なし なし

IAM グループ

以下の IAM グループが用意されています。

IAM グループ名 所属 IAM ユーザー アタッチ済み IAM ポリシー
EC2-Admin なし EC2-Admin-Policy (インラインポリシー)
EC2-Support なし AmazonEC2ReadOnlyAccess (マネージドポリシー)
S3-Support なし AmazonS3ReadOnlyAccess (マネージドポリシー)
EC2-Admin-Policy (インラインポリシー)

IAM グループ EC2-Admin にはインラインポリシー EC2-Admin-Policy がアタッチされています。
ポリシー内容は以下です。

EC2-Admin-Policy

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:Describe*",
                "ec2:StartInstances",
                "ec2:StopInstances",
                "cloudwatch:DescribeAlarms"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
    ]
}

2. ユーザーをグループに追加する

ラボの指示に従い、IAM ユーザーを IAM グループに追加していきます。
最終的に以下の設定となるように順次追加していきましょう。

IAM ユーザー名 所属 IAM グループ アタッチ済み IAM ポリシー 説明
user-1 S3-Support AmazonS3ReadOnlyAccess (マネージドポリシー) Amazon S3 への読み取り専用アクセス可能ユーザー
user-2 EC2-Support AmazonEC2ReadOnlyAccess (マネージドポリシー) Amazon EC2 への読み取り専用アクセス可能ユーザー
user-3 EC2-Admin EC2-Admin-Policy (インラインポリシー) Amazon EC2 インスタンスの表示、開始、停止可能ユーザー

3. ユーザーのサインインおよびテスト

ここでは各ユーザーでマネジメントコンソールにログインしてテストしていきます。
マネジメントコンソールのサインイン URL は IAM ダッシュボード画面より取得します。

ブラウザのプライベートブラウジング用のウィンドウより、サインイン URL にアクセスしてきます。
ラボ内にて Mozilla Firefox、Google Chrome、Microsoft Edge、Microsoft Internet Explorer のプライベートブラウジングの方法を紹介してくれています。
私は Google Chrome を利用して実施しました。

user-1 のテスト

ラボにて用意された S3 バケットにアクセスしてみます。
S3 の読み取り権限が付与されているため、アクセス可能であることを確認できました。

EC2 インスタンスの一覧画面へアクセスしてみます。
EC2 の読み取り権限は付与されていないため、インスタンスが一切表示されないことを確認できました。

user-2 のテスト

EC2 インスタンスの一覧画面へアクセスしてみます。
EC2 の読み取り権限が付与されているため、インスタンスが表示されることを確認できました。

EC2 インスタンスを停止してみるとエラーが発生しました。
EC2 の停止権限は付与されていないため、エラーが発生することが確認できました。

S3 バケットの一覧画面へアクセスしてみます。
S3 の読み取り権限は付与されていないため、バケットが一切表示されないことを確認できました。

user-3 のテスト

EC2 インスタンスの一覧画面へアクセスしてみます。
EC2 の読み取り権限が付与されているため、インスタンスが表示されることを確認できました。
EC2 インスタンスを停止してみると、EC2 の停止権限が付与されているため、正しく停止できることを確認できました。

まとめ

実際に本コースをやってみて、初めて IAM を触るという方には勉強になるコンテンツではないかと思いました。

ラボ側で詳細に手順を提示してくれるため、特につまずくことなく誰でもコースを完走することができるかと思います。
提示される手順と、実際のマネジメントコンソール画面にほとんど差異がないのが本当に良いです。

今後も AWS Builder Labs のコンテンツを試してはブログ化していきたいと考えています。

最後までお読みいただき、ありがとうございました!