【IBM Security Verify】Microsoft Intune と連携して、クライアント証明書認証を行う②

# はじめに
IBM Security VerifyとMicrosoft Intuneを連携させて、クライアント証明書を使った認証を試してみました。

設定が多いため、3回にわけてご紹介予定です。
①：Intuneのトライアル環境準備
**②：IBM Security VerifyとIntuneの連携設定（今回）**
③：アクセスポリシーを使ったデバイスの条件付きアクセスを試す

2回目は、IBM Security Verifyにデバイスマネージャーを追加/ウィザードに従いIntune側の設定も行っていきます。

# 7.【IBM Security Verify】デバイスマネージャーを追加する

IBM Security Verifyの管理画面で、「認証」-「デバイス・マネージャー」を開き、「デバイス・マネージャーの追加」をクリックします。
![qiita (25).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/6c647994-c7dc-7c08-0ebc-c34d0b58d637.png)

タイプは「Microsoft Intune」を選択して「次へ」をクリックします。
![qiita (26).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/784a7ecb-1efb-7ddd-d920-afbfe14224cc.png)

一般設定は画面の通り設定して、「次へ」をクリックします。
ユーザーアカウントのJITプロビジョニングが不要であればチェックボックスを解除してください。
- 任意の名前（例：IBM Security Verify）を入力
- アイデンティティー・プロバイダーはCloud Directoryを選択
- ユーザー・アカウントのジャストインタイム（JIT)プロビジョンをチェック
    - （JITプロビジョニングしない場合は、Cloud Directoryにあらかじめユーザー登録しておきます。）
- 残りの設定はデフォルトのまま
![qiita (27).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/63d0f140-f4e9-b993-9695-023126955d94.png)

# 8. 【Microsoft Entra管理センター】アプリの登録・設定を行う。
IBM Security Verifyの「API資格情報」タブで、「ステップを表示」を選択し、記載されている手順に従い、Azure ADの設定を行います。
![qiita (28).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/74893acf-4a14-15fa-989c-00fd0b8adf88.png)

Microsoft Entra 管理センター（https://entra.microsoft.com） にアクセスします。

「Azure Acttive Directory」 > 「アプリケーション」 > 「アプリの登録」をクリックし、「新規登録」をクリックします。
![qiita (29).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/44fb6003-fb3a-8e1b-e691-15c74f765622.png)
![qiita (30).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/b26ab401-d0eb-affa-9c31-8ac702df59fd.png)

以下の通り設定して、「登録」をクリックします。

- 任意の名前（例：IBM Security Verify）を入力
- 任意の組織ディレクトリーのアカウント(任意のAzure AD ディレクトリ- マルチテナント）を選択
- リダイレクトURIは省略（一応、Webを選択したのみ。リダイレクトURIは指定しなかった）
![qiita (31).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/7631afab-8618-8613-5c4c-f5723513fdc0.png)

アプリの登録メニューで、アプリケーション (クライアント) ID 値をメモしておきます。
![qiita (32).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/224943c9-d93f-dcc2-47d5-7a23957e57e3.png)

次に「管理」の下にある「証明書とシークレット」をクリックします。
「新しいクライアント シークレット」をクリックし、次の通り入力して「追加」をクリックします。
![qiita (33).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/b0016068-cef2-5302-c1bc-3e92f2180d76.png)

- 説明には、任意の名前（例：for ibm security verify）を入力
- 有効期限はデフォルトのまま
![qiita (34).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/cf564a81-7e02-25a7-13f9-67c94069236e.png)

シークレットの「値」をメモしておきます。
![qiita (35).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/d1972cc8-de30-8cfc-d8fc-527f786667b8.png)

次に「管理」の下にある「APIのアクセス許可」をクリックします。以下の権限を付与していきます。

-  Intune
    -  scep_challenge_provider
-  Microsoft Graph
    -  DeviceManagementManagedDevices.Read.All
    -  User.Read.All
    -  Application.Read.All
-  所属する組織で使用している API
    -  Application.Read.All


「アクセス許可の追加」をクリックし、「Microsoft API」- 「Intune」を選択します。
![qiita (36).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/4317c202-9b50-7976-2255-2cbe36a4af53.png)
![qiita (37).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/9712c78f-e5c0-b702-f7a6-734b7afab285.png)
「scep_challenge_provider」にチェックを行い、「アクセス許可の追加」をクリックします。
![qiita (38).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/7f075303-b6d9-e404-070c-6a16c4441adc.png)
![qiita (39).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/8b09ca0e-30cb-563f-831f-335e4f7393c6.png)

「アクセス許可の追加」をクリックし、「Microsoft API」- 「Microsoft Graph」を選択します。
![qiita (40).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/6505cc41-c5ac-fd9d-284c-5e5c5e80a032.png)

「DeviceManagementManagedDevices.Read.All」「User.Read.All」「Application.Read.All」にチェックを行い、「アクセス許可の追加」をクリックします。
![qiita (42).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/17d7afad-697f-1f54-c8e1-f0799daa4038.png)
「アクセス許可の追加」をクリックし、「所属する組織で使用しているAPI」- 「Windows Azure Active Directory」を選択します。
![qiita (44).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/7afbed5d-c939-1f93-5731-def4a20cd4b2.png)

「Application.Read.All」にチェックを行い、「アクセス許可の追加」をクリックします。
![qiita (46).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/d66e1aef-97c8-54ae-127c-aefccdeb4c6f.png)

追加できたことを確認して、「管理者の同意を与えます」をクリックします。
![qiita (47).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/d06c47d7-e124-ae25-6d73-8523e0f4eade.png)
![qiita (48).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/ec92ec67-abc2-cec5-05af-d3f2f8ff26a8.png)
![qiita (49).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/6786a844-d2c7-12f4-0b71-36f1b3042b12.png)

# 9. 【IBM Security Verify】API資格情報タブの設定を行う。

Azure ADに登録したアプリケーションの情報を、IBM Security Verifyに設定します。

|No  | 設定項目 | 設定値 |
|---|---|---|
|1  |Azure AD アプリID  | 登録したアプリの アプリケーション（クライアント）IDを設定する  |
|2  |Azure AD アプリ・シークレット | アプリに追加した クライアントシークレットの値を設定する。（シークレットIDのほうではなく、値を設定する）  |
|3  |ドメイン名  | トライアルテナント作成時に登録したテナント名を設定する。 例）seltest.microsoft.com  |
|4  |固有ID  |デフォルトのまま　userPrincipalName　を設定  |
|5  |ユーザー ID ロケーション |デフォルトのまま　SAN E メール を設定 <br>(ステップを表示メニューだとは表示されないため、フォームのみメニューに切り替えて確認ください。) |

![qiita (50).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/339bd419-65e9-af19-a661-cfd59668ab4a.png)

資格情報のテストを行い、「接続済み」と表示されることを確認します。
![qiita (51).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/bf6fbeaa-774f-7485-02e8-2ba41d54d94c.png)

# 10. 【IBM Security Verify】ユーザー・プロパティータブの設定を行う。

IntuneのUserPrincipalName属性を、IBM Security VerifyのPreferred_username属性にマッピングします。
動作確認に最低限必要な属性のみ設定したため、必要に応じて属性マッピングを見直しください。
![qiita (52).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/03c1ba03-a022-68ab-20b0-fb9c61ec940b.png)

# 11. 【Microsoft Intune管理センター】信頼済み証明書としてルート証明書、中間証明書を登録する。
IBM Security Verifyの「ルート証明書プロファイル」タブに記載されている手順に従い、Microsoft Intune管理センターへ信頼済み証明書を登録します。

IBM Security Verifyの手順に従い、提供するルート証明書、中間証明書をダウンロードします。
root.cerと、intermediate.cerファイルが含まれています。
![qiita (53).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/1409757e-e4de-a6b0-b7a1-a48e9d1e255c.png)

Intune管理センター （https://intune.microsoft.com/#home） を開きます。
「デバイス」 > 「ポリシー」 > 「構成プロフィル」を選択して、「プロファイルの作成」をクリックします。
![qiita (54).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/703aefc6-95d1-3b6d-00a4-192accd1c450.png)

プロファイル作成画面で、以下の通り選択して、「作成」をクリックします。

-  プラットフォーム
    -  Windows 10 以降
-  プロファイルの種類
    - テンプレート- 信頼済み証明書

![qiita (55).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/8d62e85d-c942-a61e-197b-b57d2ec05651.png)

信頼済み証明書の設定画面で、以下の通り設定して、「作成」をクリックします。

-  基本タブ
    -  任意の名前を設定します。（例：WIN10_RootCA_Cert）
-  構成設定タブ
    -  ルート証明書ファイル（root.cer）を選択します。
    -  保存先ストアは、コンピューター証明書ストア-ルート を選択します。
-  割り当てタブ
    -  グループにisv-testグループを割り当てます。

![qiita (56).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/e20d0bbf-d420-4b47-99e2-58266ad25699.png)
![qiita (57).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/301d1dcf-b73b-58df-82ac-a93ea041d406.png)
![qiita (58).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/a5090a85-0a47-90b0-ad54-1c2f152128b8.png)
![qiita (59).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/334d19bf-9c4d-d757-d433-219624fda8d7.png)
![qiita (60).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/35cceb40-76dc-8ed0-6e04-854307cd42ef.png)

同じ手順で、**中間証明書ファイル（intermediate.cer） も登録します。**
![qiita (68).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/e898cca1-e5c0-01aa-dd66-0485d5f1d0bf.png)

# 12. 【Intune】SCEP証明書を登録する
IBM Security Verifyの手順に従い、SCEP証明書プロファイルを登録します。

「デバイス」 > 「ポリシー」 > 「構成プロフィル」を選択して、「プロファイルの作成」をクリックします。
![qiita (69).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/9e2b8d87-1052-9461-54b8-30db880f10ab.png)

プロファイル作成画面で、以下の通り選択して、「作成」をクリックします。

-  プラットフォーム
    -  Windows 10 以降
-  プロファイルの種類
    - テンプレート- SCEP証明書

![qiita (70).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/c4cb9b1c-2f5e-7719-78d9-ce6493f43338.png)

SCEP証明書の設定画面で、以下の通り設定して、「作成」をクリックします。

-  基本タブ
    -  任意の名前を設定します。（例：WIN10_SCEP_certificate_profile）
-  構成設定タブ
    - 証明書の種類はユーザー
    - subject名の形式：CN={{UserPrincipalName}}::,OU=v::v1,OU=d::{{AzureADDeviceID}},OU=r::cloudIdentityRealm,O=mdm::selxxx.onmicrosoft.com （IBM Security Verifyのウィザードに記載されているものを指定）
    - subjectの別名 電子メールアドレス：{{UserPrincipalName}}
    - 証明書の有効期限　1年
    - キー記憶域プロバイダー（KSP)：トラステッド プラットフォーム モジュール (TPM) KSP が存在する場合は TPM KSP に登録する (それ以外はソフトウェア KSP に登録する)
    - キーの使用法：キーの暗号化、デジタル署名の2つを選択
    - キー サイズ (ビット):2048
    - ハッシュアルゴリズム：SHA-2
    - ルート証明書として登録したプロファイルを設定
    - 拡張キー使用法は、クライアント認証を選択
    - SCEPサーバーのURLとして、ウィザードに表示された値を登録（Windowsのみでもよい）
-  割り当てタブ
    -  グループにisv-testグループを割り当てます。
-  適用性ルール
    -  デフォルトのまま
![qiita (71).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/b843a019-7fc5-97ab-4731-a7481a4f07c6.png)
![qiita (72).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/b346d9e5-f2d4-b2cc-0875-45a3d51b26ff.png)
![qiita (73).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/e25289c3-4d45-710e-be62-4e953b016315.png)
![qiita (74).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/e709a10e-952b-aa09-e9a4-92c4aa09bd1c.png)
![qiita (75).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/3329c60a-1b10-c0d2-c124-19fc06c022bb.png)
![qiita (76).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/1c77aebb-ab5d-bfd4-c02b-0db68db6f371.png)
![qiita (77).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/7c9e174a-d6e9-bfec-8101-11a0b65fd116.png)
![qiita (78).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/3fa5dc5c-3b0f-f2d5-bf00-05bb92c6a0c2.png)
![qiita (79).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/f74eecef-d6ee-9737-e228-dbe18f9e3232.png)
![qiita (80).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/aa40c53b-d079-019f-abc2-2f5d828803db.png)
![qiita (81).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/eb41a7dd-bb58-abc5-4b93-75d6514384d4.png)
![qiita (82).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/c78d8660-3b21-be3d-b064-c0bfbced1e0e.png)
![qiita (83).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/7dab276a-a567-0f6f-2a9c-278d14af7bdd.png)

# 13. 【Intune】MDM スコープの設定を行う。

Microsoft Entra 管理センター（https://entra.microsoft.com） にアクセスします。

モビリティ（MDM および MAM）を検索、表示します。
Microsoft Intuneをクリックします。
![qiita (84).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/2f8db1b8-413d-c8e5-02ab-9eb21ed926e5.png)

「MAM ユーザー スコープ」から「一部」を選択し、「グループの選択」 からisv-testグループを割り当てて、構成を保存します。
![qiita (85).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/5500b0f8-1d9a-aab0-bf90-76e0db582478.png)


# 14.クライアント証明書の配布確認
設定が無事に行われると、動作確認用のWindowsデバイスに証明書が追加されます。

個人証明書に、発行先にユーザー名を含む名前の証明書が追加されます。
![qiita (86).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/32ae4c5b-133c-0263-c68b-62e81f91fd01.png)

中間証明機関-証明書に、発行者がIBM Security Verify Root CAの証明書が追加されます。
![qiita (87).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/f88e5134-bc0d-c92c-ecef-eeef0ac15870.png)

# 15.構成のテスト

IBM Security Verifyにクライアント証明書認証できることを確認します。
https://mtlsidaas-jp.verify.ibm.com/v1.0/mdm/mtls?tenant=selxxx.verify.ibm.com

クライアント証明書のダイアログが表示されたら、該当の証明書を選択してOKをクリックしていきます。
1回目は、mtlsidaas-jp.verify.ibm.comサイト用
![qiita (88).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/67f924dd-fc77-cfe5-b8db-f43d9c68bc18.png)

2回目は、今回構成したテナント用
![qiita (90).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/2e1a3a28-c144-36c5-dbd7-9fcee6030647.png)

ユーザーIDとパスワードによる認証不要でアクセスできることを確認します。
![qiita (91).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/2ae130e7-2c44-f3d4-4101-e0cd37a964d8.png)


# 16.クライアント証明書を利用したIBM Security Verifyへアクセス確認

IBMのサンプルSAMLアプリケーションを用いて動作確認してみます。
https://samlapp.12murzlqn27z.us-east.codeengine.appdomain.cloud

SAMLログインURLにアクセスします。
![qiita (94).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/0cca3ad9-3d5f-bd79-79b9-6f65cccc3adb.png)

クライアント証明書のダイアログがでてくるため、選択してOKをクリックします。
![qiita (95).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/a8bcde85-a8b8-f2dc-4f32-e093ac379281.png)

アプリケーションにログインできました。
![qiita (96).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/a2886f15-b79c-a68f-3b59-2d1a7b21846d.png)

# まとめ
ここまでの手順でIBM Security Verify と Intune連携し、クライアント証明書を利用した認証ができるようになりました。
次回は、デバイスの遵守ステータスを元にアクセス制御ができることを確認していきます。

- [【IBM Security Verify】Microsoft Intune と連携して、クライアント証明書認証を行う①](https://qiita.com/fitz/items/ebe5d54fdc0f1705dee9)
- [【IBM Security Verify】Microsoft Intune と連携して、クライアント証明書認証を行う②](https://qiita.com/fitz/items/2e6abe388a0226603366)
- [【IBM Security Verify】Microsoft Intune と連携して、クライアント証明書認証を行う③](https://qiita.com/fitz/items/452f46343f14b9b13164)


# 参考
- [【IBM Security Verify】モバイル・デバイス・マネージャーの管理](https://www.ibm.com/docs/ja/security-verify?topic=authentication-managing-mobile-device-managers)
- [【IBM Security Verify】Intune デバイス・マネージャーの追加](https://www.ibm.com/docs/ja/security-verify?topic=managers-adding-intune-device-manager)