Entra ID の新しい認証方式が出たぞ！ QR コード認証を試す📱

いいね・ストック・拡散など励みになります:thumbsup:
記事に間違っている点があればやさしく教えてください:hatching_chick::sunny:

# はじめに

こんにちは、Microsoft MVP の[オリビア](https://x.com/Olivia_0707)です。

Microsoft の製品の中でも私の推しである Entra ID で、新しい認証方式となる QR コード認証がリリースされていました。
まだプレビュー段階ですが、実際に構築して試してみました！

https://learn.microsoft.com/en-us/entra/identity/authentication/concept-authentication-qr-code?WT.mc_id=MVP_380462


# Entra ID の QR コード認証ってなんだろう

ユーザーごとに**固有の QR コードを読み取り、PIN コードを入力**してサインインできる機能です。

管理者はユーザーに PIN を発行し、ユーザーがサインイン時に PIN を変更して使用します。

## QR コード認証のメリットは？

現場担当者が共有端末を使う際、**都度ユーザー名やパスワードを入力する手間を省けます。**

QR コードを印刷するだけで使用できるので、人数の変動にも対応しやすく、**安くすぐに導入**できます。

## 考慮したほうがいい点はある？

* **単一要素認証**の現場担当者向けの認証方式です。

フロントラインワーカー（現場担当者）向けの機能です。インフォメーションワーカーは、フィッシング等に強い認証や MFA を使いましょう。

* QR コード認証を使用する際は、**条件付きアクセスと組み合わせて使用**しましょう。

準拠デバイスのみの使用や指定ネットワーク内でのアクセスなど、他のセキュリティと組み合わせるとよいです。

* QR コード認証を許可しているユーザーでも、外部ネットワークからアクセスする際は通常の認証方式を使用しましょう。

あくまで現場の利便性向上のための機能です。セキュリティが担保できない場合は、フィッシングに強い認証や MFA を強制しましょう。

* QR コードを紛失したら再発行しましょう。

何らかの事情で PIN コードを知っている人が盗んだかもしれません。QR コードを再発行して不正アクセスを防ぎましょう。


# 使ってみたいので構築してみる🧑‍💻

ではさくっと構築してみましょう。

:::note
前提として、この機能は F1、F3、または P1 ライセンスが必要です。
また、サインインする端末が Android、iOS、iPadOS であることが必須です。
実際にやってみましたが Windows からは使用できません。
:::

まず、この機能はテナントで無効になっているので有効化する必要があります。

https://learn.microsoft.com/en-us/entra/identity/authentication/how-to-authentication-qr-code?WT.mc_id=MVP_380462

## 【管理者】テナントに対する設定

1. 認証ポリシー管理者以上のロールのあるユーザで、[Microsoft Entra 管理センター](https://entra.microsoft.com/)にサインインします。

2. [保護] > [認証方法] > [ポリシー] > [QR コード] をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335429/2d319049-159e-4736-a3c9-439561342d20.png)

3. [有効化及びターゲット] で [有効にする] をオンにします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335429/72a3251f-74ca-4a4f-8780-59780b57c0b8.png)

4. [含める] で [グループの選択] を選択し、QR コード認証を許可したいユーザーのグループを指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335429/a283fdca-6ce8-4614-8b01-92078fd921d6.png)

5. 画面下部の [保存] をクリックします。

これで対象グループの所属ユーザーが QR コード認証を使うことができるようにテナント側の設定ができたので、次はユーザーごとの個別の設定をします。

## 【管理者】ユーザーに QR コード認証を追加

1. [ID] > [ユーザー] > [すべてのユーザー] より、今回 QR コード認証の設定をしたいユーザーを表示します。

2. [認証方法] > [認証方法の追加] をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335429/af5b1802-a143-4295-8e93-f9d92fb6996f.png)

3. [方法の選択] で [QR コード] を選択します。QR コードの開始時間・有効期限、PIN コードの設定をします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335429/128b679e-b4d3-4042-90a4-907c3720c83b.png)

4. 画面下部の [追加] をクリックします。

5. PIN と QR コードを保存します。[画像をダウンロード] をクリックすれば SVG 形式のファイルを保存できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335429/bbac80cc-10dd-4e42-9e56-1d404c793cce.png)

6. PIN と QR コードをユーザーに配布します。

## 【ユーザー】

1\. ログイン画面を開き、[サインイン オプション] をクリックします。
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335429/34bfe7c4-68be-4c64-852c-db1c2d5a972c.png">

2\. [組織へのサインイン] をクリックします。
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335429/b31fe80e-cec8-4a2f-b294-a9598e5eb53b.png">

3\. [QR コードでサインイン] をクリックします。
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335429/ee257e85-691b-41ef-b40f-52b0ae7b1885.png">

4\. 以下のように QR コードを読み込みます。
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335429/e7235ae2-bbd5-44dc-aa75-6b1a4eb0d7b6.png">

5\. PIN コードを入力し [サインイン] をクリックします。初回は PIN コードの更新を求められるので更新します。
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335429/938de9f7-ac95-4ab4-80c5-9c1765d08f34.png">

6\. サインインができました。
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335429/70e9f4c6-4b2e-488d-8733-14fc98c075bd.jpeg">

# 使ってみた感想

管理者側の設定もユーザー側のサインイン操作もとても簡単でした。**導入しやすい**というのはそれだけでメリットですね～

ただし、セキュリティ面でよいとは言えないので、**共有するモバイル端末自体に強めのセキュリティ**がかかっている場合に使用するとよいかと思います。

また、QR コードには有効期限があるため、1 年を超えて雇用するユーザーが使用する場合は **1 年に 1 回更新**する必要があります。現時点での有効期限は最大で 395 日です。


記事公開時点でまだプレビューなので、早く GA するといいですね！
やっぱり Entra は楽しいので、ほかにも気になる機能があれば取り上げていきたいと思います:raised_hands: