Mevcut bir hizmet sorumlusunu alma

Hizmet sorumlularını listeleme

Kullanmak istediğiniz bir hizmet sorumlunuz zaten varsa, bu adımda mevcut hizmet sorumlunuzun nasıl alındığını açıklanmaktadır.

Kiracıdaki hizmet sorumlularının listesi az ad sp list ile alınabilir. Varsayılan olarak bu komut kiracınız için ilk 100 hizmet sorumlusunu döndürür. Kiracının tüm hizmet sorumlularını almak için parametresini --all kullanın. Bu listeyi almak uzun sürebilir, bu nedenle listeyi aşağıdaki parametrelerden biriyle filtrelemeniz önerilir:

  • --display-name sağlanan adla eşleşen bir ön eke sahip hizmet sorumlularını istemektedir. Hizmet sorumlusunun görünen adı, oluşturma sırasında parametresiyle --name ayarlanan değerdir. Hizmet sorumlusu oluşturma sırasında ayarlamadıysanız --name , ad ön eki olur azure-cli-.
  • --spn tam hizmet sorumlusu adı eşleştirmesi filtrelerini kullanın. Hizmet asıl adı her zaman ile https://başlar. kullandığınız --name değer bir URI değilse, bu değerin https:// ardından görünen ad eklenir.
  • --show-mine yalnızca oturum açmış kullanıcı tarafından oluşturulan hizmet sorumlularını istemektedir.
  • --filterbir OData filtresi alır ve sunucu tarafı filtreleme gerçekleştirir. Bu yöntem, CLI --query parametresiyle istemci tarafı filtrelemesi üzerinden önerilir. OData filtreleri hakkında bilgi edinmek için bkz . Filtreler için OData ifadesi söz dizimi.

Hizmet sorumlusu nesneleri için döndürülen bilgiler ayrıntılıdır. Yalnızca oturum açmak için gerekli bilgileri almak için sorgu dizesini [].{id:appId, tenant:appOwnerOrganizationId}kullanın. Şu anda oturum açmış olan kullanıcı tarafından oluşturulan tüm hizmet sorumluları için oturum açma bilgilerini alan bir örnek aşağıda verilmiştir:

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

Çok sayıda hizmet sorumlusu olan büyük bir kuruluşta çalışıyorsanız şu komut örneklerini deneyin:

# 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

Önemli

Kullanıcı ve kiracı az ad sp list ve az ad sp show ile alınabilir, ancak kimlik doğrulama gizli dizileri veya kimlik doğrulama yöntemi kullanılamaz. Azure Key Vault'taki sertifikaların gizli dizileri az keyvault secret show ile alınabilir, ancak varsayılan olarak başka hiçbir gizli dizi depolanmaz. Bir kimlik doğrulama yöntemini veya gizli diziyi unutursanız hizmet sorumlusu kimlik bilgilerini sıfırlayın.

Hizmet sorumlusu özellikleri

kullanarak az ad sp listhizmet sorumlularının listesini aldığınızda, betiğinizde başvurabileceğiniz birçok çıkış özelliği vardır.

[
  {
    "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
    }
  }
]

--query Değişkenlerde hizmet sorumlusu özelliklerini almak ve depolamak için parametresini kullanın.

# 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"

Sonraki Adımlar

Mevcut hizmet sorumlunuzu nasıl alacağınızı öğrendiğinize göre, hizmet sorumlusu rollerinizi yönetmeyi öğrenmek için sonraki adıma geçin.