Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Z tego artykułu dowiesz się, jak bezpiecznie uwierzytelniać aplikacje w celu automatyzowania zadań przy użyciu modułu Microsoft Entra PowerShell. Obejmuje uwierzytelnianie oparte na certyfikatach, poświadczenia tajnego klucza klienta i tożsamości zarządzane.
Ta wiedza umożliwia wydajny i bezpieczny dostęp do zasobów Microsoft Entra i Azure bez ręcznego zarządzania poufnymi poświadczeniami. Niezwykle ważne jest utrzymanie niezawodnych rozwiązań w zakresie zabezpieczeń i usprawnianie zarządzania dostępem w środowiskach chmury.
Ważna
Dostęp tylko do aplikacji udziela uprawnień bezpośrednio aplikacji i wymaga od administratora wyrażenia zgody na wymagane zakresy uprawnień. Aby uzyskać więcej informacji na temat dostępu tylko do aplikacji, zobacz Platforma tożsamości Microsoft i przepływ poświadczeń klienta OAuth 2.0.
Prerequisites
Aby korzystać z dostępu tylko do aplikacji za pomocą modułu Microsoft Entra PowerShell, potrzebne są następujące elementy:
- Konto Microsoft Entra ID. Jeśli jeszcze go nie masz, możesz bezpłatnie utworzyć konto.
- Jedna z następujących ról:
- Zainstalowano moduł programu PowerShell Microsoft Entra. Postępuj zgodnie z przewodnikiem Instalowanie modułu Microsoft Entra PowerShell, aby zainstalować moduł.
- Certyfikat do użycia jako poświadczenie dla aplikacji. Certyfikat może być certyfikatem z podpisem własnym lub certyfikatem z urzędu. Aby uzyskać więcej informacji na temat tworzenia certyfikatu z podpisem własnym, zobacz Tworzenie certyfikatu publicznego z podpisem własnym. Certyfikaty z podpisem własnym nie są zalecane w scenariuszach produkcyjnych. Uzyskaj certyfikat od urzędu certyfikacji do zastosowań produkcyjnych.
Korzystanie z uwierzytelniania opartego na certyfikatach
Te informacje powinny być używane do uwierzytelniania przy użyciu certyfikatu.
- Podmiot lub odcisk palca certyfikatu przesłanego do rejestracji aplikacji w Microsoft Entra.
- Identyfikator aplikacji do rejestracji aplikacji. Jeśli nie masz jeszcze rejestracji aplikacji, zobacz Tworzenie aplikacji niestandardowej.
- Identyfikator najemcy.
W tej sekcji dowiesz się, jak używać certyfikatu do uwierzytelniania za pomocą modułu Microsoft Entra PowerShell. Do uwierzytelnienia można użyć odcisku palca certyfikatu, nazwy certyfikatu lub samego certyfikatu. Aby uwierzytelnić się przy użyciu podanych przykładów, musisz zalogować się przy użyciu co najmniej roli Administrator ról uprzywilejowanych .
Użyj odcisku certyfikatu
$params = @{
ClientId = 'YOUR_APP_ID'
TenantId = 'YOUR_TENANT_ID'
CertificateThumbprint = 'YOUR_CERT_THUMBPRINT'
}
Connect-Entra @params
Aby znaleźć odcisk palca certyfikatu w centrum administracyjne Microsoft Entra, przejdź do pozycji Identity>Rejestracje aplikacji>Certificates & secrets>Certificates. Wybierz certyfikat i skopiuj jego odcisk palca.
Alternatywnie możesz użyć następującego polecenia programu PowerShell, aby uzyskać certyfikat z podpisem własnym:
Get-ChildItem Cert:\CurrentUser\My
Użyj nazwy certyfikatu
$params = @{
ClientId = 'YOUR_APP_ID'
TenantId = 'YOUR_TENANT_ID'
CertificateName = 'YOUR_CERT_SUBJECT'
}
Connect-Entra @params
Podmiot certyfikatu można znaleźć, uruchamiając polecenie:
Get-ChildItem Cert:\CurrentUser\My\$CertThumbprint | Select Subject
Korzystanie z certyfikatu
$cert = Get-ChildItem Cert:\CurrentUser\My\$CertThumbprint
Connect-Entra -ClientId 'YOUR_APP_ID' -TenantId 'YOUR_TENANT_ID' -Certificate $cert
Aby użyć certyfikatu przechowywanego w magazynie certyfikatów maszyny lub innej lokalizacji podczas nawiązywania połączenia z programem Microsoft Entra PowerShell, określ lokalizację certyfikatu.
Jeśli uwierzytelnianie zakończy się pomyślnie, zostanie wyświetlony komunikat Welcome To Microsoft Graph!. Uruchom polecenie Get-EntraContext , aby sprawdzić, czy uwierzytelniasz się przy użyciu metody tylko dla aplikacji. Dane wyjściowe powinny wyglądać podobnie do poniższych.
ClientId : YOUR_APP_ID
TenantId : YOUR_TENANT_ID
CertificateThumbprint :
Scopes : {Group.Read.All, User.Read.All}
AuthType : AppOnly
CertificateName : YOUR_CERT_SUBJECT
Account :
AppName : {Your Awesome Application Name Here}
ContextScope : Process
Environment : Global
Użyj poświadczeń klienta i klucza tajnego
Udzielanie poświadczeń klienta służy do uwierzytelniania i autoryzacji aplikacji w celu uzyskiwania dostępu do zasobów we własnym imieniu. Obsługę poświadczeń klucza tajnego klienta dodano przez dodanie parametru -ClientSecretCredential do Connect-Entra.
# Define the Application (Client) ID and Secret
$applicationClientId = '<application(client)ID>' # Application (Client) ID
$applicationClientSecret = '<secret.value>' # Application Secret Value
$tenantId = 'Tenant_Id' # Tenant ID
# Convert the Client Secret to a Secure String
$secureClientSecret = ConvertTo-SecureString -String $applicationClientSecret -AsPlainText -Force
# Create a PSCredential Object Using the Client ID and Secure Client Secret
$clientSecretCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $applicationClientId, $secureClientSecret
# Connect to Microsoft Graph Using the Tenant ID and Client Secret Credential
Connect-Entra -TenantId $tenantId -ClientSecretCredential $clientSecretCredential
Aby utworzyć lub dodać wpis tajny klienta, użyj polecenia New-EntraServicePrincipalPasswordCredential lub zobacz: Dodaj wpis tajny klienta w centrum administracyjnym Microsoft Entra.
Note
Zaleca się używanie programu PowerShell 7 lub nowszego podczas korzystania z metody uwierzytelniania poświadczeń wpisów tajnych klienta.
Korzystanie z tożsamości zarządzanej
Typowym wyzwaniem podczas pisania skryptów automatyzacji jest zarządzanie wpisami tajnymi, poświadczeniami, certyfikatami i kluczami używanymi do zabezpieczania komunikacji między usługami. Wyeliminuj konieczność zarządzania poświadczeniami, zezwalając modułowi na uzyskiwanie tokenów dostępu dla zasobów Azure chronionych przez Microsoft Entra ID. Platforma Azure zarządza tożsamością i nie wymaga od Ciebie tworzenia ani zmieniania żadnych kluczy tajnych.
Tożsamość zarządzana przypisana przez system — używa automatycznej tożsamości zarządzanej w wystąpieniu usługi. Tożsamość jest powiązana z cyklem życia wystąpienia usługi.
Connect-Entra -IdentityTożsamość zarządzana przypisana przez użytkownika — używa tożsamości zarządzanej utworzonej przez użytkownika jako autonomicznego zasobu Azure.
Connect-Entra -Identity -ClientId 'User_Assigned_Managed_identity_Client_Id'