LoginSignup
1
1

More than 1 year has passed since last update.

Cloudflare Access ポリシーで Azure AD に設定した YubiKey による FIDO2 認証を強制する

Last updated at Posted at 2023-05-13

YubiKey USB 接続での FIDO 利用

YubiKey USB接続でのFIDO利用方法は、以下のリンクにまとめられているものがありました。

Microsoft 系だと FIDO2 認証を使うことになります。

image.png

YubiKey 自体は 2022 年末に Cloudflare が実施したキャンペーンで入手したものを使います。

image.png

今回のキャンペーンは、すべてのCloudflareのお客様がご利用いただけます。Cloudflareをご利用のお客様は、Cloudflareダッシュボードで直接このYubicoセキュリティーキーのキャンペーンを利用することができます。
Yubicoは今回、1個あたり10ドルという「インターネット特別料金」でセキュリティーキーを提供しています。キーはYubicoにより、直接お客様の元に発送されます。
キーの設定とIDプロバイダーおよびCloudflareのZero Trustサービスとの統合に関しては、CloudflareとYubicoの開発者向けドキュメントおよびサポートグループが、ガイドを提供します。

Azure AD に YubiKey による FIDO 認証を設定する

デフォルトだと FIDO2 security key が無効になっているため、以下の手順で有効化します。

最近画面が新しくなった模様。

image.png

image.png

image.png

ユーザーアカウント側でセキュリティキーを登録する

ユーザーアカウントに YubiKey をセキュリティキーとして登録します。

image.png

image.png

image.png

image.png

↑ ここでサインインを求められるので、サインインを行います。

image.png

image.png

以下、Chrome ブラウザでかつ YubiKey 5C NFC を USB 接続した状態で進めています。

image.png

PIN の入力を求められます。

image.png

image.png

image.png

image.png

image.png

以上でユーザーアカウントに YubiKey をセキュリティキーとして登録完了できました。

image.png

Cloudflare Access を使って FIDO2 認証を強制する

以下の App Launcher を使います。

<your-team-name>.cloudflareaccess.com は App Launcher の Cloudflare Access ポリシーによって保護されていますので、設定します。

Settings > Authentication > App Launcher > Manage > Rules から以下のように設定します。

image.png

確認

https://<your-team-name>.cloudflareaccess.com にアクセスし、Azure AD でログインします。

image.png

ログイン後は、画面右上のユーザ名 > Account から認証情報を確認できます。

image.png

また、以下の URL からも JSON データを確認できます。

https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/get-identity

{
  "id": "xxx",
  "name": "xxx",
  "email": "xxx@example.com",
  "amr": [
    "fido",
    "mfa"
  ],
  "groups": [
    {
      "id": "xxx",
      "name": "Mark 8 Project Team"
    },
    {
      "id": "xxx",
      "name": "Retail"
    },
    {
      "id": "xxx",
      "name": "MSFT"
    },
    {
      "id": "xxx",
      "name": "Sample Team Site"
    },
    {
      "id": "xxx",
      "name": "Global Administrator"
    },
    {
      "id": "xxx",
      "name": "U.S. Sales"
    },
    {
      "id": "xxx",
      "name": "Digital Initiative Public Relations"
    },
    {
      "id": "xxx",
      "name": "Sales and Marketing"
    }
  ],
  "idp": {
    "id": "xxx",
    "type": "azureAD"
  },
  "geo": {
    "country": "JP"
  },
  "user_uuid": "xxx",
  "devicePosture": {
    "xxx": {
      "type": "warp",
      "rule_name": "Warp",
      "success": false
    },
    "xxx": {
      "type": "gateway",
      "rule_name": "Gateway",
      "success": false
    }
  },
  "account_id": "xxx",
  "iat": 1683980281,
  "ip": "xxx",
  "auth_status": "NONE",
  "common_name": "",
  "is_warp": false,
  "is_gateway": false,
  "version": 0,
  "device_sessions": {}
}

パスワードなし + YubiKey を使った場合

ログインが成功し fido 属性が確認できます。

image.png

image.png

image.png

image.png

image.png

パスワード + YubiKey を使った場合

ログインが成功し fido 属性が確認できます。

image.png

image.png

パスワード + TOTP を使った場合

Cloudflare Access ポリシー違反のため、以下のような画面とログが確認できます。

image.png

image.png

image.png

その他参考リンク

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1