Åtkomstmönster och IAM-policyer för multi-tenant-data
Använda datalagringstjänster i AWS
Dunieski Otano
AWS Solutions Architect
Säkerhetsintrång i multi-tenant-miljö
SaaS-applikation betjänar 1 000 företag
Bugg i applikationskoden möjliggör åtkomst över klientgränser
Anställd hos företag A ser företag B:s data
Resultat: Förlorade kunder, rättstvister, skadat rykte
Förstå multi-tenancy
Vad är multi-tenancy?
Flera kunder delar infrastruktur
Fördelar
Kostnadseffektivitet, enklare underhåll
Utmaning
Garantera fullständig dataisolering
Mönster med partitionsnyckel per klient
Design
tenantId som partitionsnyckel
Inkludera tenantId i varje post
Fördelar
Kostnadseffektivt, skalbart till tusentals klienter
Krav
Strikta åtkomstkontroller och IAM-policyer
Mönster med separata tabeller per klient
Design
Dedikerad tabell för varje klient
Fördelar
Bättre isolering, enklare regelefterlevnad
Nackdelar
Komplex hantering, tabellgränser
Mönster med separata databaser per klient
Design
Dedikerad databas för varje klient
Fördelar
Fullständig isolering, anpassade konfigurationer
Nackdelar
Högst kostnad, driftsöverhuvud
IAM-villkorsnycklar för klientisolering
dynamodb:LeadingKeys
Begränsar åtkomst till partitionsnyckel
Exempelpolicy
"Tillåt om tenantId = tenant-123"
Tillämpning
AWS tillämpar detta på API-nivå
Implementera försvar på djupet
Lager 1: Applikation
Kontrollera tenantId i koden
Lager 2: IAM-policy
Villkorsnycklar säkerställer isolering
Lager 3: Databasdesign
Fysisk separation via partitionsnyckel
Testning och validering
Testa åtkomst över klientgränser
Försök att läsa en annan klients data
Ska misslyckas med AccessDeniedException
Granskningsloggning
CloudTrail loggar alla åtkomstförsök
Regelbundna granskningar
Granska IAM-policyer och åtkomstmönster
Grattis!
AWS-datalager
: DynamoDB, S3, ElastiCache, OpenSearch
Design och optimering
: Tabelldesign, lagringsoptimering
Datasäkerhet
: Kryptering, hemlighetshantering, multi-tenant-isolering
Nu kör vi en övning!
Använda datalagringstjänster i AWS
Preparing Video For Download...