Blog article

Blog article

YubiOn Portal SSOを使用してAWSへのSSOを試してみた

2022年3月16日に弊社サービス「YubiOn Portal」にシングルサインオン(SSO)の機能が追加されました。私自身はよくAWSを使用するため、今回はYubiOn PortalのSSO機能を利用してAWSにシングルサインオンする手順をご紹介しようと思います。


【前提条件】

・AWSのアカウントを持っており、管理者操作ができること。

・Yubico OTP機能が付いたYubiKeyを持っていること。

YubiOn Portalに登録し、操作者にYubiKeyを紐付けておくこと。

SSOの初期登録が済んでいること。


YubiOn Portalの登録やSSO機能の利用は無料で開始することができるので、お気軽に登録してみてください。


【SSOを使用するまでの流れ】

ざっくり流れを説明すると、YubiOn Portal (IdP)とAWS (SP)との間でメタデータ等のやり取りで信頼関係を構築し、IdP側からSPへシングルサインオンする流れとなります。


1. YubiOn Portal (IdP)のメタデータ準備

App (AWS)の作成とメタデータのダウンロード


2. AWS側の設定

プロバイダ設定 (IdPメタデータの取り込み )、ロール設定、AWS (SP)メタデータダウンロード


3. YubiOn Portal側の設定

AWS側メタデータの取り込み、AWSのロールとプロバイダARNの設定、セッション名の設定、アクセス可能なメンバーを設定


4. YubiOn Portal (IdP)からSSOを試す



【SSO設定手順】


1. YubiOn Portalのメタデータ準備

YubiOn Portalにログインし、サイドバーから「SSO App設定」にアクセスします。


「Appを選択して追加」ボタンをクリックします。


アプリケーション登録モーダルで「AWS Management Console」をクリックし、登録を行います。


登録が完了するとApp一覧に「AWS Management Console」が表示されます。

続いて「AWS Management Console」をクリックします。


AWS側のSSO設定で使用するYubiOn Portalのメタデータを「メタデータダウンロード」をクリックしてダウンロードします。


YubiOn Portal側のメタデータは次の「AWSの設定」に使用するため、任意の場所に保存しておきます。


2. AWS側の設定

シングルサインオンを利用するために、IDプロバイダの設定とロールの設定を行います。まずはYubiOn Portalのプロバイダを設定するため、AWSの管理コンソールにアクセスします。


画面上部の検索ボックスに「IAM」と入力し、サービス一覧から「IAM」を選択します。


画面左側の「IDプロバイダ」をクリックします。


「プロバイダを追加」ボタンをクリックします。


プロバイダの設定で下記を設定します。

  1. プロバイダのタイプ: SAMLを選択します。

  2. プロバイダ名: わかりやすい名前をつけます (例では、YubiOnPortal)

  3. メタデータドキュメント: YubiOn Portalからダウンロードしたメタデータをアップロードします。


最後に「プロバイダを追加」ボタンからプロバイダを追加します。


追加したプロバイダをクリックします。(ここではYubiOnPortal)


プロバイダのARN情報をコピーし、テキストエディタに貼り付けておきます。

※後のYubiOn Portal側の設定で使用します。


次に、AWSにログインするためのロールを設定します。

※AWSのSAMLを利用したSSOでは、各ユーザーを用意するのではなく、ある権限をもったロールを指定してログインするイメージです。


画面左側の「ロール」をクリックします。


「ロールを作成」ボタンをクリックします。


下記を設定します。

  1. 信頼されたエンティティタイプ: SAML2.0フェデレーション

  2. SAML2.0プロバイダー: 作成したプロバイダを選択 (ここではYubiOn Portal)

  3. アクセスレベル ここでは管理コンソールアクセス時のSSOを設定するため、「プログラムによるアクセスとAWSマネジメントコンソールによるアクセスを許可する」を選択します。 ※条件  必要に応じて条件を追加してください。ここでは特に設定しません。

  4. 最後に「次へ」ボタンをクリックします。


最後の画面で下記の設定をします。


ロール名: わかりやすいロール名を入力します。

説明: ロールの説明を入力します。

信頼されたエンティティを選択する: 必要であれば修正します。

許可を追加する: 必要であれば追加します。

タグを追加: 必要であれば追加します。


最後に「ロールを作成」ボタンをクリックします。


作成したロールを選択します。


ロールのARN情報をコピーし、テキストエディタに貼り付けておきます。

※後のYubiOn Portal側の設定で使用します。


最後にAWS (SP)側のメタデータを下記URLからダウンロードしておきます。

https://signin.aws.amazon.com/static/saml-metadata.xml


AWS側の操作は以上です。

次にYubiOn Portal側の設定に移ります。


3. YubiOn Portalの設定

YubiOn Portalの「SSO App設定」画面に戻り、AWS (SP)メタデータを取り込みます。

「SPメタデータアップロード」タブをクリックします。


SPメタデータアップロードから、AWS (SP)側のメタデータをアップロードします。


確認モーダルが表示されるので、「アップロード」ボタンからアップロードします。


次に、AWSのSSO設定に最低必要なアトリビュートを設定します。


【必須項目は以下】

Role: ロールARNとプロバイダARNをカンマ区切りで指定します。

RoleSessionName: 名前やメールアドレスなどのログインしているアカウントを表すもの。


画面左下の「アトリビュート設定」タブをクリックします。


AWSのロールを指定するため「Role」アトリビュートを設定します。

テンプレートアトリビュートの「Role」右側にある「編集」アイコンをクリックします。


アトリビュート値に下記を設定します。

  1. 設定方法: 「直接入力」を選択します。

  2. 設定値: AWS側の設定で控えていたロールのARNとプロバイダのARNをカンマ区切りで入力します。 設定値の入力例) 「ロールのARN,プロバイダのARN」

  3. 最後に「更新」ボタンをクリックし、情報を更新します。


次に、AWSログイン後に表示される「RoleSessionName」アトリビュートの設定を行います。

「RoleSessionName」右側の「編集」アイコンをクリックします。


下記のアトリビュート値を設定します。

※本記事ではメンバー名を設定する手順で説明します。


  1. 設定方法: 「メンバー情報」を選択します。

  2. 設定値: 「メンバー名」を選択します。

  3. 最後に「更新」ボタンをクリックし、情報を更新します。


アトリビュートの設定は以上です。


引き続き、AWSにアクセスできるメンバーを設定します。

※グループ機能を使用してグループに所属するメンバーを一括で割り当てる方法もありますが、ここではメンバー個別の割り当て方法で説明します (グループ機能は有料の機能です)


画面右下の「メンバー割当」をクリックします。


割り当てたいメンバーを選択し、「登録」ボタンから登録します。


以上でSSOの設定は完了です。


4. YubiOn PortalからSSOを試す

実際にYubiOn Portal SSOを利用してAWSにログインしてみましょう。

サイドメニューの「SSO」アイコンをクリックし、「SSO Appログイン」にアクセスします。


「AWS Management Console」をクリックします。


AWSの管理コンソールにログインできました。


最後に

AWSの運用に合わせたロールを作成し、YubiOn Portal側でアクセス設定を行うだけで簡単にSSOを実現することができます。AWSに個々のユーザーを用意する必要はないので、管理も楽になると思います。SSO有料版に切り替えたい場合はお問い合わせフォームよりお問い合わせください。