マルチテナントのデータアクセスパターンと IAM ポリシー
AWS データストアの活用
Dunieski Otano
AWS Solutions Architect
マルチテナントのセキュリティ侵害
- SaaS アプリケーションが 1,000 社にサービスを提供
- アプリコードのバグによりテナント間アクセスが発生
- A 社の従業員が B 社のデータを閲覧
- 結果:顧客喪失、訴訟、信頼失墜
テナントごとのパーティションキーパターン
- 設計
- tenantId をパーティションキーとして使用
- すべてのアイテムに tenantId を含める
- メリット
- 要件
テナント分離のための IAM 条件キー
- dynamodb:LeadingKeys
- ポリシー例
- 「tenantId = tenant-123 の場合に許可」
- 適用
多層防御の実装
- レイヤー 1:アプリケーション
- レイヤー 2:IAM ポリシー
- レイヤー 3:データベース設計
テストと検証
- テナント間アクセスのテスト
- 他テナントのデータへのアクセスを試みる
- AccessDeniedException で失敗することを確認
- 監査ログ
- CloudTrail がすべてのアクセス試行を記録
- 定期レビュー
おめでとうございます!
- AWS データストア:DynamoDB、S3、ElastiCache、OpenSearch
- 設計と最適化:テーブル設計、ストレージ最適化
- データの保護:暗号化、シークレット管理、マルチテナント分離
Preparing Video For Download...