Dela via


Metodtips för säkerhet för programegenskaper i Microsoft Entra-ID

Säkerhet är ett viktigt begrepp när du registrerar ett program i Microsoft Entra-ID och är en viktig del av dess affärsanvändning i organisationen. Eventuella felkonfigurationer av ett program kan leda till stilleståndstid eller kompromisser. Beroende på vilka behörigheter som läggs till i ett program kan det finnas organisationsomfattande effekter.

Eftersom säkra program är viktiga för organisationen kan eventuella driftstopp på grund av säkerhetsproblem påverka verksamheten eller någon kritisk tjänst som verksamheten är beroende av. Därför är det viktigt att allokera tid och resurser för att säkerställa att programmen alltid är i ett felfritt och säkert tillstånd. Utför en regelbunden säkerhets- och hälsobedömning av program, ungefär som en utvärdering av säkerhetshotmodellen för kod. Ett bredare perspektiv på säkerhet för organisationer finns i SDL (Security Development Lifecycle).

I den här artikeln beskrivs metodtips för säkerhet för följande programegenskaper:

  • Omdirigerings-URI
  • Åtkomsttoken (används för implicita flöden)
  • Certifikat och hemligheter
  • Sökande-ID URI
  • Programägarskap

Omdirigerings-URI

Det är viktigt att hålla omdirigerings-URI:er för ditt program uppdaterade. Under Autentisering för programmet i Azure-portalen måste en plattform väljas för programmet och sedan kan egenskapen Omdirigerings-URI definieras.

Skärmbild som visar var omdirigeringsegenskapen U R I finns.

Överväg följande vägledning för omdirigerings-URI:er:

  • Behåll ägarskapet för alla URI:er. Ett fel i ägarskapet för en av omdirigerings-URI:erna kan leda till att programmet komprometteras.
  • Kontrollera att alla DNS-poster uppdateras och övervakas regelbundet för ändringar.
  • Använd inte svars-URL:er för jokertecken eller osäkra URI-scheman som http eller URN.
  • Håll listan liten. Trimma eventuella onödiga URI:er. Om möjligt uppdaterar du URL:er från Http till Https.

Åtkomsttoken (används för implicita flöden)

Scenarier som kräver implicit flöde kan nu använda autentiseringskodflöde för att minska risken för kompromisser som är associerade med implicit flödesmissbruk. Under Autentisering för programmet i Azure-portalen måste en plattform väljas för programmet och sedan kan egenskapen Åtkomsttoken (används för implicita flöden) anges.

Skärmbild som visar var den implicita flödesegenskapen finns.

Överväg följande vägledning som rör implicit flöde:

  • Förstå om implicit flöde krävs. Använd inte implicit flöde om det inte uttryckligen krävs.
  • Om programmet har konfigurerats för att ta emot åtkomsttoken med implicit flöde, men inte aktivt använder dem, inaktiverar du inställningen för att skydda mot missbruk.
  • Använd separata program för giltiga implicita flödesscenarier.

Certifikat och hemligheter

Certifikat och hemligheter, även kallade autentiseringsuppgifter, är en viktig del av ett program när det används som en konfidentiell klient. Under Certifikat och hemligheter för programmet i Azure-portalen kan certifikat och hemligheter läggas till eller tas bort.

Skärmbild som visar var certifikaten och hemligheterna finns.

Överväg följande vägledning som rör certifikat och hemligheter:

  • Använd alltid certifikatautentiseringsuppgifter när det är möjligt och använd inte autentiseringsuppgifter för lösenord, även kallat hemligheter. Även om det är praktiskt att använda lösenordshemligheter som autentiseringsuppgifter kan du när det är möjligt använda x509-certifikat som den enda autentiseringstypen för att hämta token för ett program.
    • Konfigurera principer för programautentiseringsmetod för att styra användningen av hemligheter genom att begränsa deras livslängd eller blockera användningen helt och hållet.
  • Använd Key Vault med hanterade identiteter för att hantera autentiseringsuppgifter för ett program.
  • Om ett program endast används som en offentlig klientapp (tillåter att användare loggar in med en offentlig slutpunkt) kontrollerar du att inga autentiseringsuppgifter har angetts för programobjektet.
  • Granska de autentiseringsuppgifter som används i program för färsk användning och förfallotid för dem. En oanvänd autentiseringsuppgift i ett program kan leda till en säkerhetsöverträdelse. Rollover-autentiseringsuppgifter ofta och dela inte autentiseringsuppgifter mellan program. Har inte många autentiseringsuppgifter för ett program.
  • Övervaka dina produktionspipelines för att förhindra att autentiseringsuppgifter av något slag checkas in i kodlagringsplatser.
  • Skanner för autentiseringsuppgifter är ett statiskt analysverktyg som kan användas för att identifiera autentiseringsuppgifter (och annat känsligt innehåll) i källkod och kompileringsutdata.

Sökande-ID URI

Programmets URI-egenskap för program-ID anger den globalt unika URI som används för att identifiera webb-API:et. Det är prefixet för omfång och i åtkomsttoken, det är också värdet för målgruppsanspråket och det måste använda en verifierad kundägd domän. För program med flera klientorganisationer måste värdet också vara globalt unikt. Det kallas även för en identifierar-URI. Under Exponera ett API för programmet i Azure-portalen kan egenskapen Program-ID URI definieras.

Skärmbild som visar var program-ID U R I finns.

Överväg följande riktlinjer för att definiera program-ID-URI:n:

  • Api- eller https-URI-scheman rekommenderas. Ange egenskapen i de format som stöds för att undvika URI-kollisioner i din organisation. Använd inte jokertecken.
  • Använd en verifierad domän i Verksamhetsspecifika program (LoB).
  • Håll en inventering av URI:erna i din organisation för att upprätthålla säkerheten.
  • Använd program-ID-URI:n för att exponera WebApi i organisationen. Använd inte program-ID-URI:n för att identifiera programmet och använd i stället egenskapen Program (klient-ID).

Följande API- och HTTP-schemabaserade program-ID URI-format stöds. Ersätt platshållarvärdena enligt beskrivningen i listan som följer tabellen.

Program-ID som stöds
URI-format
Exempel på app-ID-URI:er
<api:// appId> api://00001111-aaaa-2222-bbbb-3333cccc4444
<api:// tenantId>/<appId> api://aaaabbbb-0000-cccc-1111-dddd2222eeee/00001111-aaaa-2222-bbbb-3333cccc4444
<api:// tenantId>/<string> api://aaaabbbb-0000-cccc-1111-dddd2222eeee/api
<api:// string>/<appId> api://productapi/00001111-aaaa-2222-bbbb-3333cccc4444
<https:// tenantInitialDomain.onmicrosoft.com/>< string> https://contoso.onmicrosoft.com/productsapi
<https:// verifieradCustomDomain>/<sträng> https://contoso.com/productsapi
<https:// sträng.><verifiedCustomDomain> https://product.contoso.com
<https:// sträng.><verifiedCustomDomain>/<string> https://product.contoso.com/productsapi
  • <appId> – programidentifieraregenskapen (appId) för programobjektet.
  • <string> – strängvärdet för värden eller api-sökvägssegmentet.
  • <tenantId> – ett GUID som genereras av Azure för att representera klientorganisationen i Azure.
  • <tenantInitialDomain> - <tenantInitialDomain.onmicrosoft.com>, där< tenantInitialDomain> är det första domännamnet som klientskapare angav när klientorganisationen skapades.
  • <verifiedCustomDomain> – en verifierad anpassad domän som konfigurerats för din Microsoft Entra-klientorganisation.

Kommentar

Om du använder api:// -schemat lägger du till ett strängvärde direkt efter "api://". Till exempel api://< sträng.> Strängvärdet kan vara ett GUID eller en godtycklig sträng. Om du lägger till ett GUID-värde måste det matcha antingen app-ID:t eller klientorganisations-ID:t. URI-värdet för program-ID måste vara unikt för din klientorganisation. Om du lägger till api://< tenantId> som program-ID-URI kan ingen annan använda den URI:n i någon annan app. Rekommendationen är att använda api://< appId> i stället eller HTTP-schemat.

Viktigt!

URI-värdet för program-ID får inte sluta med snedstrecket "/".

Konfiguration av appägarskap

Ägare kan hantera alla aspekter av ett registrerat program. Det är viktigt att regelbundet granska ägarskapet för alla program i organisationen. Mer information finns i Microsoft Entra-åtkomstgranskningar. Under Ägare för programmet i Azure-portalen kan programmets ägare hanteras.

Skärmbild som visar var ägare av programmet hanteras.

Överväg följande vägledning om att ange programägare:

  • Programägarskapet bör hållas till en minimal uppsättning personer i organisationen.
  • En administratör bör granska ägarlistan en gång med några månaders mellanrum för att se till att ägarna fortfarande är en del av organisationen och fortfarande bör äga ett program.

Integrationsassistent

Integrationsassistenten i Azure-portalen kan användas för att se till att ett program uppfyller ett högkvalitativt fält och för att tillhandahålla säker integrering. Integrationsassistenten visar bästa praxis och rekommendation som hjälper till att undvika vanliga tillsyner när du integrerar med Microsoft platforma za identitete.

Skärmbild som visar var du hittar integrationsassistenten.

Nästa steg