Uwierzytelnianie platformy Azure przy użyciu jednostki usługi
W tym artykule opisano, jak biblioteka tożsamości platformy Azure obsługuje uwierzytelnianie tokenu entra firmy Microsoft za pośrednictwem jednostki usługi. W tym artykule omówiono następujące tematy:
- Tworzenie jednostki usługi przy użyciu interfejsu wiersza polecenia platformy Azure
- Poświadczenia wpisu tajnego klienta
- Poświadczenia certyfikatu klienta
Aby uzyskać więcej informacji, zobacz Application and service principal objects in Microsoft Entra ID (Obiekty aplikacji i jednostki usługi w usłudze Microsoft Entra ID). Aby rozwiązać problemy z uwierzytelnianiem jednostki usługi, zobacz Rozwiązywanie problemów z uwierzytelnianiem jednostki usługi.
Tworzenie jednostki usługi przy użyciu interfejsu wiersza polecenia platformy Azure
Skorzystaj z poniższych przykładów interfejsu wiersza polecenia platformy Azure, aby utworzyć lub pobrać poświadczenia wpisów tajnych klienta.
Użyj następującego polecenia, aby utworzyć jednostkę usługi i skonfigurować jej dostęp do zasobów platformy Azure:
az ad sp create-for-rbac \
--name <your application name> \
--role Contributor \
--scopes /subscriptions/mySubscriptionID
To polecenie zwraca wartość podobną do następujących danych wyjściowych:
{
"appId": "generated-app-ID",
"displayName": "dummy-app-name",
"name": "http://dummy-app-name",
"password": "random-password",
"tenant": "tenant-ID"
}
Użyj następującego polecenia, aby utworzyć jednostkę usługi wraz z certyfikatem. Zanotuj ścieżkę/lokalizację tego certyfikatu.
az ad sp create-for-rbac \
--name <your application name> \
--role Contributor \
--cert <certificate name> \
--create-cert
Sprawdź zwrócone poświadczenia i zanotuj następujące informacje:
AZURE\_CLIENT\_ID
dla identyfikatora appId.AZURE\_CLIENT\_SECRET
dla hasła.AZURE\_TENANT\_ID
dla dzierżawy.
Poświadczenia wpisu tajnego klienta
To poświadczenie uwierzytelnia utworzoną jednostkę usługi za pośrednictwem klucza tajnego klienta (hasła). W tym przykładzie pokazano uwierzytelnianie SecretClient
z biblioteki klienta azure-security-keyvault-secrets przy użyciu polecenia ClientSecretCredential
.
/**
* Authenticate with client secret.
*/
ClientSecretCredential clientSecretCredential = new ClientSecretCredentialBuilder()
.clientId("<your client ID>")
.clientSecret("<your client secret>")
.tenantId("<your tenant ID>")
.build();
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(clientSecretCredential)
.buildClient();
Poświadczenia certyfikatu klienta
To poświadczenie uwierzytelnia utworzoną jednostkę usługi za pomocą certyfikatu klienta. W tym przykładzie pokazano uwierzytelnianie SecretClient
z biblioteki klienta azure-security-keyvault-secrets przy użyciu polecenia ClientCertificateCredential
.
/**
* Authenticate with a client certificate.
*/
ClientCertificateCredential clientCertificateCredential = new ClientCertificateCredentialBuilder()
.clientId("<your client ID>")
.pemCertificate("<path to PEM certificate>")
// Choose between either a PEM certificate or a PFX certificate.
//.pfxCertificate("<path to PFX certificate>", "PFX CERTIFICATE PASSWORD")
.tenantId("<your tenant ID>")
.build();
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(clientCertificateCredential)
.buildClient();
Następne kroki
W tym artykule opisano uwierzytelnianie za pośrednictwem jednostki usługi. Ta forma uwierzytelniania jest jednym z wielu sposobów uwierzytelniania w zestawie Azure SDK dla języka Java. W poniższych artykułach opisano inne sposoby:
- Uwierzytelnianie platformy Azure w środowiskach deweloperskich
- Uwierzytelnianie aplikacji hostowanych na platformie Azure
- Uwierzytelnianie przy użyciu poświadczeń użytkownika
Jeśli wystąpią problemy związane z uwierzytelnianiem jednostki usługi, zobacz Rozwiązywanie problemów z uwierzytelnianiem jednostki usługi.
Po opanowaniu uwierzytelniania zobacz Konfigurowanie rejestrowania w zestawie Azure SDK dla języka Java , aby uzyskać informacje na temat funkcji rejestrowania udostępnianych przez zestaw SDK.