AWSコンソールにOktaでSSOする

こんにちは、ひろかずです

俺でもできたアドベントカレンダー2018に参加です。
アドベントカレンダー初体験です。

AWSコンソールにID/PW/2FAで入るのってそろそろしんどくなってきたので、OktaでSSOすることにしました。
需要はあると思うので、一筆書きます。

前提条件

  • Oktaのライセンスが購入済みであること
  • Oktaと認証基盤は接続済みであること

参考ドキュメント

Okta公式 - How to Configure SAML 2.0 for Amazon Web Service

工程

  1. Oktaでメタデータを取得
  2. AWSアカウントにOktaをIdPとして登録
  3. SSOに利用するIAMロールを作成
  4. OktaでAWSへSSOするアプリケーションの設定

1. Oktaでメタデータを取得

Okta管理者画面の[Applications]タブを選択して、[Add Application]ボタンを選択

検索窓に[Amazon Web]と入力し、サジェストされた[Amazon Web Servicies]の[Add]ボタンを選択

  • 検索窓に [AWS] と入力してサジェストされるものは、この手順では使えません。

Application Labelにアプリケーション名を入力して、[次へ]を選択

  • Oktaメニュー上で表示される名称になる

Sign-on methodを[saml2.0]を選択して、リンク[Identity Provider Metadata]の内容(xmlファイル)をファイルとして保存

この画面は閉じずにそのままにしておく

2. AWSアカウントにOktaをIdPとして登録

AWSコンソールのIAM管理画面を開いて、ナビゲーションペインの[IDプロバイダー]を選択し、[プロバイダの作成]を選択

プロバイダーのタイプとプロバイダ名を以下のように設定し、保存したメタデータ(xmlファイル)をアップロードして、[次のステップ]を選択

[作成]を選択

プロバイダ名をクリックして、ARNを控える。
[メタデータのアップロード]を選択して、ダウンロードしておいたメタデータをアップロードする。

3. SSOに利用するIAMロールを作成

AWSコンソールのIAM管理画面を開いて、ナビゲーションペインの[ロール]選択して、[ロールの作成]を選択

信頼されたエンティティの種類として[SAML 2.0 フェデレーション]を選択して、SAMLプロバイダーをプルダウンから2で作成したものを選択(本手順ではOkta)し、[次のステップ:アクセス権限]を選択

OktaからSSOしてきたユーザーに割当るIAMポリシーを選択して、[次のステップ:タグ]を選択

(必要であれば)タグを設定して、[次のステップ:確認]を選択

  • 画面は省略

ロール名を入力して、[ロールの作成]を選択

作成したロールのARNを控えておく。

4. OktaでAWSへSSOするアプリケーションの設定

[1. Oktaでメタデータを取得]で残しておいた画面にて、引き続き以下設定を行う。
ADVANCED SIGN-ON SETTINGSにて、2と3で控えておいたARNを連結して登録する。

連結したARNは、以下のようになる

  • arn:aws:iam::123456789012:saml-provider/Okta,arn:aws:iam::123456789012:role/okta-sso

Session Durationは、SSOしたセッションの保持期間なので、適宜設定する。

[save] を選択

[Assignments]タブを選択して、[Assign] > [Assign to Pepole]を選択

検索窓でアプリケーションを利用させるユーザー名を入力し、[Assign]を選択

[Save and Go Back]を選択

[Done]を選択すると、以下のように登録される

アプリケーション一覧にこのようなアイコンが追加されるので選択

SSOでログインできました

これでログインする度のパスワード入力が2FAから開放されました

  • Okta側で2FAを設定していることが前提

今日はここまでです。
お疲れ様でした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です