こんにちは、ひろかずです
俺でもできたアドベントカレンダー2018に参加です。
アドベントカレンダー初体験です。
AWSコンソールにID/PW/2FAで入るのってそろそろしんどくなってきたので、OktaでSSOすることにしました。
需要はあると思うので、一筆書きます。
前提条件
- Oktaのライセンスが購入済みであること
- Oktaと認証基盤は接続済みであること
参考ドキュメント
Okta公式 - How to Configure SAML 2.0 for Amazon Web Service
工程
- Oktaでメタデータを取得
- AWSアカウントにOktaをIdPとして登録
- SSOに利用するIAMロールを作成
- 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を設定していることが前提
今日はここまでです。
お疲れ様でした。