概要
このドキュメントでは、Intune Mobile Device Management(MDM)をCisco Identity Services Engine(ISE)と統合する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cisco ISEのMDMサービスに関する知識
- Microsoft Azure Intuneサービスの知識
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- Cisco Identity Services Engine 3.0
- Microsoft Azure Intuneアプリケーション
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
MDMサーバは、モバイル事業者、サービスプロバイダー、および企業間に導入されたモバイルデバイスを保護、監視、管理、およびサポートします。これらのサーバは、導入環境におけるモバイルデバイス(Eメールアプリケーションなど)上の一部のアプリケーションの使用を制御するポリシーサーバとして機能します。ただし、アクセスコントロールリスト(ACL)に基づいてエンドポイントに詳細なアクセスを提供できるエンティティは、ネットワークだけです。ISEは、MDMサーバに必要なデバイス属性を問い合わせて、これらのデバイスのネットワークアクセス制御を提供するACLを作成します。Cisco ISEはMicrosoft Intune MDM Serverと統合し、デバイスが社内リソースにアクセスしようとする際に企業データを保護できるようにします。
設定
ネットワーク図

Microsoft Intuneの構成
IntuneポータルからISE信頼ストアへの証明書のインポート
Intune管理コンソールまたはAzure管理コンソール(テナントがあるサイトのいずれか)にログインします。ブラウザを使用して、証明書の詳細を取得します。
ステップ 1:を開きます。 Microsoft Azure portal
Webブラウザから実行します。
ステップ 2:ブラウザのツールバーでロック記号をクリックし、をクリックします View Certificates
.
ステップ 3:[Certificate]ウィンドウで、 Certification Path
tab.次に例を示します。

ステップ 4:検索 Baltimore Cyber Trust root
は通常のルートCAです。ただし、他に別のルートCAがある場合は、そのルートCA証明書をクリックします。そのルートCA証明書の[Details]タブで、証明書をファイルにコピーしてBASE64証明書として保存できます。
ステップ 5:ISEで、 Administration > System > Certificates > Trusted Certificates
をクリックし、保存したルート証明書をインポートします。証明書に次のような意味のある名前を付けます。 Azure MDM
.中間CA証明書についても、この手順を繰り返します。
ISEをアプリケーションとしてAzureポータルに展開する
ステップ 1:次に移動します。 Azure Active Directory
を選択し、 App registrations
.

ステップ 2:内 App registrations
ISE名を使用して新しいアプリケーション登録を作成します。クリック Create
以下の図に、出力例を示します。

ステップ 3:選択 Settings
アプリケーションを編集し、必要なコンポーネントを追加します。

ステップ 4:通常の Settings
を選択し、必要な権限を選択して、次のオプションを適用します。
- Microsoft Graph
- 委任された権限
- Microsoft Intuneデバイスの構成とポリシーを読む
- Microsoft Intune構成の読み取り
- ユーザーのサインイン
- ユーザのデータにいつでもアクセスできる
- Microsoft Intune API
- Microsoft Intuneからデバイスの状態とコンプライアンス情報を取得する
- Windows Azure Active Directory
- 委任された権限
- ディレクトリデータの読み取り
- サインインしてユーザプロファイルを読む
設定の結果は、次に示すような結果になります(図16を参照)。


ステップ 5:クリック Grant Permissions
すべてのアプリケーション権限を確認します。このプロセスが有効になるまでに5 ~ 10分かかります。を編集 Azure Manifest
内部ISE CA証明書をインポートするために作成されたアプリケーションのファイル。
AzureのアプリケーションへのISE証明書のインポート
ステップ 1:アプリケーションのマニフェストファイルをダウンロードします。

注:これはJSON拡張子を持つファイルです。ファイル名や拡張子は編集しないでください。編集しないと失敗します。
ステップ 2:すべてのノードからISEシステム証明書をエクスポートします。PANで、次の場所に移動します。 Administration > System > Certificates > System Certificates
を選択し、[Default self-signed server certificate]を選択して、 Export
.選択 Export Certificate Only
(デフォルト)を選択し、保存場所を選択します。証明書からBEGINタグとENDタグを削除し、テキストの残りを1行としてコピーします。これは、「レガシーオプション」セクションで説明されている2020年6月より前のバージョンに適用されます。

2020年6月現在、ポータルでは証明書を直接アップロードできます。

レガシーオプション:
ステップ 1:PowerShellプロシージャを実行して証明書をBASE64に変換し、Azure JSONマニフェストファイルに適切にインポートします。WindowsからWindows PowerShellまたはWindows PowerShell ISEアプリケーションを使用します。次のコマンドを使用します。
$cer = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
$cer.Import(“mycer.cer”)
$bin = $cer.GetRawCertData()
$base64Value = [System.Convert]::ToBase64String($bin)
$bin = $cer.GetCertHash()
$base64Thumbprint = [System.Convert]::ToBase64String($bin)
$keyid = [System.Guid]::NewGuid().ToString()
ステップ 2:~の価値を維持する $base64Thumbprint, $base64Value
,と $keyid
次の手順で使用します。これらの値はすべてJSONフィールドに追加されます keyCredentials
デフォルトでは次のように表示されます。

これを行うには、次の順序で値を使用してください。
"keyCredentials": [
{
“customKeyIdentifier“: “$base64Thumbprint_from_powerShell_for_PPAN”,
“keyId“: “$keyid_from_above_PPAN“,
"type": "AsymmetricX509Cert",
"usage": "Verify",
"value": "Base64 Encoded String of ISE PPAN cert"
},
{
“customKeyIdentifier“: “$base64Thumbprint_from_powerShell_for_SPAN”,
“keyId“: “$keyid_from_above_SPAN“,
"type": "AsymmetricX509Cert",
"usage": "Verify",
"value": "Base64 Encoded String of ISE SPAN cert"
}
],
ステップ 3:編集したファイルをアップロードする JSON
ファイルをAzure Portalに保存して、 keyCredentials
ISEで使用される証明書から取得します。
次のように表示されます。

ステップ 4:アップロード後は、 value
~の下に隠れる keyCredentials
示す null
これはMicrosoft側で最初のアップロード後にこれらの値を表示できないように強制されているためです。
ISEにMDMサーバを追加するために必要な値は、次の場所からコピーできます。 Microsoft Azure AD Graph API Endpoint
と OAUTH 2.0 Token Endpoint
.

これらの値は、ISE GUIで入力する必要があります。移動先 Administration > Network Resources > External MDM
新しいサーバを追加します。
ISE |
Intune |
自動検出URL |
[Endpoints] > [Microsoft Azure AD Graph API Endpoint] |
クライアント ID |
{Registered-App-Name} >アプリケーションID |
トークン発行URL |
[Endpoints] > [OAuth 2.0 Token Endpoint] |

設定が完了すると、ステータスはenabledと表示されます。

確認とトラブルシューティング
sun.security.validatorExceptionに基づく「Connection to the server failed」

ステップ 1:次のログを含むサポートバンドルをTRACEレベルで収集します。
portal (guest.log)
mdmportal (ise-psc.log)
external-mdm (ise-psc.log)
ステップ 2:オン ise-psc.log
次のログの場合:
2016-10-17 12:45:52,158 DEBUG [admin-http-pool9300][] cisco.cpm.mdm.authtoken.MdmAzureActiveDirectoryClient -::::- ClientId - a46a6fd7-4a31-4471-9078-59cb2bb6a5ab, Token issuance endpoint - https://login
microsoftonline.com/273106dc-2878-42eb-b7c8-069dcf334687/oauth2/token, ResourceId/App Id uri - https://graph.windows.net
2016-10-17 12:45:52,329 DEBUG [admin-http-pool9300][] cisco.cpm.mdm.authtoken.MdmCertAndKeyUtil -::::- Certificate Friendly Name -USMEM-AM01-ISE.Sncorp.smith-nephew.com#USMEM-AM01-ISE.Sncorp.smith-nephew.c
om#00003
2016-10-17 12:45:52,354 DEBUG [admin-http-pool9300][] cisco.cpm.mdm.authtoken.MdmCertAndKeyUtil -::::- Result of command invocation
2016-10-17 12:45:52,363 DEBUG [admin-http-pool9300][] cisco.cpm.mdm.authtoken.MdmCertAndKeyUtil -::::- Result of command invocation
2016-10-17 12:45:52,364 DEBUG [admin-http-pool9300][] cisco.cpm.mdm.authtoken.MdmCertAndKeyUtil -::::- Successfuly decrypted private key
2016-10-17 12:45:52,794 ERROR [admin-http-pool9300][] cisco.cpm.mdm.authtoken.MdmAzureActiveDirectoryClient -::::- There is a problem with the Azure certificates or ISE trust store. sun.security.validator
.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
2016-10-17 12:45:52,794 ERROR [admin-http-pool9300][] cisco.cpm.mdm.authtoken.MdmAzureActiveDirectoryClient -::::- Unable to acquire access token from Azure
java.util.concurrent.ExecutionException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException
: unable to find valid certification path to requested target
これは、Cisco IOSソフトウェアを実行する前に graph.microsoft.com
このページに表示されます。

ステップ 3:ポリシーの横の [レポート(Report)] locker
アイコンをクリックし、証明書の詳細を確認します。

ステップ 4:BASE64形式のファイルに保存し、ISE信頼ストアにインポートします。完全な証明書チェーンをインポートしたことを確認します。その後、MDMサーバへの接続を再度テストします。
Azure ADから認証トークンを取得できませんでした

通常、このエラーは以下の場合に発生します。 JSON
ファイルに誤ったISE証明書チェーンが含まれています。マニフェストファイルをAzureにアップロードする前に、少なくとも次の構成が存在するかどうかを確認してください:
"keyCredentials": [
{
“customKeyIdentifier“: “$base64Thumbprint_from_powerShell_for_PPAN”,
“keyId“: “$keyid_from_above_PPAN“,
"type": "AsymmetricX509Cert",
"usage": "Verify",
"value": "Base64 Encoded String of ISE PPAN cert"
},
{
“customKeyIdentifier“: “$base64Thumbprint_from_powerShell_for_SPAN”,
“keyId“: “$keyid_from_above_SPAN“,
"type": "AsymmetricX509Cert",
"usage": "Verify",
"value": "Base64 Encoded String of ISE SPAN cert"
}
}
],
前述の例は、PANとSANが存在するシナリオに基づいています。PowerShellからスクリプトを再度実行し、適切なBASE64値をインポートします。マニフェストファイルをアップロードしようとすると、エラーが発生しません。
$cer = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
$cer.Import(“mycer.cer”)
$bin = $cer.GetRawCertData()
$base64Value = [System.Convert]::ToBase64String($bin)
$bin = $cer.GetCertHash()
$base64Thumbprint = [System.Convert]::ToBase64String($bin)
$keyid = [System.Guid]::NewGuid().ToString()
値を適用することを忘れないでください。 $base64Thumbprint, $base64Value
と $keyid
「設定」セクションの手順で説明したとおり。
Azure ADから認証トークンを取得できませんでした

多くの場合、このエラーは、でAzureアプリに適切なアクセス許可が付与されていない場合に発生します portal.azure.com
.アプリケーションに正しい属性が設定されていることを確認し、 Grant Permissions
変化が起こるたびに

このメッセージは、ISEがトークン発行URLにアクセスしようとして、ISEが返さない証明書が返された場合に発生します。完全なCAチェーンがISE信頼ストアにあることを確認します。正しい証明書がISEの信頼できるストアにインストールされた後も問題が解決しない場合は、パケットキャプチャを実行し、何が送信されているかを確認するために接続をテストします。
関連情報