Megosztás a következőn keresztül:


Meglévő szolgáltatásnév lekérése

Szolgáltatásnevek listázása

Ha már rendelkezik egy meglévő szolgáltatásnévvel, amelyet használni szeretne, ez a lépés ismerteti a meglévő szolgáltatásnév lekérését.

A bérlői szolgáltatásnevek listája lekérhető az ad sp listával. Ez a parancs alapértelmezés szerint a bérlő első 100 szolgáltatásnevét adja vissza. A bérlő összes szolgáltatásnévének lekéréséhez használja a paramétert --all . A lista beszerzése hosszú időt vehet igénybe, ezért javasoljuk, hogy szűrje a listát az alábbi paraméterek egyikével:

  • --display-namea megadott névnek megfelelő előtaggal rendelkező szolgáltatásnevek kérése. A szolgáltatásnév megjelenítendő neve a paraméterrel a --name létrehozás során beállított érték. Ha nem a szolgáltatásnév létrehozásakor állította be --name , a névelőtag a következő azure-cli-: .
  • --spn szűrőket a szolgáltatásnév pontos névegyeztetéséről. A szolgáltatásnév neve mindig a következővel https://kezdődik: . ha a használt --name érték nem URI volt, akkor ezt az https:// értéket a megjelenítendő név követi.
  • --show-mine csak a bejelentkezett felhasználó által létrehozott szolgáltatásnevek kérése.
  • --filterOData-szűrőt vesz igénybe, és kiszolgálóoldali szűrést végez. Ez a módszer az ügyféloldali szűrést javasoljuk a parancssori felület paraméterével --query . Az OData-szűrőkkel kapcsolatos információkért tekintse meg a szűrők OData-kifejezésszintaxisát.

A szolgáltatásnév-objektumokhoz visszaadott információk részletesek. Ha csak a bejelentkezéshez szükséges információkat szeretné lekérni, használja a lekérdezési sztringet [].{id:appId, tenant:appOwnerOrganizationId}. Íme egy példa, amely beolvasja a bejelentkezési adatokat az aktuálisan bejelentkezett felhasználó által létrehozott összes szolgáltatásnévhez:

az ad sp list --show-mine --query "[].{SPname:displayName, SPid:appId, tenant:appOwnerOrganizationId}" --output table

Ha sok szolgáltatásnévvel rendelkező nagy szervezetben dolgozik, próbálkozzon az alábbi parancsokkal:

# get service principals containing a keyword
az ad sp list --display-name mySearchWord --output table

# get service principals using an OData filter
az ad sp list --filter "displayname eq 'myExactServicePrincipalName'" --output json

# get a service principal having a certain servicePrincipalNames property value
az ad sp list --spn https://spURL.com

Fontos

A felhasználó és a bérlő egyaránt lekérhető az az ad sp listával és az az ad sp show-val, de a hitelesítési titkos kódok vagy a hitelesítési módszer nem érhető el. Az Azure Key Vault tanúsítványainak titkos kulcsait az az keyvault titkos kódkiállítással lehet lekérni, de alapértelmezés szerint nem tárol más titkos kulcsokat. Ha elfelejt egy hitelesítési módszert vagy titkos kulcsot, állítsa alaphelyzetbe a szolgáltatásnév hitelesítő adatait.

Szolgáltatásnév tulajdonságai

Ha a szolgáltatásnevek listáját használja az ad sp list, számos kimeneti tulajdonságra hivatkozhat a szkriptben.

[
  {
    "accountEnabled": true,
    "addIns": [],
    "alternativeNames": [],
    "appDescription": null,
    "appDisplayName": "myServicePrincipalName",
    "appId": "00000000-0000-0000-0000-000000000000",
    "appOwnerOrganizationId": "00000000-0000-0000-0000-000000000000",
    "appRoleAssignmentRequired": false,
    "appRoles": [],
    "applicationTemplateId": null,
    "createdDateTime": null,
    "deletedDateTime": null,
    "description": null,
    "disabledByMicrosoftStatus": null,
    "displayName": "myServicePrincipalName",
    "homepage": "https://myURL.com",
    "id": "00000000-0000-0000-0000-000000000000",
    "info": {
      "logoUrl": null,
      "marketingUrl": null,
      "privacyStatementUrl": null,
      "supportUrl": null,
      "termsOfServiceUrl": null
    },
    "keyCredentials": [],
    "loginUrl": null,
    "logoutUrl": null,
    "notes": null,
    "notificationEmailAddresses": [],
    "oauth2PermissionScopes": [
      {
        "adminConsentDescription": "my admin description",
        "adminConsentDisplayName": "my admin display name",
        "id": "00000000-0000-0000-0000-000000000000",
        "isEnabled": true,
        "type": "User",
        "userConsentDescription": "my user description",
        "userConsentDisplayName": "my user display name",
        "value": "user_impersonation"
      }
    ],
    "passwordCredentials": [],
    "preferredSingleSignOnMode": null,
    "preferredTokenSigningKeyThumbprint": null,
    "replyUrls": [],
    "resourceSpecificApplicationPermissions": [],
    "samlSingleSignOnSettings": null,
    "servicePrincipalNames": [
      "00000000-0000-0000-0000-000000000000",
      "https://myURL.com"
    ],
    "servicePrincipalType": "Application",
    "signInAudience": null,
    "tags": [
      "WindowsAzureActiveDirectoryIntegratedApp"
    ],
    "tokenEncryptionKeyId": null,
    "verifiedPublisher": {
      "addedDateTime": null,
      "displayName": null,
      "verifiedPublisherId": null
    }
  }
]

A paraméter használatával --query lekérheti és tárolhatja a szolgáltatásnév tulajdonságait változókban.

# Bash script
spID=$(az ad sp list --display-name myServicePrincipalName --query "[].{spID:appId}" --output tsv)
tenantID=$(az ad sp list --display-name myServicePrincipalName --query "[].{tenant:appOwnerOrganizationId}" --output tsv)
userConsentDescr=$(az ad sp list --display-name myServicePrincipalName --query "[].{ucs:oauth2PermissionScopes.userConsentDescription[0]}" --output tsv)
echo "Using appId $spID in tenant $tenantID for $userConsentDescr"

Következő lépések

Most, hogy megismerte a meglévő szolgáltatásnév lekérésének módját, folytassa a következő lépéssel a szolgáltatásnév-szerepkörök kezelésével.