Как получить отпечаток сертификата, связанного с субъектом службы, с помощью Powershell?

У меня есть сертификат, связанный с субъектом службы в Azure AD. Как я могу получить связанное с ним имя сертификата или отпечаток пальца с помощью PowerShell?

Я пробовал команды Get-AzureRmADServicePrincipalCredential, Get-AzureRmADSpCredential и Get-AzureADServicePrincipalKeyCredential, но они возвращают Key Identifier не отпечаток пальца.

В основном я хочу узнать, какой сертификат связан с принципалом, прежде чем отозвать его.


person Garima    schedule 16.10.2019    source источник


Ответы (2)


Как упоминал @Stanley Gong, вы можете использовать MS Graph, чтобы получить его.

Вот другой способ, попробуйте команду, как показано ниже, $Thumbprint - это то, что вы хотите.

Примечание. <object-id> - это идентификатор объекта вашего приложения AD (регистрация приложения), а не принципала службы (приложение Enterprise), они разные.

$CustomKeyIdentifier = (Get-AzureADApplicationKeyCredential -ObjectId "<object-id>").CustomKeyIdentifier
$Thumbprint = [System.Convert]::ToBase64String($CustomKeyIdentifier)

введите здесь описание изображения

person Joy Wang    schedule 16.10.2019
comment
Спасибо, это работает и проще. Для меня он также работает с идентификатором объекта корпоративного приложения. - person Garima; 16.10.2019

Попробуйте выполнить команду PS ниже, чтобы получить отпечаток сертификата через Microsoft Graph API:

$clientId = "<your Azure AD App ID>"
$clientSec="<your Azure AD App Secret>"

$appObjId = "<object ID of the app that you want to query>"

$tenant = "<your tenant ID>"
$body=@{
    "grant_type"="client_credentials";
    "resource"="https://graph.microsoft.com/";
    "client_id"= $clientId;
    "client_secret" = $clientSec
}

$accessToken=(Invoke-RestMethod -Uri "https://login.windows.net/$tenant/oauth2/token" -Method POST -Body $body ).access_token

$keyCreds = Invoke-RestMethod -Uri "https://graph.microsoft.com/beta/applications/$appObjId/keyCredentials" -Method Get -Headers @{"Authorization" = "Bearer $accessToken"}

$keyCreds.value.customKeyIdentifier

Результат: мои сертификаты на портале:  введите описание изображения здесь

результат запроса:  введите описание изображения здесь

Пожалуйста, обратите внимание, что убедитесь, что ваше приложение, которое вы использовали для получения токена, имеет разрешение ниже, чтобы оно могло вызывать Microsoft graph API для запроса ваших приложений:

введите здесь описание изображения

person Stanley Gong    schedule 16.10.2019