簡介
本文說明如何將Intune流動裝置管理(MDM)與思科身份服務引擎(ISE)整合。
必要條件
需求
思科建議您瞭解以下主題:
- 思科ISE中的MDM服務知識
- 瞭解Microsoft Azure Intune服務
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- 思科身分識別服務引擎3.0
- Microsoft Azure Intune應用程式
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
MDM伺服器可保護、監控、管理並支援跨移動運營商、服務提供商和企業部署的流動裝置。這些伺服器充當策略伺服器,控制部署環境中流動裝置上的某些應用程式(例如電子郵件應用程式)的使用。但是,網路是唯一可以根據存取控制清單(ACL)提供終端精細存取的實體。ISE向MDM伺服器查詢必要的裝置屬性,以便建立為這些裝置提供網路訪問控制的ACL。思科ISE與Microsoft Intune MDM伺服器整合,在裝置嘗試訪問本地資源時幫助組織保護企業資料。
設定
網路圖表

配置Microsoft Intune
將證書從Intune門戶匯入到ISE受信任儲存
登入到Intune管理控制檯或Azure管理控制檯,無論哪個網站有你的租戶。使用瀏覽器以取得憑證詳細資訊:
步驟 1.開啟 Microsoft Azure portal
從網路瀏覽器中。
步驟 2.在瀏覽器工具欄中按一下鎖定符號,然後按一下 View Certificates
.
步驟 3.在「Certificate(證書)」視窗中,按一下 Certification Path
頁籤。以下提供範例:

步驟 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
組態的結果與以下所示類似:


步驟 5.按一下 Grant Permissions
以確認所有應用程式許可權。此過程需要5-10分鐘才能生效。編輯 Azure Manifest
為匯入內部ISE CA證書而建立的應用程式的檔案。
將ISE證書匯入Azure中的應用程式
步驟 1.下載應用程式的清單檔案。

註:該檔案具有JSON副檔名。請勿編輯檔名或副檔名,否則它將失敗。
步驟 2.從所有節點匯出ISE系統證書。在PAN上,導航至 Administration > System > Certificates > System Certificates
,選擇Default self-signed server certificate ,然後按一下 Export
.選擇 Export Certificate Only
(預設),並選擇儲存位置。從證書中刪除BEGIN和END標籤,並將文本的其餘部分復製為單行。這適用於舊版選項部分所述的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門戶,以便驗證 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 |
終結點> Microsoft Azure AD Graph API終結點 |
客戶端ID |
{Registered-App-Name} >應用程式ID |
令牌頒發URL |
終結點> OAuth 2.0令牌終結點 |

組態完成後,狀態顯示已啟用。

驗證和疑難排解
基於sun.security.validatorException的「連線到伺服器失敗」

步驟 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
這表示需要匯入 graph.microsoft.com
證書,出現在此頁面上。

步驟 3.按一下 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的受信任儲存中安裝了正確的證書後問題仍然存在,請執行資料包捕獲並測試連線,以便檢視正在傳送的內容。
相關資訊