Delen via


Aanvragen voor Azure SignalR Service-resources autoriseren met Microsoft Entra-toepassingen

Azure SignalR Service ondersteunt Microsoft Entra ID voor het autoriseren van aanvragen van Microsoft Entra-toepassingen.

In dit artikel wordt beschreven hoe u uw Azure SignalR Service-resource en -codes configureert voor het autoriseren van aanvragen voor de resource vanuit een Microsoft Entra-toepassing.

Een toepassing registreren

De eerste stap is het registreren van een Microsoft Entra-toepassing:

  1. Zoek en selecteer Microsoft Entra ID in Azure Portal.

  2. Selecteer App-registraties onder Beheren.

  3. Selecteer Nieuwe registratie. Het deelvenster Een toepassing registreren wordt geopend.

    Schermopname van het deelvenster voor het registreren van een toepassing.

  4. Voer bij Naam een weergavenaam in voor uw toepassing.

  5. Selecteer Registreren om de registratie te bevestigen.

Nadat u uw toepassing hebt geregistreerd, kunt u de waarden voor de toepassings-id en map-id (tenant) vinden op de overzichtspagina van de toepassing. Deze GUID's kunnen handig zijn in de volgende stappen.

Schermopname van overzichtsinformatie voor een geregistreerde toepassing.

Zie quickstart: Een toepassing registreren bij het Microsoft Identity Platform voor meer informatie over het registreren van een toepassing.

Referenties toevoegen

U kunt zowel certificaten als clientgeheimen (een tekenreeks) toevoegen als referenties voor de registratie van uw vertrouwelijke client-app.

Clientgeheim

Voor de toepassing is een clientgeheim vereist om de identiteit te bewijzen wanneer er een token wordt aangevraagd. Voer de volgende stappen uit om een clientgeheim te maken:

  1. Selecteer onder Beheren de optie Certificaten en geheimen.

  2. Selecteer Nieuw clientgeheim op het tabblad Clientgeheim.

    Schermopname van selecties voor het maken van een clientgeheim.

  3. Voer een beschrijving in voor het clientgeheim en kies een verlooptijd.

  4. Kopieer de waarde van het clientgeheim en plak het vervolgens op een veilige locatie.

    Notitie

    Het geheim wordt slechts eenmaal weergegeven.

Certificaat

U kunt een certificaat uploaden in plaats van een clientgeheim te maken.

Schermopname van selecties voor het uploaden van een certificaat.

Zie Referenties toevoegen voor meer informatie over het toevoegen van referenties.

Roltoewijzingen toevoegen in Azure Portal

In de volgende stappen wordt beschreven hoe u een SignalR App Server-rol toewijst aan een service-principal (toepassing) via een Azure SignalR Service-resource. Raadpleeg Azure-rollen toewijzen met Azure Portal voor informatie over het toewijzen van rollen.

Notitie

Een rol kan worden toegewezen aan elk bereik, waaronder beheergroep, abonnement, resourcegroep of één resource. Zie Bereik voor Azure RBAC begrijpen voor meer informatie over het bereik.

  1. Ga in Azure Portal naar uw Azure SignalR Service-resource.

  2. Klik op Toegangsbeheer (IAM) .

  3. Selecteer Toevoegen>Roltoewijzing toevoegen.

    Schermopname van de pagina voor toegangsbeheer en selecties voor het toevoegen van een roltoewijzing.

  4. Selecteer op het tabblad Rol de optie SignalR-appserver.

  5. Selecteer op het tabblad Leden de optie Gebruiker, groep of service-principal en kies Leden selecteren.

  6. Zoek en selecteer de toepassing waaraan u de rol wilt toewijzen.

  7. Selecteer op het tabblad Beoordelen en toewijzen de optie Beoordelen en toewijzen om de rol toe te wijzen.

Belangrijk

Het kan tot 30 minuten duren voordat Azure-roltoewijzingen zijn doorgegeven.

Zie de volgende artikelen voor meer informatie over het toewijzen en beheren van Azure-rollen:

Uw app configureren

App-server

De aanbevolen procedure is om identiteiten en referenties in uw omgevingsvariabelen te configureren:

Variabele Beschrijving
AZURE_TENANT_ID De Tenant-id van Microsoft Entra.
AZURE_CLIENT_ID De client-id (toepassing) van een app-registratie in de tenant.
AZURE_CLIENT_SECRET Een clientgeheim dat is gegenereerd voor de app-registratie.
AZURE_CLIENT_CERTIFICATE_PATH Een pad naar een certificaat en een persoonlijk sleutelpaar in PEM- of PFX-indeling, waarmee de app-registratie kan worden geverifieerd.
AZURE_USERNAME De gebruikersnaam, ook wel User Principal Name (UPN) genoemd, van een Microsoft Entra-gebruikersaccount.
AZURE_PASSWORD Het wachtwoord van het Microsoft Entra-gebruikersaccount. Een wachtwoord wordt niet ondersteund voor accounts waarvoor meervoudige verificatie is ingeschakeld.

U kunt DefaultAzureCredential of EnvironmentCredential gebruiken om uw Azure SignalR Service-eindpunten te configureren. Hier volgt de code voor DefaultAzureCredential:

services.AddSignalR().AddAzureSignalR(option =>
{
    option.Endpoints = new ServiceEndpoint[]
    {
        new ServiceEndpoint(new Uri("https://<resource-name>.service.signalr.net"), new DefaultAzureCredential())
    };
});

Hier volgt de code voor EnvironmentCredential:

services.AddSignalR().AddAzureSignalR(option =>
{
    option.Endpoints = new ServiceEndpoint[]
    {
        new ServiceEndpoint(new Uri("https://<resource-name>.service.signalr.net"), new EnvironmentCredential())
    };
});

Zie de klasse DefaultAzureCredential voor meer DefaultAzureCredential informatie.

Eindpuntspecifieke referenties gebruiken

In uw organisatie wilt u mogelijk verschillende referenties gebruiken voor verschillende eindpunten.

In dit scenario kunt u ClientSecretCredential of ClientCertificateCredential gebruiken:

services.AddSignalR().AddAzureSignalR(option =>
{
    var credential1 = new ClientSecretCredential("tenantId", "clientId", "clientSecret");
    var credential2 = new ClientCertificateCredential("tenantId", "clientId", "pathToCert");

    option.Endpoints = new ServiceEndpoint[]
    {
        new ServiceEndpoint(new Uri("https://<resource1>.service.signalr.net"), credential1),
        new ServiceEndpoint(new Uri("https://<resource2>.service.signalr.net"), credential2),
    };
});

Azure SignalR Service-bindingen in Azure Functions

Azure SignalR Service-bindingen in Azure Functions gebruiken toepassingsinstellingen in de portal of local.settings.json lokaal om Microsoft Entra-toepassingsidentiteiten te configureren voor toegang tot uw Azure SignalR Service-resources.

Eerst moet u de service-URI van Azure SignalR Service opgeven. De sleutel van de service-URI is serviceUri. Het begint met een verbindingsnaamvoorvoegsel (dat standaard wordt gebruikt AzureSignalRConnectionString) en een scheidingsteken. Het scheidingsteken is een onderstrepingsteken (__) in Azure Portal en een dubbele punt (:) in het local.settings.json-bestand . U kunt de verbindingsnaam aanpassen met behulp van de bindingseigenschap ConnectionStringSetting. Lees verder om het voorbeeld te vinden.

Vervolgens kiest u of u uw Microsoft Entra-toepassingsidentiteit wilt configureren in vooraf gedefinieerde omgevingsvariabelen of in SignalR-opgegeven variabelen.

Een identiteit configureren in vooraf gedefinieerde omgevingsvariabelen

Zie Omgevingsvariabelen voor de lijst met vooraf gedefinieerde omgevingsvariabelen. Wanneer u meerdere services hebt, wordt u aangeraden dezelfde toepassingsidentiteit te gebruiken, zodat u de identiteit niet hoeft te configureren voor elke service. Andere services kunnen ook gebruikmaken van deze omgevingsvariabelen, op basis van de instellingen van deze services.

Als u bijvoorbeeld referenties voor clientgeheimen wilt gebruiken, configureert u de identiteit als volgt in het local.settings.json-bestand :

{
  "Values": {
    "<CONNECTION_NAME_PREFIX>:serviceUri": "https://<SIGNALR_RESOURCE_NAME>.service.signalr.net",
    "AZURE_CLIENT_ID": "...",
    "AZURE_CLIENT_SECRET": "...",
    "AZURE_TENANT_ID": "..."
  }
}

Voeg in Azure Portal als volgt instellingen toe:

 <CONNECTION_NAME_PREFIX>__serviceUri=https://<SIGNALR_RESOURCE_NAME>.service.signalr.net
AZURE_CLIENT_ID = ...
AZURE_TENANT_ID = ...
AZURE_CLIENT_SECRET = ...

Een identiteit configureren in SignalR-opgegeven variabelen

SignalR-opgegeven variabelen delen hetzelfde sleutelvoorvoegsel met de serviceUri sleutel. Hier volgt de lijst met variabelen die u kunt gebruiken:

  • clientId
  • clientSecret
  • tenantId

Hier volgen de voorbeelden voor het gebruik van clientgeheimreferenties in het local.settings.json-bestand :

{
  "Values": {
    "<CONNECTION_NAME_PREFIX>:serviceUri": "https://<SIGNALR_RESOURCE_NAME>.service.signalr.net",
    "<CONNECTION_NAME_PREFIX>:clientId": "...",
    "<CONNECTION_NAME_PREFIX>:clientSecret": "...",
    "<CONNECTION_NAME_PREFIX>:tenantId": "..."
  }
}

Voeg in Azure Portal als volgt instellingen toe:

<CONNECTION_NAME_PREFIX>__serviceUri = https://<SIGNALR_RESOURCE_NAME>.service.signalr.net
<CONNECTION_NAME_PREFIX>__clientId = ...
<CONNECTION_NAME_PREFIX>__clientSecret = ...
<CONNECTION_NAME_PREFIX>__tenantId = ...

Volgende stappen

Zie de volgende gerelateerde artikelen: