Hoppa till innehåll

47-dagarscertifikaten är på väg. Är du redo?

Agera nu →

Vad är arbetsbelastningsidentitet? SPIFFE förklaras

Bygga kryptoagil PKI

Arbetsbelastningsidentitet är praxisen att ge varje programvaruarbetsbelastning, såsom en container, mikrotjänst, virtuell maskin eller automatiserad process, sin egen verifierbara kryptografiska identitet så att den kan autentisera mot andra system utan statiska hemligheter. SPIFFE (Secure Production Identity Framework For Everyone) är den öppna standarden som definierar hur dessa identiteter namnges, utfärdas och verifieras.

Arbetsbelastningsidentitet tilldelar varje programvaruarbetsbelastning, såsom en container, mikrotjänst eller virtuell maskin, en kortlivad kryptografisk autentiseringsuppgift baserad på verifierade egenskaper hos arbetsbelastningen snarare än en lagrad hemlighet. SPIFFE, en CNCF-standard, definierar identitetsformatet och autentiseringsuppgifterna, och SPIRE är den körningstid som utfärdar och roterar dessa autentiseringsuppgifter i produktion.

Key Takeaways

  • En arbetsbelastningsidentitet autentiserar en programvaruarbetsbelastning (container, tjänst, virtuell maskin eller process) med en attesterad, kortlivad autentiseringsuppgift istället för en API-nyckel eller delad hemlighet.
  • SPIFFE definierar standarden: ett SPIFFE-ID i formen spiffe://trust-domain/path, levererat som ett X.509-certifikat eller JWT som kallas SVID (SPIFFE Verifiable Identity Document).
  • SPIRE, SPIFFE Runtime Environment, utfärdar SVID:er genom nod- och arbetsbelastningsattestering utan bootstrap-hemlighet. Båda projekten tog examen från CNCF i september 2022.
  • SPIRE utfärdar X.509 SVID:er med en timmes standardlivstid och roterar dem automatiskt, så att en stulen arbetsbelastningsautentiseringsuppgift upphör att gälla inom en timme istället för att förbli giltig i månader.
  • NIST SP 800-207A namnger SPIFFE som applikationsidentitetsinfrastruktur för Zero Trust i molnbaserade, multimolnbaserade miljöer.

Varför arbetsbelastningar behöver sin egen identitet

Maskiner är nu fler än mänskliga användare i de flesta produktionsmiljöer, och varje serviceanrop mellan dessa maskiner kräver ett förtroendebeslut. En betalningstjänst måste veta att den begäran den just mottagit verkligen kom från utcheckningstjänsten och inte kom från en komprometterad pod på samma nätverk.

Traditionella lösningar på det problemet förlitar sig på något som arbetsbelastningen innehåller: en API-nyckel i en miljövariabel, ett lösenord i en konfigurationsfil, ett certifikat som utfärdats för tre år och kopierats mellan värdar. Statiska autentiseringsuppgifter läcker in i källkodsdatabaser och loggar, överlever långt efter att arbetsbelastningen som använde dem är borta och roteras sällan eftersom rotationen förstör saker. Nätverksplats är inte bättre som ett representativt mått på förtroende, eftersom containrar delar nätverk, IP-adresser återvinns på några sekunder och en enda komprometterad värd sitter innanför perimetern.

Arbetsbelastningsidentitet ersätter vad en tjänst vet (en hemlighet) med vad en tjänst är (en bestyrkt identitet). Autentiseringsuppgifterna härleds från verifierbara fakta om arbetsbelastningen och dess plattform, den lever i minuter eller timmar och förnyar sig själv utan en människa i loopen.

Vad är SPIFFE?

SPIFFE, Secure Production Identity Framework For Everyone, är en öppen standard som definierar hur arbetsbelastningsidentiteter namnges, hur autentiseringsuppgifterna ser ut och hur arbetsbelastningar tar emot dem. Projektet drivs av Cloud Native Computing Foundation och uppnådde graderad status i september 2022, CNCF-mognadsnivån som delas av Kubernetes. SPIFFE definierar fyra byggstenar:

  • SPIFFE-ID: En URI av formatet spiffe://trust-domain/path, till exempel spiffe://prod.example.com/payments/api. Trust-domänen är den administrativa gränsen; sökvägen namnger arbetsbelastningen inuti den.
  • SVID: SPIFFE-verifierbart identitetsdokument, den autentiseringsuppgift som styrker SPIFFE-ID:t. Ett X.509-SVID bäddar in SPIFFE-ID:t som en URI i fältet för alternativt namn för certifikatet och kopplas direkt till gemensam TLS. Ett JWT-SVID har samma identitet som en signerad token för HTTP- och API-kontexter.
  • Arbetsbelastnings-API: Ett lokalt API, exponerat över en Unix-domänsocket, från vilket en arbetsbelastning hämtar sitt SVID och det förtroendepaket som används för att verifiera peers. Anrop av API:et kräver inga inloggningsuppgifter alls; plattformen attesterar anroparen.
  • FederationTvå oberoende förtroendedomäner kan utbyta förtroendepaket och verifiera varandras arbetsbelastningar utan att dela en rot-CA, vilket gör autentisering över moln och organisationer praktisk.

SPIFFE levererar ingen programvara i sig. Det är specifikationen. Referensimplementeringen som körs i produktion är SPIRE.

Hur SPIRE utfärdar arbetsbelastningsidentiteter

SPIRE, SPIFFE Runtime Environment, utfärdar identiteter genom en attesteringskedja istället för en distribuerad hemlighet. En SPIRE-server fungerar som förtroendeankare för domänen och en SPIRE-agent körs på varje nod. Utfärdandet sker i fyra steg:

  1. Nodattestering: Agenten bevisar vilken nod den körs på med hjälp av plattformsbevis, till exempel ett AWS-instansidentitetsdokument, en Azure-hanterad identitet eller en Kubernetes-tjänstkontotoken.
  2. Arbetsbelastningsintyg: När en process anropar Workload API inspekterar agenten den via plattformen: dess Kubernetes-namnrymd och tjänstkonto, dess Unix-användar-ID eller dess containeravbildning.
  3. SVID-utgivning: Servern matchar de attesterade egenskaperna mot registreringsposter och signerar ett SVID för matchande SPIFFE-ID.
  4. Automatisk rotation: Standardlivslängden för X.509 SVID i SPIRE är en timme, och agenten förnyar varje SVID innan det går ut. Arbetsbelastningar hanterar aldrig en förnyelsehändelse.

Eftersom identitet härleds från attestering finns det ingen bootstrap-hemlighet att distribuera, valva eller läcka. I tillkännagivandet om CNCF:s examen listas Bloomberg, ByteDance, Pinterest, Twilio, Uber, Netflix och GitHub bland produktionsanvändare, och tjänstenät inklusive Istio använder SPIFFE-identitetsformatet för sina arbetsbelastningscertifikat. För detaljer om distributionsarkitektur och konfiguration, se Encryption Consultings djupgående undersökning av SPIFFE och SPIRE.

Arbetsbelastningsidentitet kontra statiska hemligheter

Den praktiska skillnaden mellan SPIFFE-liknande arbetsbelastningsidentitet och statiska maskinuppgifter visar sig i livslängd, rotation och explosionsradie.

AttributStatiska hemligheter (API-nycklar, långlivade certifikat)SPIFFE-arbetsbelastningsidentitet
Grunden för förtroendeVad arbetsbelastningen rymmerVad arbetsbelastningen är, verifierad genom attestering
Typisk livstidMånader till årEn timme som standard i SPIRE, konfigurerbar till minuter
RotationManuell, ofta hoppad överAutomatisk, före varje utgångsdatum
BootstrapHemligheten måste delas ut förstIngen bootstrap-hemlighet; endast plattformsverifiering
PortabilitetBunden till en plattform eller ett valvSamma spiffe://-identitet över moln, kluster och virtuella maskiner
Sprängningsradie om den är stulenGiltig tills någon upptäcker och återkallar denBegränsas av de återstående minuterna av autentiseringsuppgifternas livslängd

Var arbetsbelastningsidentitet passar in i nollförtroende

Zero Trust behandlar identitet, inte nätverksplats, som den primära åtkomstkontrollen, och arbetsbelastningsidentitet är hur den principen når maskin-till-maskin-trafik. NIST SP 800-207 (augusti 2020) definierar Zero Trust-arkitekturen. Dess molnbaserade komplement, NIST SP 800-207A (september 2023), namnger explicit SPIFFE som applikationsidentitetsinfrastruktur för åtkomstkontroll i multimolnmiljöer, tillsammans med API-gateways och sidovagnsproxyer. NIST SP 800-204- serien gör samma koppling för service mesh-distributioner, där ömsesidig TLS mellan arbetsbelastningar bär identiteten.

Standardiseringen är fortfarande på gång. IETF:s WIMSE-arbetsgrupp (Workload Identity in Multi System Environments) definierar hur arbetsbelastningsidentiteter och tokens samverkar mellan förtroendedomäner, och samma identitetshantering håller på att bli svaret på en nyare fråga: hur man autentiserar AI-agenter och andra icke-mänskliga identiteter som agerar autonomt över system.

Arbetsbelastningsidentitet behöver fortfarande Enterprise PKI

SPIFFE ersätter inte PKI; det är PKI som tillämpas på arbetsbelastningar i maskinhastighet. Varje förtroendedomän backas upp av signeringsnycklar som fungerar som en certifikatutfärdare. Någon måste bestämma var roten för den förtroendedomänen finns, skydda dess nycklar, planera dess rotation och bestämma om SVID:er ska länkas till en fristående rot eller till en uppströms företags-CA genom SPIRE:s UpstreamAuthority-integration.

Det är klassiska PKI-styrningsfrågor, och de blir svårare i takt med att SPIFFE-distributionerna mångdubblas: plattformsteam upprättar förtroendedomäner per kluster, certifikat utfärdas i tusental per dag, och inget av det visas i en certifikatinventering som är byggd för TLS-slutpunkter. En organisation som inte kan se sina arbetsbelastningscertifikat kan inte granska dem, och en förtroendedomänrot som genereras på en bärbar dator är ändå en rot. Att förankra förtroendedomäner i en styrd CA-hierarki och utöka certifikatsynligheten till kortlivade arbetsbelastningsuppgifter är det som förvandlar ett lovande ramverk till ett granskningsbart identitetsprogram. En grund i grundläggande information om publika nycklar i infrastruktur hjälper här, eftersom varje SPIFFE-koncept mappas till ett PKI-koncept under.

Hur krypteringskonsulting hjälper

PKI-as-a-Service ger dig en styrd, HSM-baserad certifikatutfärdarhierarki som kan fungera som uppströms förtroendeankare för SPIFFE-förtroendedomäner, så att arbetsbelastningsuppgifter kopplas till en rot som din organisation kontrollerar, med nyckelceremonier och rotation som hanteras enligt plan. CertSecure Manager håller sedan maskin- och arbetsbelastningscertifikat synliga i en inventering, spårar utgångsdatum och automatiserar livscykeln över moln och kluster. Stöds av ISO/IEC 27001:2022- och SOC 2-certifierade metoder.

Vanliga frågor om partihandel med mat och dryck

Vad är arbetsbelastningsidentitet, enkelt uttryckt?

Arbetsbelastningsidentitet är ett pass för programvara. Istället för att en person loggar in får en container, mikrotjänst eller virtuell maskin sin egen kortlivade kryptografiska autentiseringsuppgift som bevisar vad den är. Andra tjänster kontrollerar den autentiseringsuppgiften innan de utbyter data, på samma sätt som en gränsagent kontrollerar ett pass, så inget delat lösenord eller API-nyckel behöver någonsin lagras eller distribueras.

Vad är skillnaden mellan SPIFFE och SPIRE?

SPIFFE är specifikationen och SPIRE är programvaran som implementerar den. SPIFFE definierar identitetsformatet (spiffe://trust-domain/path), SVID-autentiseringsuppgifterna och Workload API:et. SPIRE, SPIFFE Runtime Environment, attesterar noder och arbetsbelastningar, utfärdar SVID:er och roterar dem automatiskt. Båda projekten tog examen från Cloud Native Computing Foundation i september 2022.

Hur ser ett SPIFFE-ID ut?

Ett SPIFFE-ID är en URI i formen spiffe://trust-domain/path, till exempel spiffe://prod.example.com/payments/api. Förtroendedomänen namnger den utfärdande myndigheten, och sökvägen identifierar den specifika arbetsbelastningen inom den. Samma SPIFFE-ID förblir giltigt oavsett om arbetsbelastningen körs i Kubernetes, på en virtuell maskin eller mellan molnleverantörer, vilket gör identiteten portabel.

Ersätter SPIFFE PKI eller en certifikatutfärdare?

Nej. SPIFFE tillämpar infrastruktur för publika nycklar på arbetsbelastningar snarare än att ersätta dem. Varje SPIFFE-förtroendedomän backas upp av signeringsnycklar som fungerar som en certifikatutfärdare, och SPIRE kan länkas till en uppströms företags-CA. Organisationer behöver fortfarande styrda nyckelceremonier, skyddade rötter och certifikatsynlighet, vilket är anledningen till att arbetsbelastningsidentitetsprogram vanligtvis körs tillsammans med en hanterad PKI.

Hur länge gäller ett SPIFFE-certifikat (SVID)?

SPIRE utfärdar X.509 SVID:er med en standardlivstid på en timme, och SPIRE-agenten förnyar dem automatiskt innan de löper ut. Livstiderna kan konfigureras ner till minuter. Eftersom rotationen är automatisk ser arbetsbelastningar aldrig en manuell förnyelsehändelse, och en stulen autentiseringsuppgift slutar fungera inom de återstående minuterna av sin livstid istället för att förbli giltig i månader.

Hur stöder arbetsbelastningsidentitet noll förtroende?

Zero Trust tar bort implicit förtroende baserat på nätverksplats och verifierar varje begäran mot en identitet. NIST SP 800-207 definierar den arkitekturen, och NIST SP 800-207A benämner SPIFFE som identitetsinfrastruktur för molnbaserade, multimolnbaserade miljöer. Workload-identitet tillhandahåller de verifierbara tjänstidentiteter som Zero Trust-policymotorer och ömsesidiga TLS är beroende av, vilket utvidgar modellen bortom mänskliga användare till varje maskin.

Ankararbetsbelastningsidentitet i PKI You Govern

Utforska PKI-as-a-Service för att förankra ditt arbetsbelastningsidentitetsprogram i en hanterad, HSM-baserad CA-hierarki, eller prata med en krypteringskonsult om att utöka certifikatidentifiering och livscykelautomation till dina kluster med CertSecure Manager. ISO 27001:2022-certifierad och SOC 2-attesterad.