📝

IAM Identity Center初期設定備忘録

に公開

IAM Identity Centerとは、AWSアカウントやAWSアプリケーションへのアクセスを一元管理するためのサービスです。
複数のAWSアカウントに対するユーザー・グループ単位のアクセス管理や、許可セットによる権限管理ができます。
また、Active Directoryや外部IDプロバイダーなど、既存の認証基盤と連携することもできます。

この記事では、IAMユーザー中心の運用からIAM Identity Centerを使った運用に移行する際のシンプルな初期設定を、ハンズオン形式でまとめます。

ユーザー、グループ、許可セットを作成し、AWSアクセスポータルからAWSコンソールにログインするまでの手順を扱います。

前提条件

以下については書いておりませんので適宜調べてみてください。

  • AWSアカウントは登録済み
  • IAMは使用したことがある

この記事でやらないこと

  • MFAアプリの設定
  • CLIからの実行
  • ディレクトリサービスとの連携
  • Organizations、Control Towerとの絡み

IAMとは違うものなの?

IAMとは別物になります。IAM Identity Centerのユーザーを作成してもIAMのコンソールからは確認できません。

IAM Identity Centerでは、ユーザーまたはグループに対して、AWSアカウントと許可セットを組み合わせて割り当てることでアクセス権を管理します。

IAMと比べて何が嬉しいの?

  • 有効期限付きの一時認証情報を利用できる
    ∟認証情報が漏えいした場合でも、長期アクセスキーより影響範囲を抑えやすい
  • ローカルにアクセスキーを置かずにAWS CLIを実行できる。
  • セッションが一定時間で終了する
  • 複数のAWSアカウントへのアクセス権限を一元管理できる
  • ユーザーやグループ単位で権限を管理しやすい
  • Active Directoryや外部IDプロバイダーなど、既存の認証基盤と連携できる

アクセスキー、シークレットアクセスキーの違い

AWSアクセスキー、シークレットアクセスキーは漏えいするとAWSのリソースにアクセスできるようになり、莫大な請求被害につながるパスワードのようなもの(有効、無効の操作ができるIDパスワードのようなイメージ)です。

IAMユーザーのキーはユーザーが生成操作をして、長期使用可能な状態で生成されます。

一方、IAM Identity Centerでは一時認証情報(この中にキーも含まれる)を利用します。許可セットのAWSアカウントセッション期間はデフォルトで1時間です。必要に応じて、最小1時間から最大12時間まで設定できます。
キーは許可セットというものに紐づいておりデフォルトでは1時間で再生成されます。

IAM Identity Center設定手順

まずは手順概要をざっくりと整理します。

  1. IAM Identity Centerを有効にする。
  2. グループを作成
  3. ユーザーを作成しグループに追加
  4. 許可セットを作成
  5. グループにAWSアカウントを割り当てる

1.IAM Identity Centerを有効にする

  1. IAMのコンソール左メニューから「IAM Identity Center」をクリックします。
  2. 画面上部に表示されるIAM Identity Centerセクションの「有効にするボタン」をクリックします。
  3. 次の画面でも「有効にするボタン」をクリックします。
  4. 次の画面はIAM Identity Centerのコンソールに移動するのでひとまずIAM Identity Centerが有効になりました。

2.グループを作成

グループは権限とユーザーを管理するものです。

  1. IAM Identity Centerのコンソール左メニューの「グループ」をクリックします。
  2. 「グループを作成」をクリックします。
  3. 「グループ名」「説明」を入力して「グループを作成」をクリックします。(ユーザーはこの後作成するので無視して大丈夫です。)

3.ユーザーを作成しグループに追加

  1. 左メニューから「ユーザー」をクリックします。
  2. 「ユーザーを追加ボタン」をクリックします。
  3. 情報を入力して「次へ」をクリックします。
  • ユーザー名 (adminやtestなどシンプルすぎるものは避けましょう)
  • パスワード:パスワードの設定手順が記載された E メールをこのユーザーに送信します。にチェックを入れます。
  • Eメールアドレス
  • 表示名
  1. 次の画面で作成したグループにチェックを入れて「次へ」をクリックします。
  2. 次の画面でプライマリ情報を確認して「ユーザーを追加」をクリックします。
  3. 登録したEメールアドレスに確認のメールが届きますのでその中の「Accept invitation」をクリックします。
  4. 表示された画面で任意の「パスワード」を設定するとユーザーが作成されます。
  5. 初回ログイン時にはMFAデバイスの登録画面が表示されますので設定しておきましょう。「認証アプリ」を選択して「次へ」をクリックします。
  6. 「Show QR code」をクリックしてスマホの認証アプリで読み込みます。するとスマホの認証アプリ側で今回設定したユーザー名が表示され、認証コードも表示されます。そのコードを「認証コード」欄に入力して「MFAを割り当て」をクリックします。
    ※スマホに認証アプリがインストールされていない方はダウンロードします。ここは本記事の範囲外になりますので割愛しますが「互換性のあるアプリのリストを参照」というリンクから公式ドキュメントに飛べるので確認してみてください。
  7. 次の画面で「完了」をクリックします。アクセスポータルの画面に遷移できたら成功です。
    ※この時点ではまだAWSアカウントが割り当てられていないので何も表示されません。

4.許可セットを作成

許可セットは、AWSアカウントに対してどのような権限でアクセスできるかを定義するものです。
ユーザーまたはグループに対して、AWSアカウントと許可セットを組み合わせて割り当てます。

  1. IAM Identity Centerのコンソール左メニューの「許可セット」をクリックします。
  2. 「許可セットを作成」をクリックします。
  3. 「事前定義された許可セット」を選択し「PowerUserAccess」にチェックを入れて「次へ」をクリックします。
  4. 「許可セット名」「説明」を入力して「次へ」をクリックします。
  5. 設定内容を確認して「作成」をクリックします。

5.グループにAWSアカウントを割り当てる

  1. IAM Identity Centerのコンソール左メニューの「グループ」をクリックします。
  2. 「AWSアカウント」タブをクリックして「アカウントを割り当てる」をクリックします。
  3. 次の画面でAWS OrganizationセクションのAWSアカウント名にチェックを入れ、許可セットのPowerUserAccessにチェックを入れて「割り当てる」をクリックします。

ここまで設定できたらIAM Identity Centerのコンソールの左メニュー「ダッシュボード」の(AWS access portal URL)に表示されているURLでアクセスポータルの画面にアクセスすると

  • AWSアカウント
  • 許可セット

が表示されていると思います。
ここからログインできれば設定は完了です。

後書き

IAM Identity Centerを設定し、人間が利用するIAMユーザーの長期アクセスキーを削除、または利用しない運用に移行することで、アクセスキー漏えいによる不正利用リスクを低減できます。
あわせて、MFAの設定、必要最小限の許可セット、ルートユーザーや既存IAMロールの管理も見直すことが重要なのでこちらも実施できると🙆ですね。
IAM Identity Centerの導入時に、この記事がお役に立てば幸いです。

Discussion