Aracılığıyla paylaş


Azure CLI kullanarak hizmet sorumlusuyla Azure'da oturum açma

Hizmet sorumluları, önceden tanımlanmış roller aracılığıyla izin atayabileceğiniz belirli bir kullanıcıya bağlı olmayan hesaplardır. Güvenli betikler veya programlar yazmanın en iyi yolu hizmet sorumlusuyla kimlik doğrulaması yapmaktır. Hem izin kısıtlamalarını hem de yerel olarak depolanan statik kimlik bilgileri uygulamanızı sağlar. Hizmet sorumluları hakkında daha fazla bilgi edinmek için bkz. Azure CLI kullanarak Azure hizmet sorumlularıyla çalışma.

Hizmet sorumlusuyla oturum açma için şunlar gerekir:

  • Hizmet sorumlusuyla ilişkili URL veya ad.
  • Hizmet sorumlusu istemci sırrı veya PEM biçiminde hizmet sorumlusu oluşturmak için kullanılan X509 sertifikası.
  • Hizmet ilkesiyle ilişkili kiracı, bir .onmicrosoft.com etki alanı veya Microsoft Entra kiracı kimliği olarak.

Hizmet sorumluları ve Azure CLI ile çalışırken iki önemli olguyu not edin:

  • PEM dosyasında ÖZEL ANAHTAR'a SERTİFİKA eklenmelidir. PEM dosya biçimi örneği için bkz. Sertifika tabanlı kimlik doğrulaması.

  • Hizmet sorumlunuz Key Vault'ta depolanan bir sertifika kullanıyorsa bu sertifikanın özel anahtarının Azure'da oturum açmadan kullanılabilir olması gerekir. az login için sertifikayı almak adına Key Vault'tan Sertifika Alma bölümüne bakın.

İstemci sırrıyla oturum açmak için aşağıdaki komutu kullanın:

az login --service-principal --username APP_ID --password CLIENT_SECRET --tenant TENANT_ID

Sertifikayla oturum açmak için aşağıdaki komutu kullanın:

az login --service-principal --username APP_ID --certificate /path/to/cert.pem --tenant TENANT_ID

Önemli

Etkileşimli olarak kullanırken parolanızın konsolda görüntülenmesini önlemek için az login altındaki read -s komutunu kullanın.

read -sp "Azure password: " AZ_PASS && echo && az login --service-principal --username <app-id> --password $AZ_PASS --tenant <tenant>

PowerShell'in altında cmdlet'ini Get-Credential kullanın.

$AzCred = Get-Credential -UserName <app-id>
az login --service-principal --username $AzCred.UserName --password $AzCred.GetNetworkCredential().Password --tenant <tenant>

Ayrıca bakınız