Kompromisser för säkerhet

Säkerhet ger garantier om sekretess, integritet och tillgänglighet för en organisations data och system. När du utformar ett system kan du nästan aldrig kompromettera säkerhetskontroller. När du förbättrar säkerheten för en arkitektur kan det påverka tillförlitlighet, prestandaeffektivitet, kostnad och driftseffektivitet. I den här artikeln beskrivs några av dessa överväganden.

Säkerhet jämfört med tillförlitlighet

Tillförlitliga program är motståndskraftiga och har hög tillgänglig. Varje arkitekturkomponent faktorer för att uppnå dina krav på tillförlitlighet. Arbetsbelastningssäkerheten är ofta indead i många lager i arbetsbelastningens arkitektur-, drift- och körningskrav. och kan ha egna effekter på återhämtning eller tillgänglighet.

Identitetsproviders och auktoriseringstjänster är till exempel viktiga beroenden att överväga. Detta omfattar identitetstjänsten (Microsoft Identity Platform) och alla bibliotek som underlättar användningen av dessa tjänster. Vid vissa punkter i arkitekturen är ett fel på ett identitetslager terminal. Vid andra punkter kan tillförlitlighet fortfarande uppnås via strategier som cachelagring, dra nytta av TTL:er för åtkomsttoken med mera. OAuth2-anspråksverifiering kan huvudsakligen ske frånkopplad från anspråksprovidern. Men det går inte att uppnå all auktorisering på det sättet. I sådana situationer kan tillförlitlighet byts ut mot fullständig säkerhet.

Många arbetsbelastningar kan snabbt försämras i funktionaliteten med förlust av kritiska säkerhetskontroller. Överväg att utvärdera vid varje komponent i arkitekturen för att identifiera det villkoret.

Andra säkerhetsaspekter som kan påverka tillförlitligheten är:

  • Dåliga eller manuella certifieringar eller metoder för nyckelrotation. Om du inte utför dessa uppgifter kan det leda till tillförlitlighetsproblem.
  • Tjänstens huvudnamn har upphört att gälla. En distributionspipeline som använder tjänstens huvudnamn kan till exempel misslyckas vid ett senare tillfälle, om huvudnyckelns åtkomstnyckel har upphört att gälla. Användning av hanterade identiteter hjälper till att hålla tillförlitligheten hög samtidigt som den identitetens minsta privilegier bibehålls.
  • Hög tillgänglighet uppnås ofta genom redundans (aktivt eller passivt), och säkerhetskontroller måste också anpassas till redundansmekanismen. Om du till exempel skickar över från ett lagringskonto till ett annat för tillförlitlighet kan det påverka hur klientens aktiva auktoriseringssession hanteras. Användning av hanterad identitet med Azure AD-integrering för lagringsåtkomst kan resultera i en högre tillförlitlighet eftersom klienten inte behöver hantera SAS-token vid växling till det nya lagringskontot.

Säkerhet jämfört med kostnadsoptimering

Ökad säkerhet för arbetsbelastningen leder nästan alltid till högre kostnader. Det finns några sätt att optimera kostnaderna.

  • Maximal säkerhet kanske inte alltid är praktiskt för alla miljöer. Utvärdera säkerhetskraven i förproduktions- och produktionsmiljöer. Behövs tjänster som Azure DDoS Protection, Microsoft Sentinel, dedikerade HSM:er och Microsoft Defender for Cloud i förproduktion? Räcker det med en inre loop som modellerar säkerhetskontroller? Kan du ringa in vissa kontroller för kostnadsbesparingar om resurserna inte är offentligt tillgängliga? Gör alltid dessa val, om och bara om, den lägre miljön fortfarande uppfyller affärskraven.

  • Premium säkerhetsfunktioner kan öka kostnaden. Det finns områden där du kan minska kostnaderna genom att använda inbyggda säkerhetsfunktioner. Undvik till exempel att implementera anpassade roller om du kan använda inbyggda roller.

  • Varje säkerhetskontroll har en möjlighet att påverka arbetsflöden och arbetsflöden som involverar människor kan vara dyra. En säkerhetskontroll som förhindrar att arbetet utförs bör utvärderas som nödvändigt eller onödigt redundant. Total ägandekostnad (TCO) omfattar driftskostnader för utvecklare, operatörer, IT SecOps och administrativa säkerhetsprotokoll. Nå avtal om var "mindre" kan vara "tillräckligt" för att optimera kostnaderna.

  • TCO omfattar den tid som krävs för att utföra uppgifter. Om du optimerar den tiden optimeras kostnaderna. Användning av plattformsfunktioner kan sänka TCO och förbättra säkerhetspositionen. I stället för att träna en tekniker att manuellt granska loggar och korrelera åtkomstmönster kan du använda intelligens i tjänster som Microsoft Defender för moln- eller Sentinel-aviseringar.

Säkerhet jämfört med driftskvalitet

Utmärkt driftskvalitet omfattar förståelse för affärs- och arbetsbelastningsbeteende och tillämpning av lämpliga mängder automatisering och observerbarhet i dessa processer.

  • Versionshantering

    Din organisation definierar sina kvalitetsgrindar (manuell eller automatiserad) som en del av sina säkra distributionsmetoder. Utvärdera om varje grind krävs eller är valfri, med hänsyn till om det är värdefullt att utföra, på den extra kostnaden för komplexitet (och tid) för den versionen. Om du lägger till säkerhetskontroller i processen blir kontrollerna mer värdefulla vid den tidpunkten i processen än några fördelar (vanligtvis enkelhet och tid) genom att de inte finns på plats.

  • Organisationsprinciper

    Teams kan ofta dra nytta av att samarbeta och använda korsfunktionella kunskaper i alla faser av arbetsbelastningens livscykel, från utveckling hela vägen genom produktion. Organisationsprinciper eller regelfrågor kan dock förhindra sådan omfattande åtkomst. När det är möjligt bör du isolera de system som behöver principer för ökad åtkomst från de som inte gör det. Undvik att använda modellen "en storlek passar alla" för alla komponenter i systemet. Det är enklare att optimera åtgärder i system som tillåter mer oreglerad åtkomst. För system som kräver reglerad åtkomst förväntas komplexiteten öka, vilket leder till högre kostnader.

  • Överväganden för support

    De mest "servicebara" arkitekturerna är de som är mest transparenta för alla inblandade och som ofta har minst antal säkerhetskontroller. Att lägga till säkerhetskontroller i din arkitektur som filtrerade telemetrifeeds, redacted logs, runtime system access restrictions och så vidare kan alla påverka supporten för en lösning. Att lägga till säkerhetskontroller kräver ofta att kompenserande eller komprometterade lösningar läggs till för observerbarhet i plattformen.

Gå tillbaka till huvudartikeln: Säkerhet