近年、ゼロトラストモデルの重要性が高まる中、単一の認証要素を使用し続けることはリスクを伴います。そこで、証明書による強固な本人確認と、デバイスのコンプライアンス状態を同時に検証することで、より安全なアクセス制御をすることができます。
ここでは、Microsoft Entra IDにおける証明書ベース認証(CBA: Certificate-Based Authentication)と Microsoft Intune 準拠デバイスの条件を組み合わせ、セキュリティを強化するためのポリシー構築方法をご紹介します。

目次
手順1 OpenSSL で自己署名CAを作成
1.OpenSSLをダウンロードして、「Win64 OpenSSL Command Prompt」を開きます。

2.下記コマンドを入力して、Enterキーを押します。 
「openssl genrsa -out rootCA.key 2048」

3.下記コマンドを入力して、Enterキーを押します。
「openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.crt -subj “/C=JP/ST=Kanagawa/L=Yokohama/O=TestCA/OU=IT/CN=TestRootCA”」

4.下記コマンドを入力して、Enterキーを押します。
「openssl req -new -nodes -out user.csr -keyout user.key -config user.conf」
※「user.conf」は下記内容を任意の条件に変更して、あらかじめファイルを作成してください。
[ req ]
default_bits = 2048
distinguished_name = dn
req_extensions = v3_req
prompt = no
[ dn ]
C = JP
ST = Kanagawa
L = Yokohama
O = TestUser
CN = Jiro Yamada
[ v3_req ]
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth
# UPNのOID
subjectAltName = otherName:1.3.6.1.4.1.311.20.2.3;UTF8:jiroyamada@yjk365.jp

5.下記コマンドを入力して、Enterキーを押します。
「openssl x509 -req -in user.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out user.crt -days 365 -sha256 -extfile user.conf -extensions v3_req」

6.下記コマンドを入力して、Enterキーを押します。
「openssl pkcs12 -export -out user.pfx -inkey user.key -in user.crt -certfile rootCA.crt」

7.下記画像のファイルや証明書が作成されたことを確認します。

手順2 PKIの作成
1.Microsoft365管理センターより「ID」を開きます。

2.「IDセキュリティ スコア」より、「公開キー基盤」をクリックします。

3.「PKIの作成」をクリックします。

4.表示名を入力して、「作成」をクリックします。ここでは表示名を「検証_証明書」とします。

5.PKIの作成が完了しました。作成したPKIをクリックします。

6.「証明機関の追加」をクリックします。証明書のファイルの選択より、「参照」をクリックします。

7.先程作成されたセキュリティ証明書を選択して、「開く」をクリックします。

8.「この証明機関はルートですか?」に「はい」を選択して、「発行者ヒントが有効になっていますか?」にチェックが入っていることを確認します。 「保存」をクリックします。

9.証明機関が追加されました。

10.「認証方法」をクリックして、「証明書ベースの認証」をクリックします。

11.「有効にする」のトグルをオンにして、「グループの選択」から「グループの追加」をクリックします。

12.グループを選択して、「選択」をクリックします。

13.「保存」をクリックします。

14.ポリシーが正常に保存されました。

手順3 ポリシーの作成
1.「条件付きアクセス」をクリックして、「新しいポリシーの作成」をクリックします。

2.名前を入力して、ユーザーをクリックします。

3.「ユーザーとグループの選択」をクリックして、「ユーザーとグループ」を選択します。

4.ユーザーあるいはグループを選択して、「選択」をクリックします。

5.ターゲットリソースをクリックします。

6.「リソースの選択」にチェックを入れて、「選択」から「なし」 をクリックします。

7.「Office 365」にチェックを入れて、「選択」をクリックします。

8.「許可」をクリックします。
「アクセス権の付与」を選択します。

9.「認証強度が必要」にチェックを入れて、「多要素認証」を選択します。

10.「デバイスは構成しているとしてマーク済みである必要があります」にチェックを入れて、「選択」をクリックします。

11.「ポリシーの有効化」を「オン」にして、「作成」をクリックします。

12.ポリシーが正常に作成されました。

13.Microso Intune 管理センターを開いて、「デバイス」を開きます。
「Windows」をクリックします。

14.先程選択したユーザーまたはグループが、Intune準拠デバイスであることが確認できました。

手順4 証明書のインポートと確認
1.「user.pfx」を開きます。

2.「次へ」をクリックします。

3.「次へ」をクリックします。

4.パスワードを入力して、「次へ」をクリックします。

5.「次へ」をクリックします。

6.「完了」をクリックします。

7.「はい」をクリックします。

8.正しくインポートされました。「はい」をクリックします。

9.証明書ベース認証ができるか実際に試してみます。 Microsoft365に先程登録したユーザーでサインインします。

10.IDの確認に、「証明書またはスマートカードを使用する」を選択します。

11.証明書を選択します。

12.サインインが成功しました。

13.※今作成した証明書を削除して、仮に証明書がない状態にしてみます。

14.証明書がない状態で「証明書またはスマートカードを使用する」を選択し、サインインしようとします。

15.このようにサインインできないことが確認できました。

その他お困りごとも動画で解説!
