Delen via


Een daemon-toepassing beveiligen

In dit artikel wordt beschreven hoe u daemon-toepassingen host in een vertrouwde en beveiligde omgeving in Microsoft Azure Kaarten.

Hier volgen enkele voorbeelden van daemon-toepassingen:

  • Azure-webtaak
  • Azure Function-app
  • Windows-service
  • Een actieve en betrouwbare achtergrondservice

Azure Kaarten-verificatiedetails weergeven

Ga als volgende te werk om de verificatiegegevens van uw Azure Kaarten-account weer te geven in Azure Portal:

  1. Meld u aan bij de Azure-portal.

  2. Navigeer naar het menu van Azure Portal. Selecteer Alle resources en selecteer vervolgens uw Azure Kaarten-account.

  3. Selecteer Verificatie onder Instellingen in het linkerdeelvenster.

    Screenshot showing your Azure Maps authentication options in the Azure portal.

Er worden drie waarden gemaakt wanneer het Azure Kaarten-account wordt gemaakt. Ze worden gebruikt ter ondersteuning van twee typen verificatie in Azure Kaarten:

  • Microsoft Entra-verificatie: Het Client ID vertegenwoordigt het account dat moet worden gebruikt voor REST API-aanvragen. De Client ID waarde moet worden opgeslagen in de toepassingsconfiguratie en vervolgens moet deze worden opgehaald voordat u Azure Kaarten HTTP-aanvragen maakt die gebruikmaken van Microsoft Entra-verificatie.
  • Gedeelde sleutelverificatie: de Primary Key en Secondary Key worden gebruikt als de abonnementssleutel voor verificatie met gedeelde sleutels. Verificatie met gedeelde sleutels is afhankelijk van het doorgeven van de sleutel die is gegenereerd door het Azure Kaarten-account met elke aanvraag aan Azure Kaarten. U wordt aangeraden uw sleutels regelmatig opnieuw te genereren. Om de huidige verbindingen tijdens de regeneratie te behouden, worden er twee sleutels opgegeven. De ene sleutel kan in gebruik zijn en de andere sleutel opnieuw genereren. Als u de sleutels opnieuw genereert, dient u elke toepassing bij te werken die toegang heeft tot dit account om de nieuwe sleutels te kunnen gebruiken. Zie Verificatie met Azure Kaarten voor meer informatie

Belangrijk

Voor productietoepassingen raden we u aan Om Microsoft Entra ID en op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) te implementeren. Zie Verificatie met Azure Kaarten voor een overzicht van Microsoft Entra-concepten.

Scenario: Gedeelde sleutelverificatie met Azure Key Vault

Toepassingen die gebruikmaken van verificatie met gedeelde sleutels, moeten de sleutels opslaan in een beveiligd archief. In dit scenario wordt beschreven hoe u uw toepassingssleutel veilig opslaat als een geheim in Azure Key Vault. In plaats van de gedeelde sleutel op te slaan in de toepassingsconfiguratie, kan de toepassing de gedeelde sleutel ophalen als een Azure Key Vault-geheim. Om het genereren van sleutels te vereenvoudigen, raden we aan dat toepassingen één sleutel tegelijk gebruiken. Toepassingen kunnen vervolgens de ongebruikte sleutel opnieuw genereren en de opnieuw gegenereerde sleutel implementeren in Azure Key Vault terwijl de huidige verbindingen met één sleutel behouden blijven. Raadpleeg de ontwikkelaarshandleiding voor Azure Key Vault voor meer informatie over het configureren van Azure Key Vault.

Belangrijk

Dit scenario heeft indirect toegang tot Microsoft Entra-id via Azure Key Vault. We raden u echter aan om Microsoft Entra-verificatie rechtstreeks te gebruiken. Het gebruik van Microsoft Entra ID voorkomt rechtstreeks de extra complexiteit en operationele vereisten voor het gebruik van gedeelde sleutelverificatie en het instellen van Key Vault.

In de volgende stappen wordt dit proces beschreven:

  1. Maak een Azure Key Vault.
  2. Maak een Microsoft Entra-service-principal door een app-registratie of beheerde identiteit te maken. De gemaakte principal is verantwoordelijk voor toegang tot Azure Key Vault.
  3. Wijs de service-principal toegang toe tot de machtiging Azure Key-geheimen get . Zie Toegangsbeleid voor Key Vault toewijzen met behulp van Azure Portal voor meer informatie over het instellen van machtigingen.
  4. Wijs tijdelijk toegang toe aan geheimenmachtigingen set voor u als ontwikkelaar.
  5. Stel de gedeelde sleutel in de Key Vault-geheimen in en verwijs naar de geheime id als configuratie voor de daemon-toepassing.
  6. Verwijder uw geheimenmachtiging set .
  7. Als u het gedeelde sleutelgeheim wilt ophalen uit Azure Key Vault, implementeert u Microsoft Entra-verificatie in de daemon-toepassing.
  8. Maak een Azure Kaarten REST API-aanvraag met de gedeelde sleutel. Nu kan de daemon-toepassing de gedeelde sleutel ophalen uit de Sleutelkluis.

Tip

Als de app wordt gehost in de Azure-omgeving, raden we u aan een beheerde identiteit te gebruiken om de kosten en complexiteit van het beheren van een geheim voor verificatie te verminderen. Zie zelfstudie: Een beheerde identiteit gebruiken om Key Vault te verbinden met een Azure-web-app in .NET voor meer informatie over het instellen van een beheerde identiteit.

Scenario: op rollen gebaseerd toegangsbeheer van Microsoft Entra

Nadat een Azure Kaarten-account is gemaakt, is de waarde van Azure Kaarten Client ID aanwezig op de pagina verificatiedetails van Azure Portal. Deze waarde vertegenwoordigt het account dat moet worden gebruikt voor REST API-aanvragen. Deze waarde moet worden opgeslagen in de toepassingsconfiguratie en worden opgehaald voordat u HTTP-aanvragen maakt. Het doel van het scenario is om de daemon-toepassing in staat te stellen zich te verifiëren bij Microsoft Entra ID en Azure Kaarten REST API's aan te roepen.

Tip

Als u voordelen van beheerde identiteitsonderdelen wilt inschakelen, raden we u aan om te hosten op virtuele Azure-machines, virtuele-machineschaalsets of App Services.

Een daemon hosten in Azure-resources

Wanneer u azure-resources uitvoert, kunt u door Azure beheerde identiteiten configureren om lage kosten en minimale inspanningen voor referentiebeheer mogelijk te maken.

Zie Overzicht van beheerde identiteiten om toepassingstoegang tot een beheerde identiteit in te schakelen.

Enkele voordelen van beheerde identiteiten zijn:

  • Door het Azure-systeem beheerde X509-certificaatverificatie voor cryptografie van openbare sleutels.
  • Microsoft Entra-beveiliging met X509-certificaten in plaats van clientgeheimen.
  • Azure beheert en vernieuwt alle certificaten die zijn gekoppeld aan de managed identity-resource.
  • Operationeel beheer van referenties is vereenvoudigd omdat beheerde identiteit de noodzaak voor een beveiligde geheime opslagservice, zoals Azure Key Vault, verwijdert.

Een daemon hosten in niet-Azure-resources

Beheerde identiteiten zijn alleen beschikbaar wanneer ze worden uitgevoerd in een Azure-omgeving. Daarom moet u een service-principal configureren via een Microsoft Entra-toepassingsregistratie voor de daemon-toepassing.

Nieuwe toepassingsregistratie maken

Als u de registratie van uw toepassing al hebt gemaakt, gaat u naar Gedelegeerde API-machtigingen toewijzen.

Ga als volgt te werk om een nieuwe toepassingsregistratie te maken:

  1. Meld u aan bij de Azure-portal.

  2. Selecteer Microsoft Entra ID.

  3. Selecteer App-registraties onder Beheren in het linkerdeelvenster.

  4. Selecteer het tabblad + Nieuwe registratie .

    A screenshot showing application registration in Microsoft Entra ID.

  5. Voer een naam in en selecteer vervolgens een type ondersteuningsaccount.

    Create app registration.

  6. Selecteer Registreren.

Gedelegeerde API-machtigingen toewijzen

Gedelegeerde API-machtigingen toewijzen aan Azure Kaarten:

  1. Als u dit nog niet hebt gedaan, meldt u zich aan bij Azure Portal.

  2. Selecteer Microsoft Entra ID.

  3. Selecteer App-registraties onder Beheren in het linkerdeelvenster.

  4. Selecteer uw toepassing.

    Select app registrations.

  5. Selecteer API-machtigingen onder Beheren in het linkerdeelvenster.

  6. Selecteer Een machtiging toevoegen.

    Add app permission.

  7. Selecteer de API's die door mijn organisatie worden gebruikt .

  8. Voer in het zoekvak Azure Kaarten in.

  9. Selecteer Azure Kaarten.

    Request app permission.

  10. Schakel het selectievakje Toegang tot Azure Kaarten in.

  11. Selecteer Machtigingen toevoegen.

    Select app API permissions.

Een clientgeheim maken of certificaat configureren

Als u verificatie op basis van een server of toepassing in uw toepassing wilt implementeren, kunt u een van de volgende twee opties kiezen:

  • Upload een certificaat met een openbare sleutel.
  • Een clientgeheim maken.
Een certificaat met een openbare sleutel uploaden

Een openbaar sleutelcertificaat uploaden:

  1. Selecteer onder Beheren in het linkerdeelvenster Certificaten en geheimen.

  2. Selecteer Certificaat uploaden. Upload certificate.

  3. Selecteer rechts van het tekstvak het bestandspictogram.

  4. Selecteer een .crt-, CER- of PEM-bestand en selecteer vervolgens Toevoegen.

    Upload certificate file.

Een clientgeheim maken

Een clientgeheim maken:

  1. Selecteer onder Beheren in het linkerdeelvenster Certificaten en geheimen.

  2. Selecteer + Nieuw clientgeheim.

    New client secret.

  3. Voer een beschrijving voor het clientgeheim in.

  4. Selecteer Toevoegen.

    Add new client secret.

  5. Kopieer het geheim en sla het veilig op in een service zoals Azure Key Vault. Gebruik ook het geheim in het aanvraagtoken met de sectie Beheerde identiteit van dit artikel.

    Copy client secret.

    Belangrijk

    Raadpleeg de Ontwikkelaarshandleiding voor Azure Key Vault om het certificaat of geheim veilig op te slaan. U gebruikt dit geheim om tokens op te halen uit Microsoft Entra-id.

Op rollen gebaseerde toegang verlenen aan gebruikers aan Azure Kaarten

U kunt op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) verlenen door een Microsoft Entra-groep of beveiligingsprincipaal toe te wijzen aan een of meer Azure Kaarten roldefinities.

Zie Ingebouwde Azure Kaarten-roldefinities weergeven om de beschikbare Azure-roldefinities voor Azure Kaarten weer te geven.

Zie Azure-rollen toewijzen met behulp van Azure Portal voor gedetailleerde stappen over het toewijzen van een beschikbare Azure-Kaarten-rol aan de gemaakte beheerde identiteit of de service-principal.

Als u de Azure Kaarten-app en resourcetoegang van een grote hoeveelheid gebruikers efficiënt wilt beheren, raadpleegt u Microsoft Entra-groepen.

Belangrijk

Als gebruikers zich mogen verifiëren bij een toepassing, moeten de gebruikers eerst worden gemaakt in Microsoft Entra-id. Zie Gebruikers toevoegen of verwijderen met behulp van Microsoft Entra ID voor meer informatie.

Zie Microsoft Entra-id voor meer informatie over het effectief beheren van een grote map voor gebruikers.

Waarschuwing

Azure Kaarten ingebouwde roldefinities bieden een zeer grote autorisatietoegang tot veel Azure Kaarten REST API's. Zie Een aangepaste roldefinitie maken en de door het systeem toegewezen identiteit toewijzen aan de aangepaste roldefinitie om de toegang tot API's tot een minimum te beperken. Hierdoor heeft de toepassing toegang tot Azure Kaarten met minimale bevoegdheden.

Een token met beheerde identiteit aanvragen

Nadat een beheerde identiteit is geconfigureerd voor de hostingresource, kunt u Azure SDK of REST API gebruiken om een token voor Azure Kaarten te verkrijgen. Zie Een toegangstoken verkrijgen voor meer informatie over het verkrijgen van een toegangstoken.

Token aanvragen met toepassingsregistratie

Nadat u uw app hebt geregistreerd en gekoppeld aan Azure Kaarten, moet u een toegangstoken aanvragen.

Het toegangstoken verkrijgen:

  1. Als u dit nog niet hebt gedaan, meldt u zich aan bij Azure Portal.

  2. Selecteer Microsoft Entra ID.

  3. Selecteer App-registraties onder Beheren in het linkerdeelvenster.

  4. Selecteer uw toepassing.

  5. U ziet nu de pagina Overzicht. Kopieer de toepassings-id (client) en de map-id (tenant).

    Copy token parameters.

In dit artikel wordt de Postman-toepassing gebruikt om de tokenaanvraag te maken, maar u kunt een andere API-ontwikkelomgeving gebruiken.

  1. Selecteer Nieuw in de Postman-app.

  2. Selecteer HTTP-aanvraag in het venster Nieuw maken.

  3. Voer een aanvraagnaam in voor de aanvraag, zoals POST-tokenaanvraag.

  4. Selecteer de POST HTTP-methode.

  5. Voer de volgende URL in naar de adresbalk (vervang door {Tenant-ID} de map-id (tenant), de id {Client-ID} van de toepassing (client) en {Client-Secret} het clientgeheim:

    https://login.microsoftonline.com/{Tenant-ID}/oauth2/v2.0/token?response_type=token&grant_type=client_credentials&client_id={Client-ID}&client_secret={Client-Secret}&scope=https://atlas.microsoft.com/.default
    
  6. Selecteer Verzenden

  7. U ziet nu het volgende JSON-antwoord:

{
    "token_type": "Bearer",
    "expires_in": 86399,
    "ext_expires_in": 86399,
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFq..."
}

Zie de OAuth 2.0-clientreferentiestroom op het Microsoft Identity Platform voor meer informatie over de verificatiestroom

Volgende stappen

Voor meer gedetailleerde voorbeelden:

Zoek de metrische gegevens over API-gebruik voor uw Azure Kaarten-account:

Bekijk voorbeelden die laten zien hoe u Microsoft Entra ID integreert met Azure Kaarten: