Okta など多くの ID プロバイダーは、複数の多要素認証(MFA)を同時にサポートします。たとえば Okta では、パスワードに加えて、アプリで生成した一時コードや、Yubikey のような U2F ハードウェアキーでログインできます。
第 2 要素の方式によっては、フィッシング耐性が高くなります。U2F では、ハードウェアキーと呼ばれる物理デバイスが必要です。そのキーがなければ、パスワードを知っていてもユーザーになりすますことはできません。プロバイダーが複数の方式をサポートしていても、Cloudflare Access のルールでハードウェアキーによる認証を必須にできます。アプリベースのコードなど、安全性の低い方式でログインしたユーザーは、Access がブロックします。
このチュートリアルで扱う内容:
- Cloudflare Access と Okta の連携
- U2F 登録向けの Okta 設定
- ハードウェアキーでのログインを必須にする Access ポリシー の作成
- そのポリシーを特定の Access アプリケーションに適用する
このチュートリアルの最初の 2 つのセクションは、Cloudflare Access のセットアップと Okta 連携のガイドへのリンクです。すでに Cloudflare Access で Okta を使っている場合は、4 番目のセクションまで進んでください。
所要時間:
20 分
始める前に、アカウントで Cloudflare Access をセットアップする こちらの手順 に従ってください。ハードウェアキー機能は、無料プランを含むすべてのプランで利用できます。
こちらの手順 に従い、Cloudflare Access アカウントに Okta を連携します。連携後、Access は Okta からのアイデンティティ、グループ所属、多要素の方式を使ってルールを適用できます。
組織の Okta 管理者が、先に Okta アカウントで U2F サポートを有効 ↗ にし、かつ ユーザーに U2F を求めるよう 設定 ↗ する必要があります。これはグローバル設定です。すでに U2F を設定済みなら、Cloudflare Access で使うために特別な作業は不要です。
Okta 連携をテストすると、U2F ポリシーの作成を始められます。
- Cloudflare ダッシュボード ↗ で、Zero Trust > Access controls > Access settings を開きます。
- Manage your App Launcher で Manage を選択します。
- Login methods を選択します。
- Okta の行を選び、Test を選択します。
Cloudflare Access が Okta アカウントでのログインを求めます。テストでは、アプリベースのコードなど第 2 要素を使ってください。Okta は Cloudflare Access に amr 値を返します。これは、アイデンティティ管理システム間で共有される、多要素方式の標準的な指標です。
mfa 値は、多要素認証を使ったことを Cloudflare Access に伝えるために Okta が送ります。pwd 値はパスワードを使ったことを示します。この例では、ユーザーがアプリベースのコードで認証したため、otp 値が送られます。
ハードウェアキーでテストするには、Okta からログアウトし、Access のプロバイダー一覧に戻ります。もう一度 Test を選択し、今度は第 2 要素としてハードウェアキーを使います。Cloudflare Access は、Okta が amr フィールドで hwk を共有するのを確認します。
この情報を使って、Access にルールを作れます。ダッシュボードの Cloudflare Access セクションで Applications 一覧を開きます。すでに作ったアプリケーションを選ぶか、新しいアプリケーションを作成します。この例では、既存のアプリケーションに要件を追加します。
Edit を選択して、既存の Allow ルールを編集します。
Require ルールを追加し、一覧から Authentication Method を選択します。必須の Authentication Method として hwk を選びます。Save rule を選択します。
任意: ほかのプロバイダーも連携している場合、このアプリケーションではユーザーに Okta だけを表示するよう Cloudflare Access を設定できます。Authentication タブで、表示する選択肢として Okta だけを選びます。
ルールをテストできます。アプリケーションを開き、ハードウェアセキュリティキー以外の方法(アプリベースのコードなど)でログインしてみてください。Access はその試行をブロックします。
Okta からサインアウトし、ハードウェアキーでもう一度試すと、Access は接続を許可します。