Integrationer med plattformar som Stripe, Shopify och Salesforce är ofta där affärskritiska data och pengar flyttas mellan system. Det är också där genvägar är vanliga: en API-nyckel inklistrad i frontend-kod, en webhook-slutpunkt som accepterar vilken förfrågan som helst eller ett synkroniseringsjobb som tyst misslyckas. Varje leverantör publicerar utförlig säkerhetsvägledning, men den integrationskod som ert team skriver är fortfarande ert ansvar. Den här guiden går igenom de praktiska kontroller som gör integrationer säkrare och mer tillförlitliga.
Vad det är
En säker integration skyddar tre saker: inloggningsuppgifterna som ger åtkomst, de data som flödar mellan systemen och integriteten i de affärshändelser som utlöser åtgärder. Inloggningsuppgifter omfattar API-nycklar, OAuth-token och klienthemligheter; de bör bara finnas på servern, i en hemlighetshanterare eller skyddad miljökonfiguration, med de snävaste behörigheter som integrationen behöver. Data under överföring använder HTTPS, och lagrade data begränsas till det som verksamheten faktiskt behöver lagra. Händelseintegriteten beror på att man kontrollerar att inkommande webhooks verkligen kommer från leverantören. Stripe signerar till exempel webhook-händelser med en signeringshemlighet och tillhandahåller ett signaturhuvud som er slutpunkt bör verifiera; Shopify signerar webhooks med ett HMAC-huvud; Salesforce-integrationer bygger vanligtvis på OAuth via en ansluten app (connected app) eller dess nyare motsvarighet, en extern klientapp (external client app), med avgränsade behörigheter. Tillförlitlighet spelar också roll. Webhooks kan komma sent, mer än en gång eller i fel ordning, så hanterarna bör vara idempotenta, och utgående anrop bör hantera hastighetsbegränsningar och nya försök utan att duplicera debiteringar, ordrar eller poster. Stripe stöder idempotensnycklar av just det skälet.
Vem det är för
Guiden riktar sig till:
- Team som kopplar betalningar, prenumerationer eller kassaflöden till sina egna system
- E-handelsföretag som synkroniserar ordrar, lager eller kunder mellan Shopify och andra plattformar
- Företag som integrerar CRM-data från Salesforce med interna verktyg eller kundportaler
- Produktägare som granskar integrationsarbete levererat av en byrå eller frilansare
Vad det hjälper till att klargöra
Att gå igenom kontrollerna hjälper till att klargöra:
- Var inloggningsuppgifter lagras, vem som har åtkomst till dem och hur de byts
- Om webhook-slutpunkter verifierar signaturer och avvisar osignerade eller upprepade förfrågningar
- Hur fel, nya försök och dubbletter hanteras utan att data förstörs
- Vilka data som kopieras mellan system och om allt verkligen behöver kopieras
Vad ingår
- Håll hemliga API-nycklar enbart på serversidan; använd publicerbara eller offentliga nycklar i klienter där leverantören stöder det
- Lagra hemligheter i en hemlighetshanterare eller skyddad konfiguration, aldrig i källkodsförråd
- Begär de snävaste scopes och behörigheterna; använd separata inloggningsuppgifter per miljö
- Byt inloggningsuppgifter enligt schema och omedelbart efter förändringar bland personal eller leverantörer
- Verifiera webhook-signaturer med leverantörens dokumenterade metod och avvisa förfrågningar som inte klarar kontrollen
- Kontrollera tidsstämplar på händelser för att minska risken för återuppspelning och registrera ID:n för behandlade händelser
- Gör hanterarna idempotenta så att upprepade händelser inte skapar dubbla åtgärder
- Använd idempotensnycklar eller motsvarande skydd för utgående skapandeoperationer där det stöds
- Hantera hastighetsbegränsningar med backoff och lägg arbete i kö i stället för att kasta det
- Logga integrationshändelser utan att logga hemligheter, kortdata eller onödiga personuppgifter
- Larma någon när synkroniseringsjobb eller webhooks misslyckas upprepade gånger
- Testa i leverantörens sandlåde- eller testläge innan ni byter till skarpa inloggningsuppgifter
Vad som inte ingår
- Validering av PCI DSS-efterlevnad eller godkännande från betalningsförmedlare
- Bedrägerihantering eller hantering av återkrav (chargebacks)
- Ett påstående om att dessa kontroller förhindrar varje integrationsincident
- Drift av tredjepartsplattformar, som förblir leverantörernas ansvar
När det passar att välja den
Använd checklistan när ni utformar en ny integration, före driftsättning, när ni tar över integrationskod från ett annat team och efter varje incident med dubbla betalningar, saknade ordrar eller oväntad åtkomst till data. Den är särskilt viktig när en integration kan utlösa ekonomiska åtgärder, som debiteringar, återbetalningar eller prenumerationsändringar, eller kan exponera kundposter.
Vår strategi
Behandla varje integration som en liten produkt med egen ägare, dokumentation och övervakning. Börja med en förteckning över integrationer, inloggningsuppgifter och webhook-slutpunkter; många organisationer upptäcker nycklar som ingen minns att de skapat. Tillämpa sedan kontrollerna ovan i riskordning: hemligheter och signaturverifiering först, därefter idempotens och felhantering, sedan loggning och larm. Vår tjänst Secure Backend & API Engineering utformar och levererar backend- och integrationsarbete med ett API-kontrakt, en testsammanfattning och en driftshandbok, där produktionsåtkomst och kunddata bara används efter uttryckligt skriftligt godkännande. Där betalnings- och prenumerationslogik berörs kan Subscription & Payment Infrastructure Security granska de överenskomna betalnings- och behörighetsflödena separat. Om ni vill ha en oberoende kontroll av befintliga integrationsslutpunkter kan en säkerhetsgranskning av applikationen inkludera dem i omfattningen.
Vanliga frågor
Relaterade artiklar
Kom igång
Planerar eller granskar ni en affärskritisk integration?
Berätta vilka plattformar som berörs, vilka data och händelser som flödar mellan dem och eventuella problem ni har sett. Vi föreslår en skriftlig omfattning.
Begär en skriftlig omfattning