Skydda ett daemonprogram

Den här artikeln beskriver hur du är värd för daemonprogram i en betrodd och säker miljö i Microsoft Azure Kartor.

Följande är exempel på daemonprogram:

  • Azure-webbjobb
  • Azure-funktionsapp
  • Windows-tjänsten
  • En löpande och tillförlitlig bakgrundstjänst

Visa autentiseringsinformation för Azure Kartor

Så här visar du autentiseringsinformation för ditt Azure Kartor-konto i Azure-portalen:

  1. Logga in på Azure-portalen.

  2. Gå till Menyn i Azure-portalen. Välj Alla resurser och välj sedan ditt Azure Kartor-konto.

  3. Under Inställningar i den vänstra rutan väljer du Autentisering.

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

Tre värden skapas när Azure Kartor-kontot skapas. De används för att stödja två typer av autentisering i Azure Kartor:

  • Microsoft Entra-autentisering: Client ID Representerar det konto som ska användas för REST API-begäranden. Värdet Client ID ska lagras i programkonfigurationen och sedan ska det hämtas innan Azure Kartor HTTP-begäranden som använder Microsoft Entra-autentisering.
  • Autentisering med delad nyckel: Och Secondary KeyPrimary Key används som prenumerationsnyckel för autentisering med delad nyckel. Autentisering med delad nyckel förlitar sig på att skicka nyckeln som genereras av Azure Kartor-kontot med varje begäran till Azure Kartor. Vi rekommenderar att du regelbundet återskapar dina nycklar. För att underhålla aktuella anslutningar under regenereringen tillhandahålls två nycklar. En nyckel kan användas samtidigt som den andra återskapas. När du återskapar nycklarna måste du uppdatera alla program som använder det här kontot till att använda de nya nycklarna. Mer information finns i Autentisering med Azure Kartor

Viktigt!

För produktionsprogram rekommenderar vi att du implementerar Rollbaserad åtkomstkontroll för Microsoft Entra och Azure (Azure RBAC). En översikt över Microsoft Entra-begrepp finns i Autentisering med Azure Kartor.

Scenario: Autentisering med delad nyckel med Azure Key Vault

Program som använder autentisering med delad nyckel bör lagra nycklarna i ett säkert arkiv. I det här scenariot beskrivs hur du på ett säkert sätt lagrar din programnyckel som en hemlighet i Azure Key Vault. I stället för att lagra den delade nyckeln i programkonfigurationen kan programmet hämta den delade nyckeln som en Azure Key Vault-hemlighet. För att förenkla nyckelregenereringen rekommenderar vi att program använder en nyckel i taget. Program kan sedan återskapa den oanvända nyckeln och distribuera den återskapade nyckeln till Azure Key Vault samtidigt som aktuella anslutningar med en nyckel bibehålls. Information om hur du konfigurerar Azure Key Vault finns i utvecklarguiden för Azure Key Vault.

Viktigt!

Det här scenariot får indirekt åtkomst till Microsoft Entra-ID via Azure Key Vault. Vi rekommenderar dock att du använder Microsoft Entra-autentisering direkt. Genom att använda Microsoft Entra-ID undviker du direkt de ytterligare komplexitets- och driftkraven för att använda autentisering med delad nyckel och konfiguration av Key Vault.

Följande steg beskriver den här processen:

  1. Skapa ett Azure Key Vault.
  2. Skapa ett Huvudnamn för Microsoft Entra-tjänsten genom att skapa en appregistrering eller hanterad identitet. Det skapade huvudkontot ansvarar för åtkomst till Azure Key Vault.
  3. Tilldela tjänstens huvudnamn åtkomst till behörigheten Azure Key-hemligheter get . Mer information om hur du anger behörigheter finns i Tilldela en Key Vault-åtkomstprincip med hjälp av Azure-portalen.
  4. Tilldela åtkomst till hemligheter set tillfälligt åt dig som utvecklare.
  5. Ange den delade nyckeln i Key Vault-hemligheterna och referera till det hemliga ID:t som konfiguration för daemon-programmet.
  6. Ta bort behörigheten hemligheter set .
  7. Om du vill hämta den delade nyckelhemligheten från Azure Key Vault implementerar du Microsoft Entra-autentisering i daemon-programmet.
  8. Skapa en Azure Kartor REST API-begäran med den delade nyckeln. Daemon-programmet kan nu hämta den delade nyckeln från Key Vault.

Dricks

Om appen finns i Azure-miljön rekommenderar vi att du använder en hanterad identitet för att minska kostnaden och komplexiteten med att hantera en hemlighet för autentisering. Information om hur du konfigurerar en hanterad identitet finns i Självstudie: Använda en hanterad identitet för att ansluta Key Vault till en Azure-webbapp i .NET.

Scenario: Rollbaserad åtkomstkontroll i Microsoft Entra

När ett Azure Kartor-konto har skapats finns värdet för Azure Kartor Client ID på sidan med autentiseringsinformation i Azure-portalen. Det här värdet representerar det konto som ska användas för REST API-begäranden. Det här värdet ska lagras i programkonfigurationen och hämtas innan HTTP-begäranden görs. Målet med scenariot är att göra det möjligt för daemon-programmet att autentisera till Microsoft Entra-ID och anropa Azure Kartor REST-API:er.

Dricks

Om du vill aktivera fördelarna med hanterade identitetskomponenter rekommenderar vi att du är värd för Azure Virtual Machines, Vm-skalningsuppsättningar eller App Services.

Vara värd för en daemon på Azure-resurser

När du kör på Azure-resurser kan du konfigurera Azure-hanterade identiteter för att möjliggöra minimal hantering av autentiseringsuppgifter till låg kostnad.

Information om hur du aktiverar programåtkomst till en hanterad identitet finns i Översikt över hanterade identiteter.

Några fördelar med hanterad identitet är:

  • Krypteringsautentisering med azure-systemhanterad X509-certifikat med offentlig nyckel.
  • Microsoft Entra-säkerhet med X509-certifikat i stället för klienthemligheter.
  • Azure hanterar och förnyar alla certifikat som är associerade med resursen hanterad identitet.
  • Driftshantering av autentiseringsuppgifter förenklas eftersom hanterad identitet tar bort behovet av en säker hemlig butikstjänst, till exempel Azure Key Vault.

Vara värd för en daemon på icke-Azure-resurser

Hanterade identiteter är endast tillgängliga när de körs i en Azure-miljö. Därför måste du konfigurera ett huvudnamn för tjänsten via en Microsoft Entra-programregistrering för daemon-programmet.

Skapa ny programregistrering

Om du redan har skapat din programregistrering går du till Tilldela delegerade API-behörigheter.

Så här skapar du en ny programregistrering:

  1. Logga in på Azure-portalen.

  2. Välj Microsoft Entra ID.

  3. Under Hantera i den vänstra rutan väljer du Appregistreringar.

  4. Välj fliken + Ny registrering .

    A screenshot showing application registration in Microsoft Entra ID.

  5. Ange ett namn och välj sedan en typ av supportkonto.

    Create app registration.

  6. Välj Registrera.

Tilldela delegerade API-behörigheter

Så här tilldelar du delegerade API-behörigheter till Azure Kartor:

  1. Om du inte redan har gjort det loggar du in på Azure-portalen.

  2. Välj Microsoft Entra ID.

  3. Under Hantera i den vänstra rutan väljer du Appregistreringar.

  4. Välj ditt program.

    Select app registrations.

  5. Under Hantera i den vänstra rutan väljer du API-behörigheter.

  6. Välj Lägg till behörighet.

    Add app permission.

  7. Välj fliken API:er som min organisation använder .

  8. I sökrutan anger du Azure Kartor.

  9. Välj Azure Kartor.

    Request app permission.

  10. Markera kryssrutan Åtkomst till Azure Kartor.

  11. Välj Lägg till behörigheter.

    Select app API permissions.

Skapa en klienthemlighet eller konfigurera certifikat

Om du vill implementera server- eller programbaserad autentisering i ditt program kan du välja något av två alternativ:

  • Ladda upp ett certifikat för offentlig nyckel.
  • Skapa en klienthemlighet.
Ladda upp ett certifikat för offentlig nyckel

Så här laddar du upp ett certifikat för offentlig nyckel:

  1. Under Hantera i den vänstra rutan väljer du Certifikat och hemligheter.

  2. Välj Ladda upp certifikat. Upload certificate.

  3. Till höger om textrutan väljer du filikonen.

  4. Välj en .crt-, .cer- eller .pem-fil och välj sedan Lägg till.

    Upload certificate file.

Skapa en klienthemlighet

Så här skapar du en klienthemlighet:

  1. Under Hantera i den vänstra rutan väljer du Certifikat och hemligheter.

  2. Välj + Ny klienthemlighet.

    New client secret.

  3. Ange en beskrivning av klienthemligheten.

  4. Markera Lägga till.

    Add new client secret.

  5. Kopiera hemligheten och lagra den på ett säkert sätt i en tjänst, till exempel Azure Key Vault. Använd också hemligheten i avsnittet Begärandetoken med hanterad identitet i den här artikeln.

    Copy client secret.

    Viktigt!

    Information om hur du lagrar certifikatet eller hemligheten på ett säkert sätt finns i utvecklarguiden för Azure Key Vault. Du använder den här hemligheten för att hämta token från Microsoft Entra-ID.

Bevilja rollbaserad åtkomst för användare till Azure Kartor

Du kan bevilja rollbaserad åtkomstkontroll i Azure (Azure RBAC) genom att tilldela en Microsoft Entra-grupp eller säkerhetsobjekt till en eller flera Rolldefinitioner för Azure Kartor.

Information om hur du visar tillgängliga Azure-rolldefinitioner för Azure Kartor finns i Visa inbyggda Rolldefinitioner för Azure Kartor.

Detaljerade anvisningar om hur du tilldelar en tillgänglig Azure Kartor-roll till den skapade hanterade identiteten eller tjänstens huvudnamn finns i Tilldela Azure-roller med hjälp av Azure-portalen

Information om hur du effektivt hanterar Azure Kartor-appen och resursåtkomsten för en stor mängd användare finns i Microsoft Entra-grupper.

Viktigt!

För att användare ska kunna autentisera till ett program måste användarna först skapas i Microsoft Entra-ID. Mer information finns i Lägga till eller ta bort användare med hjälp av Microsoft Entra ID.

Mer information om hur du effektivt hanterar en stor katalog för användare finns i Microsoft Entra-ID.

Varning

Azure Kartor inbyggda rolldefinitioner ger en mycket stor auktoriseringsåtkomst till många Azure Kartor REST-API:er. Information om hur du begränsar API:ernas åtkomst till ett minimum finns i Skapa en anpassad rolldefinition och tilldela den systemtilldelade identiteten till definitionen för anpassad roll. Detta ger den minsta behörighet som krävs för att programmet ska få åtkomst till Azure Kartor.

Begära en token med hanterad identitet

När en hanterad identitet har konfigurerats för värdresursen kan du använda Azure SDK eller REST API för att hämta en token för Azure Kartor. Information om hur du hämtar en åtkomsttoken finns i Hämta en åtkomsttoken.

Begära token med programregistrering

När du har registrerat din app och associerat den med Azure Kartor måste du begära en åtkomsttoken.

Hämta åtkomsttoken:

  1. Om du inte redan har gjort det loggar du in på Azure-portalen.

  2. Välj Microsoft Entra ID.

  3. Under Hantera i den vänstra rutan väljer du Appregistreringar.

  4. Välj ditt program.

  5. Du bör se sidan Översikt. Kopiera program-ID:t (klient)-ID:t och katalog-ID:t (klientorganisation).

    Copy token parameters.

Den här artikeln använder Postman-programmet för att skapa tokenbegäran, men du kan använda en annan API-utvecklingsmiljö.

  1. I Postman-appen väljer du Ny.

  2. I fönstret Skapa ny väljer du HTTP-begäran.

  3. Ange ett begärandenamn för begäran, till exempel POST-tokenbegäran.

  4. Välj POST HTTP-metoden.

  5. Ange följande URL till adressfältet (ersätt {Tenant-ID} med katalog-ID {Client-ID} :t (klientorganisation), med program-ID:t (klient) och {Client-Secret} med din klienthemlighet:

    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. Välj Skicka

  7. Du bör se följande JSON-svar:

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

Mer information om autentiseringsflödet finns i OAuth 2.0-klientens autentiseringsuppgifter på Microsofts identitetsplattform

Nästa steg

Mer detaljerade exempel finns:

Hitta API-användningsstatistiken för ditt Azure Kartor-konto:

Utforska exempel som visar hur du integrerar Microsoft Entra-ID med Azure Kartor: