OneLoginを使ってWorkSpacesでMFAをしてみた
ご機嫌いかがでしょうか、豊崎です。
今回はアイデンティティ管理ソリューションのOneLoginを使ったWorkSpacesへMFAログインを行なってみましたので、ご紹介させていただきたいと思います。
アジェンダ
- 構成について
- Active DirectoryとOneLoginのユーザ情報の同期
- OneLoginでセキュリティポリシーを設定する
- OneLoginでRADIUSサーバの設定をする
- ユーザ側でMFAの設定
- MFAを使わないWorkSpacesへのログイン
- AWSマネジメントコンソールからAD Connectorの設定を行う
- MFAを使用したWorkSpacesへのログイン
構成について
今回の構成は以下となります。
このエントリーでご紹介するのは赤枠で囲っている部分になります。
それ以外の部分については環境が用意されている状態からスタートします。 ※検証環境ではオフィス部分の環境は別VPCで作成し、Peeringで接続を行なっています。
やってみた
それでは早速やっていきましょう。手順はこちらを参考にしています。
Active DirectoryとOneLoginのユーザ情報の同期
まずはOneLoginコンソールにログインして、USERS>Directories>ACTIVE DIRECTORYのCHOOSEをクリックします。
次の画面で、Directoryの名前(任意)を設定し、OneLoginのAD Connector5のインストーラーのダウンロードができます。また、インストール途中で使用するトークンが表示されます。
次に、インストーラーを実行させるEC2をLaunchしましょう。今回はWindowsServer2012R2(ami-264a0f40)をLaunchしました。
システム要件は以下と記載がありましたので適宜条件をクリアしましょう。
- Windows Server 2012 R2+ Note. While Active Directory Connectors must be installed on machines running Windows Server 2012 R2+, they can support domain controllers running on earlier versions of Windows Server.
- .NET Framework 4.5.1 and up
- Processor: Pentium 4 or better
- RAM: 512MB
- Disk space: 120MB, configurable to less than 50
- Outbound TCP Port 443 from the server running the connector to the network ranges listed in 74.205.97.176/29、108.166.38.40/29
また、EC2はドメインに参加させておき、インストールについてはAdministrator権限を持ったドメインユーザで実行しましょう。
インストーラーを起動してNextで進んでいきましょう。次のページでは同意にチェックを入れて進みました。
次に、OneLoginのページに表示されていたTokenの入力が求められますので、コピペして次に進みましょう。
新規にインストールする場合は「Create OneLogin Service Account(recommended)」を選択、任意のパスワードを入力してCreateをクリックしましょう。ここではドメインユーザが作成されます。
次はSSOの為のポートを聞かれますが、デフォルトで進みましょう。
自分のOneLoginアカウントのデータベースのロケーションを聞かれます。USを選択して次に進みました。次の画面でInstallをクリックし、インストールを行います。
インストールが完了しました!
サービスを確認すると実行中になっていますね。
OneLoginコンソールをみてみるとステータスがConnectedになっています。
OU Selectionタブから同期するOUを選択しておきましょう。
Directory Attributesタブでは、OneLoginに同期するために必要なActive Directory側の項目が列挙されています。同期させたいドメインユーザに必須項目が設定されていないと同期されないので、要注意です。また、項目は追加ができますので、例えばOU内のユーザのフィルタリングなどの目的で利用可能な模様です。
事前に設定しておいた1ユーザが同期対象になっています!
しばらく待つと赤枠で囲ったデモ用ユーザが連携されました。
これでActive DirectoryとOneLoginの同期は完了です。
OneLoginでセキュリティポリシーを設定する
つづいて、OneLoginコンソールにログインしてユーザにMFAを使用させるためのポリシーなどの設定を行なっていきます。
SETTINGS>Security>PoliciesからNEW USER POLICYをクリックします。
次の画面ではMFAタブから以下にチェックを入れ、全ユーザが毎ログイン時にOneTimePasswordが必須と設定しました。また、Policy名(任意)をつけてSAVEしました。
次は、SETTINGS>Security>Authentication FactorsからONELOGIN PROTECTをCHOOSEしました。(キャプチャは追加後にとったのでADDEDになっています)
名前以外デフォルトのまま保存しました。
次にUSERS>GroupsからNEW GROUPを作成します。
Group名と、Groupメンバーに適用されるPolicyとして先ほど作ったPolicyを設定して保存します。
USERS>ALL Usersから作成したユーザを選択して、Groupに登録させましょう。
ユーザ側でMFAの設定
次にユーザ側でMFAの準備をしましょう。
今回はAndroidのスマートフォンに「OneLogin Protect」アプリをインストールします。
一度OneLoginからログアウトし、新たにActive Directoryから同期したユーザでログインしなおします。
MFAデバイスが登録されていないと、QRコードが表示されて登録を求められます。
これでユーザに対するMFAの紐付けは完了です!
OneLoginでRADIUSサーバの設定をする
次の設定をする前に準備として、AWSのAD Connector側の設定を確認しましょう。具体的にはAD ConnectorがOneLoginに通信を行う際のグローバルIPアドレスの確認が必要です。
今回の構成ではAWSのAD Connectorはプライベートサブネットに配置されているため、NAT Gatewayを経由してインターネットに接続を行います。よってNAT Gatewayの固定IPアドレスを控えておきましょう。
それでは、SETTING>RADIUSのNEW CONFIGURATIONからRADIUSサーバの設定を行なっていきます。
Secretコードを任意で入力し、AD Connector側のIPアドレスを入力します。
これだけです。簡単でした。
MFAを使わないWorkSpacesへのログイン
あとは、AWS側のAD Connectorの設定を行えばWorkSpacesにMFAでログインできるので、その前にWorkSpacesClientからIDとPWだけでWorkSpacesにログインできるか試しておきましょう。もしログインできないのであれば、できる状態にしておきましょう。
AWSマネジメントコンソールからAD Connectorの設定を行う
AWSマネジメントコンソールのDirectory Serviceから対象のAD Connectorの詳細を開きましょう。以下を入寮してディレクトリの更新をクリックします。
- 多要素認証の有効化
- RADIUSサーバのIPアドレス
- 共有シークレットコード
- サーバタイムアウト
- 最大再試行回数
AD Connectorの設定は以上です。
MFAを使用したWorkSpacesへのログイン
さて、遂にここまできました。
WorkSpaces Clientを起動するとMFAの入力が求められます。
ユーザ名とパスワードを入力し、アプリのワンタイムパスワードを入力してサインインすると無事ログインできました!!
さいごに
WorkSpacesを使用した案件では非常に多くのお客様からMFAのソリューションについて質問をいただきます。今回そのソリューションの一つであるOneLoginについてお伝えさせていただきました。手順を詳細にお伝えするためにキャプチャが多くなったので、複雑な印象があるかもしれませんが、設定においては非常にスムーズで導入はしやすい印象でした。今後も、もりもり触っていきたいと思います。この記事が誰かのお役に経てば幸いです。