Alleen-app-verificatie gebruiken

In dit artikel leert u hoe u veilig toepassingen kunt verifiëren om taken te automatiseren met behulp van de Microsoft Entra PowerShell-module. Het omvat certificaatgebaseerde authenticatie, clientgeheimen en beheerde identiteiten.

Deze kennis maakt efficiënte en veilige toegang tot Microsoft Entra en Azure resources mogelijk zonder gevoelige referenties handmatig te beheren. Het is van cruciaal belang voor het onderhouden van robuuste beveiligingsprocedures en het stroomlijnen van toegangsbeheer in cloudomgevingen.

Important

Alleen-app-toegang verleent machtigingen rechtstreeks aan een toepassing en vereist een beheerder om toestemming te geven voor de vereiste machtigingsbereiken. Zie Microsoft identity platform en de OAuth 2.0-clientreferentiestroom voor meer informatie over alleen-app-toegang.

Prerequisites

Als u alleen-app-toegang wilt gebruiken met de Microsoft Entra PowerShell-module, hebt u het volgende nodig:

Verificatie op basis van certificaten gebruiken

U moet deze informatie hebben om te verifiëren met behulp van een certificaat.

  • Certificaatonderwerp of vingerafdruk van het certificaat dat is geüpload naar uw Microsoft Entra app-registratie.
  • Toepassings-id voor uw app-registratie. Zie Een aangepaste toepassing maken als u nog geen app-registratie hebt.
  • Uw tenant-id.

In deze sectie leert u hoe u een certificaat gebruikt om te verifiëren met de Microsoft Entra PowerShell-module. U kunt de vingerafdruk van het certificaat, de certificaatnaam of het certificaat zelf gebruiken om te verifiëren. Als u wilt verifiëren met behulp van de gegeven voorbeelden, moet u zich aanmelden met ten minste de rol Beheerder van bevoorrechte rollen .

Vingerafdruk van certificaat gebruiken

$params = @{
    ClientId = 'YOUR_APP_ID'
    TenantId = 'YOUR_TENANT_ID'
    CertificateThumbprint = 'YOUR_CERT_THUMBPRINT'
}

Connect-Entra @params

Als u de certificaatvingerafdruk in het Microsoft Entra-beheercentrum wilt vinden, gaat u naar Identity>App-registraties>Certificates & secrets>Certificates. Selecteer het certificaat en kopieer de vingerafdruk.

U kunt ook de volgende PowerShell-opdracht gebruiken om uw zelfondertekende certificaat op te halen:

Get-ChildItem Cert:\CurrentUser\My

Certificaatnaam gebruiken

$params = @{
    ClientId = 'YOUR_APP_ID'
    TenantId = 'YOUR_TENANT_ID'
    CertificateName = 'YOUR_CERT_SUBJECT'
}

Connect-Entra @params

U vindt het certificaatonderwerp door de opdracht uit te voeren:

Get-ChildItem Cert:\CurrentUser\My\$CertThumbprint | Select Subject

Een certificaat gebruiken

$cert = Get-ChildItem Cert:\CurrentUser\My\$CertThumbprint
Connect-Entra -ClientId 'YOUR_APP_ID' -TenantId 'YOUR_TENANT_ID' -Certificate $cert

Als u een certificaat wilt gebruiken dat is opgeslagen in het certificaatarchief van uw computer of een andere locatie wanneer u verbinding maakt met Microsoft Entra PowerShell, geeft u de locatie van het certificaat op.

Als de verificatie slaagt, ziet u het bericht Welcome To Microsoft Graph!. Voer Get-EntraContext uit om te controleren of u via de app-only-methode bent geauthenticeerd. De uitvoer moet er als volgt uitzien.

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

Clientgeheimgegevens gebruiken

De toekenning van clientreferenties wordt gebruikt om de app namens zichzelf toegang te geven tot resources en deze te autoriseren. Ondersteuning voor clientgeheimreferenties wordt toegevoegd door de parameter -ClientSecretCredential toe te voegen aan 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

Als u een clientgeheim wilt maken of toevoegen, gebruikt u de opdracht New-EntraServicePrincipalPasswordCredential of raadpleegt u: Een clientgeheim toevoegen in Microsoft Entra-beheercentrum.

Note

Het is raadzaam om PowerShell 7 of hoger te gebruiken wanneer u de verificatiemethode met clientgeheimreferenties gebruikt.

Een beheerde identiteit gebruiken

Een veelvoorkomende uitdaging bij het schrijven van automatiseringsscripts is het beheer van geheimen, referenties, certificaten en sleutels die worden gebruikt om de communicatie tussen services te beveiligen. Elimineer de noodzaak om referenties te beheren door de module toegangstokens te geven voor Azure resources die worden beveiligd door Microsoft Entra ID. Het Azure platform beheert de identiteit en vereist niet dat u geheimen maakt of roteert.

  • Door het systeem toegewezen beheerde identiteit : maakt gebruik van een automatisch beheerde identiteit op een service-exemplaar. De identiteit is gekoppeld aan de levenscyclus van een service-exemplaar.

    Connect-Entra -Identity
    
  • Door de gebruiker toegewezen beheerde identiteit: maakt gebruik van een door de gebruiker gemaakte beheerde identiteit als een zelfstandige Azure-resource.

    Connect-Entra -Identity -ClientId 'User_Assigned_Managed_identity_Client_Id'