こんにちは。クラウドインテグレーション事業部 後藤です。AWS マネジメントコンソールへのログインについて、IAM Identity Center (AWS Single Sign-On の後継サービス) を設定する機会があったのでまとめます。(※AWS Organizations にあるすべてのアカウントに対する一元的なアクセスとユーザーアクセス許可を簡単に管理できます。)
SSO ユーザー登録
SSO ユーザーの作成は Organizations の管理アカウントで行います。
AWS マネジメントコンソールで「SSO」を検索すると表示される IAM Identity Center (AWS Single Sign-On の後継サービス) を選びます。
左ペインのユーザーを選んで表示される画面で「ユーザーを追加」を選択します。登録画面では、プライマリ情報を全て入力しておけば SSO ユーザー登録ができます。
登録が完了すると、設定したメールアドレス向けに招待メールが送付されるので受信したメールからログイン設定を行います。
SSO ユーザーログイン設定
受信したメールを確認して、「Accept invitation」からログイン設定を行なっていきます。
指定されたフォーマットに従い、パスワードを設定します。
パスワードを設定すると次に MFA デバイスの登録を促されます。認証アプリケーションとしては、Authy, Duo Mobile, LastPass Authennticator, Microsoft Authneticator, Google Authenticator がテスト済みとされています。 認証システムアプリケーション
QR コードもしくはシークレットキーから登録します。
MFA デバイスを登録後、ログインします。(ログイン URL は受信したメールに記述されています。) ホーム画面から「MFA devices」を選ぶと追加の MFA デバイスが登録できます。1 ユーザーあたり 2 件の MFA デバイスを登録できます。3 件目を登録しようとすると怒られます。
MFA 認証ですが、最初にログインした際には入力したものの 2 回目のログイン時には MFA 認証を聞かれませんでした。MFA デバイスの登録後に表示されていた画面のメッセージには「追加の確認を求められたときに使用」とあるので、MFA 認証の出番はしばらく無さそうです。
権限追加
ログイン設定ができたのでログイン権限を付与します。AWS アカウントに SSO ユーザーを割り当てるにはアカウント名をクリックして、遷移先の画面でユーザーまたはグループを割り当てします。
まずはユーザーを選びます。
次にどんな権限を与えるのか指定します。ここで指定した許可セットの数だけ権限の大小を細かく設定できます。許可セットはカスタマイズできますが今回は事前定義された許可セットを利用します。これが IAM でいう IAM ロールの機能にあたります。
プレビュー画面にて変更を反映させ、改めて SSO ログインするとホーム画面に表示される権限が 2 件表示されました。利用したいシチュエーションに沿って権限を使い分けます。
しばらく使ってみて
実のところ IAM Identity Center を適用しているのは社内の検証アカウントだけである関係上、自身が普段利用するアカウントは一個だけなので「簡単にアカウントを切り替えられる」という恩恵を受けられていません。それでも楽になったところとして、普段使いのブラウザを認証アプリとして認識してくれるおかげで MFA 認証を省くことができる、という点があります。
一方で、セッション時間がデフォルト設定の 1 時間になっていて他事をしている間にセッションが切れてしまっているというのが多少不便です。セキュリティのベストプラクティスとして、不必要に長いセッション時間を設定しない、というのがあるのでここは我慢というか MFA 認証を省くことができている部分とトレードオフなのかな、と思いました。セッション時間の変更も可能ではありますが、許可セット毎に設定することになるので慎重な設定が必要です。セッション期間の設定
皆さんにも是非、IAM Identity Center を設定して SSO ログインを試してみて欲しいとは思いますが、普段使っている AWS アカウントが Organizations に所属していたとしても Organizations の管理アカウントにログインすることができる、というシチュエーションがなかなか無いかもしれません。そんな時は、一時的に Organizations を離れて単一アカウントで Organizations を作成しちゃいましょう。IAM Identity Center をいじり倒して請求日がきたら単一アカウントの Organizations の設定を削除して元の Organizations に戻るとか、または新しい AWS アカウントを作成して試してみる、というゴリ押し戦法はいかがでしょうか。