
OktaでBYODの統制を目指す——アカウント管理ポリシー×一時アクセスコードを活用する
はじめに
BYODデバイスなど自社のMDM管理対象外のデバイスに対してもアクセス制御を行いたい、というお悩みをお持ちの方も多いと思います。
この記事では、IdPがOktaのケースにおいて、アカウント管理ポリシーと一時アクセスコードを活用し、MDM管理対象外デバイスのアクセス制御を行う方法を紹介します。
3行まとめ
- Okta Fastpassで認証すると、Okta上でデバイスが「登録済み」として登録され、この状態を条件に認証ポリシーを構成してアクセス制御を行うことがよくあります。
- ただし、Okta Fastpass を用いた認証を管理者側で制御するのは難しく、最悪の場合、デバイスが無制限に「登録済み」とされてしまう可能性があります。その結果、「登録済み」を条件とした認証ポリシーの効力が弱くなることがありました。
- 「Oktaのアカウント管理ポリシーと一時アクセスコードを活用する」ことで、Okta Fastpass を用いた認証による「登録済みデバイス」化を管理者側で制限でき、デバイスが無制限に登録されてしまうリスクを低減できます。
機能の概要
アカウント管理ポリシー
Oktaアカウント管理ポリシーは、認証器(MFA)の新規登録・削除、パスワードリセット、アカウントロック解除といった「アカウント操作時」の認証要件を細かく制御できる機能です。
Oktaアカウント管理ポリシー
help.okta.com
一時アクセスコード
一時アクセスコードは、Oktaの管理者がユーザー向けに「一時的 かつ 時間限定のワンタイムパスコード」を管理画面から即座に発行・管理できるセキュリティ機能です。
一時アクセスコードauthenticatorを構成する
help.okta.com
実現方法
アカウント管理ポリシーで、認証器の新規登録時に一時アクセスコードによる認証を必須にします。
これにより、管理者が一時アクセスコードを発行したユーザーのみが認証器を登録でき、私用デバイスが無制限に「登録済み」状態になることを防げます。
設定方法
前提
Authenticatorの追加、認証ポリシーの編集、ユーザーへの一時アクセスコードが発行できるロールが必要です。今回の検証はスーパー管理者を使用しています。
一時アクセスコードの設定
- Oktaの管理画面を開きます。
- 左メニューからセキュリティ>Authenticatorを選択します。
- [セットアップ]タブより、[Authenticatorを追加]を選択します。
- 一時アクセスコードを追加します
- 最小/最大有効期限やコードの複雑さ、複数回使用可能なコードの許可を任意の設定とし保存します。
アカウント管理ポリシーの設定
- Oktaの管理画面の左メニューからセキュリティ>認証ポリシーを選択します。
- [Oktaアカウント管理]を選択します。
- [ルール]を追加]を選択します。
- ルール名を記載し、IF部分の以下項目を編集します。
- ユーザーのグループメンバーシップ:ルールを適用するグループを指定します。
- 次のカスタム式をtrueとする:
accessRequest.operation=='enroll'を記述します。
- THEN部分の以下項目を編集します。
- アクセス:成功後に許可>認証
- ユーザーが認証に使用する要素:認証方法チェーン
- 最初の認証方法:一時アクセスコード
- 次の認証方法:任意の認証方法。(今回はOkta Verify - プッシュを指定)
- 認証を求める:ユーザーがリソースにサインインするたび
ポイント:認証方法チェーンを利用し、最初の認証方法を一時アクセスコードのみとすることで、一時アクセスコードが管理者から払い出されていない状態では認証器の登録が実施できなくなります。
設定は以上です。
動作確認
事前準備
- テストユーザーをtestgroupに所属させ、アカウント管理ポリシーの認証器登録ルールが適用された状態とします。
- パスワードとiOS/Android版 Okta Verify をセットアップします。
- Windows/Mac版 Okta Verify をインストールします。
一時アクセスコードが無効の場合
ユーザー操作:ログイン画面からOkta Fastpassの登録
- ログイン画面から[Okta Fastpassでサインインする]を選択します。
- PC版 Okta Verify アプリより、アカウントの追加を選択します。
- ブラウザに遷移するため認証を試行します。
- 「現時点ではセキュリティ方式をセットアップできません」のエラーがでます。これは一時アクセスコードを管理者が発行していないためです。
管理者側でOktaのSystemLogを見ても、アカウント管理ルールで設定した「認証器登録ルール」でDENYとなっています。
また、ユーザーがOktaダッシュボードにログインし、画面右上の自身のアカウントから[アカウント設定]を選択して確認できるセキュリティ方式では、[他のセットアップ]が表示されず、新規に認証器を登録できないことがわかります。
一時アクセスコードが有効の場合
管理者操作:一時アクセスコードの有効化
- Oktaの管理画面を開きます。
- 左メニューからディレクトリ>ユーザー を選択します。
- その他のアクション>一時アクセスコードを作成 を選択します。
- 最大有効期限の範囲内での期限と1回限りか複数回使用可能かを選択し、[コードを作成する]を選択します。
- コードが発行されるため、ユーザーに伝達します。
ユーザー操作:ログイン画面からOkta Fastpassの登録
- ログイン画面から[Okta Fastpassでサインインする]を選択します。
- PC版Okta Verifyアプリより、アカウントの追加を選択します。
- ブラウザに遷移するため認証を試行します。
- 一時アクセスコードが要求されるため、管理者より共有があったコードを入力します。
- 二段階目の認証が要求されるため、応答します。
- 本人確認が成功し、以降Okta Fastpassの設定を進めます。
なお、Oktaダッシュボードにログイン後、[アカウント設定]を一時アクセスコード無効時と同様に確認すると、[他のセットアップ]が表示され、認証器を新規登録できることがわかります。
これが実現できると
管理対象外(MDM配下外)のデバイス、主に業務委託のBYODデバイスについて、Okta Fastpassによる認証で「登録済み」ステータスにする流れを管理者側で制御できます。
その結果、「登録済み」を条件とした認証ポリシー(アクセス許可)の前提が崩れにくくなり、ポリシーの効力を保ちやすくなります。
注意点
- 認証器の登録タイミングを管理者が制御できても、登録されるデバイス自体を制御できるわけではありません。
- Okta管理コンソールの「ディレクトリ>デバイス」、または Okta SystemLog の
Add device to userイベントからデバイスのシリアルナンバーを確認し、BYODデバイスとして申請があったデバイスかどうかを確認する必要があります。 - 定期的に Okta SystemLog を検索し、
Add device to userイベントがあればデバイスのシリアルナンバーを Slack 等に通知する、といった Okta Workflows を用いた運用で多少省力化できるかもしれません。
- Okta管理コンソールの「ディレクトリ>デバイス」、または Okta SystemLog の
- ユーザーが認証器を登録する際は、その都度、管理者へ連絡してもらう運用の整備が必要です。
- 初回アクティベーション時の挙動には注意が必要です。
- Okta SystemLogを確認した限り、初回アクティベーション時は Okta Dashboard に対する認証ポリシーが適用され、アカウント管理ポリシーでは評価されていませんでした。
- ただし、初回アクティベーション時の認証器登録で「パスワードのみ登録した状態で中断し、モバイル版 Okta Verify を登録していない」ケースでは、認証器登録を再開しようとするとアカウント管理ポリシーで評価され、本記事の設定だと Okta Verify が未登録のためアクティベーションが進まない状態となりました。
- そのため、アクティベーション直後はアカウント管理ポリシーを適用しない(適用対象の Okta グループに所属させない)。
アクティベーションから一定日数が経過したタイミングで、アカウント管理ポリシー適用対象の Okta グループに所属させる、という運用が現実的だと思います。
- そのため、アクティベーション直後はアカウント管理ポリシーを適用しない(適用対象の Okta グループに所属させない)。
まとめ
注意点にあるとおり管理者側の運用負荷は増えますが、管理対象外(MDM配下外)のデバイス、特に業務委託のBYODデバイスのアクセス制御を厳格化したいケースでは有効です。
セキュリティ要件をより厳格にしたい場合は、本設定をご検討ください。
ZUNDAでは、社内 IT 環境のクラウド化をサポートしており、OktaなどのIDaaSについてもライセンス販売から構築支援まで幅広く扱っております。
IDaaSの構築にお困りでしたら、ぜひお問合せください。
IDaaSの構築にお困りでしたら、ぜひお問合せください。





