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 olurazure-cli-
.--spn
tam hizmet sorumlusu adı eşleştirmesi filtrelerini kullanın. Hizmet asıl adı her zaman ilehttps://
başlar. kullandığınız--name
değer bir URI değilse, bu değerinhttps://
ardından görünen ad eklenir.--show-mine
yalnızca oturum açmış kullanıcı tarafından oluşturulan hizmet sorumlularını istemektedir.--filter
bir 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 list
hizmet 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.