AWS IAM Identity Center(旧:AWS SSO)を使ってみた

皆様お久しぶりです。インフラDivの中嶋です。
最近気温が寒くなってきて天気も崩れやすく、体調を崩してしまうことが増えました。皆様も風邪や某ウィルスに負けないよう暖かい格好でお過ごしください。
さて、今回は新しくなったIAM Identity Center(旧:AWS SSO)について導入のための検証をしたのでそのお話となります。

背景

1年ほど前からSaaSのサインインをAzure経由に統一していくという流れがあり、AWSもその候補として挙がりました。

現在の認証方法

現在はAWSのコンソールから直接IAMユーザにサインインをしてSwitchRoleでの運用をしております。
詳しくは過去に投稿されたこちらの記事をご覧ください

IAM Identity Centerとは?

AWS Single Sign-On(SSO) の後継サービスの位置づけで、AWS及び連携サービスへのSAML連携を一元管理することを支援します。

機能(一部)

AWS Organizations との統合

  • AWS Organizations と連携して組織内のAWSアカウントを管理できる機能
  • マスターアカウントでAWS SSOを有効にすることでAWSコンソールへのSSOアクセスを行うことが出来る

Active Directory との連携

  • AWS Directory Serviceを使用してしてActive Directoryと連携することが出来る
  • Active Directoryの認証を利用してAWSにログインすることが可能になる

今後の認証方法とIAMIdentityCenter切り替え後のポイント

  • AzureADのユーザで認証を行い、認可(権限の付与)はIAM Identity Centerで行います。
  • これにより、SwitchRole用のAWSアカウントに作成された個人のIAMユーザが今後不要となります。
  • 切り替え後は親アカウントのみで設定が可能となり、親アカウントにて各種設定・権限の付与を行います。
  • AzureADのユーザ情報を定期的(デフォルトは40分毎)にプロビジョニングしその情報を利用して設定を行います。

利用イメージ(利用者目線)

1.利用者はAzureADのポータルにアクセスする
アドレス:https://myapps.microsoft.com
※サインインが求められたときはAzureアカウントにてサインインを行う

2.ポータル画面にアクセスした際に一覧表示されているものの中から、「AWS IAM Identity Center」と書かれたAWSアイコンのものをクリック
※あくまで弊社での環境であり、事前にエンタープライズアプリケーションを作成した際の名前になるかと思いますので、違う名前の可能性もございます。

3.Azureアカウントでの認証が求められるので認証を行います。

4.AWS Account>AWSアカウント名 のようにクリックすることでどんどん展開できます。
  「Management console」をクリックすることで任意のアカウントに任意の権限でAWSコンソールにアクセスすることができます。

5.ログインに成功するとAWSサインイン後の画面に遷移します。

サインインしたいアカウントを変更したい場合は、手順4のタブに戻り再度任意のアカウントを選択することでSwitchRoleできます。

利用者はMyAppsからアプリを選択して入りたいAWSアカウントを選択するだけでサインインできるようになります。
今までは拡張機能や設定などを利用者が行ってましたが、Azure ADで管理者が設定を行うため、今までよりも楽かと思います。

困ったこと

AWS SSOというサービスは元々ありましたが、IAM Identity Centerに統合されたのは最近です。
そのため、検索してもほとんど情報・記事が出てこなかったため、AWSの方やサポートに相談しながら問題点や懸念点をつぶしています。
また、セッション時間というだけでもIAM Identity Center内のセッションやAWS SSOコマンドのセッション時間などそれぞれ設定や既定値がばらばらで理解するのに時間がかかりました。
今回はAWS IAM Identity Centerのさわりの部分のご紹介をしましたが、まだまだ課題があり今後も検証や課題点を1つ1つ潰しながら今年中を目途に全社的な導入ができればと考えております。