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

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

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

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

Ответы [ 2 ]

1 голос
/ 16 октября 2019

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

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

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

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

enter image description here

0 голосов
/ 16 октября 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

Результат: мои сертификаты на портале: enter image description here

результат запроса: enter image description here

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

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...