Q68 — AWS SAA-C03 第17章

第 68/89 問 | ← 第17章

Q1368. ある企業が、AWS Lake Formation を使用して AWS 上にデータ分析プラットフォームを構築しています。このプラットフォームは、Amazon S3 や Amazon RDS など、さまざまなソースからデータを取り込みます。企業は、機密情報を含むデータの一部へのアクセスを防止するセキュアなソリューションを必要としています。これらの要件を満たす、運用オーバーヘッドが最も少ないソリューションはどれですか?

正解: B. 行レベルのセキュリティ(RLS)およびセルレベルのセキュリティ(CLS)を実装するためのデータフィルターを作成します。

解説

正解は B です。「行レベルのセキュリティ(RLS)およびセルレベルのセキュリティ(CLS)を実装するためのデータフィルターを作成する」。 解説: 企業は、AWS Lake Formation 内の機密データへのアクセスを制限するセキュアかつ運用オーバーヘッドの少ないソリューションを必要としており、Lake Formation は Amazon S3(データレイクのストレージ)および Amazon RDS(リレーショナルデータソース)と統合されます。 ■ 選択肢 B が最適な理由: ・Lake Formation のネイティブなセキュリティ機能 Lake Formation は、データフィルター(細かい粒度のアクセス制御とも呼ばれる)を用いた行レベルのセキュリティ(RLS)およびセルレベルのセキュリティ(CLS)をサポートしています。 これらのフィルターでは、属性ベースのアクセス制御(ABAC)ポリシーに基づき、ユーザーまたはロールがどの行・セルを参照できるかを定義できます。 → カスタムコード(Lambda など)不要であり、運用オーバーヘッドが最小限です。 ・集中管理されたセキュリティポリシー セキュリティポリシーは Lake Formation 内で定義され、Amazon Athena、Amazon Redshift Spectrum、AWS Glue などのクエリエンジンを通じてデータが参照される際に適用されます。 → データソース(S3/RDS)の変更や別途実施するクリーンアップ処理は不要です。 ・リアルタイムでの適用 フィルターはクエリ実行時に適用されるため、アクセスパターンの変更があっても機密データが漏洩することはありません。 ■ 他の選択肢が不適切な理由: A:Lake Formation のテーブルにアクセスする権限を含む IAM ロールを作成する → IAM ロールはテーブル単位のアクセス制御しか提供せず、テーブル内の機密データに対する行/セル単位の制限はできません。したがって、機密情報へのアクセス防止には不十分です。 C:Lake Formation がデータを取り込む前に機密情報を削除する AWS Lambda 関数を作成する → 運用オーバーヘッドが非常に大きい:  ・すべてのデータをインジェスト前に前処理する必要があります。  ・Lambda 関数の保守・管理が必要です。  ・機密フィールドのスキーマ変更に対応する柔軟性が低いです。  ・データが永続的に改変されるため、将来的に機密情報が必要になった場合、復元できません。 D:Lake Formation のテーブルから定期的に機密情報をクエリして削除する AWS Lambda 関数を作成する → さらに大きな運用オーバーヘッド:  ・テーブル全体を継続的にスキャンする必要があります。  ・スキャン間の期間に機密データが一時的に公開される「レースコンディション」のリスクがあります。  ・すべての機密データを確実に検出・削除するのは極めて困難です。 ■ Lake Formation における機密データのベストプラクティス: ・機密データの動的なマスキングまたは非表示を実現するために、Lake Formation のデータフィルター(RLS/CLS)を活用します。 ・ユーザー属性(例:部署、役職)に基づく細かい粒度のポリシーを定義します。 ・Lake Formation のアクセス許可(IAM ロールのみではない)を用いてポリシーを適用します。 ・監査・コンプライアンス対応のため、生データはそのまま保持し、改変を避けます。 結論:選択肢 B は、以下の点で最も効率的かつセキュアなソリューションです: ・カスタムコード不要(Lake Formation のネイティブ機能を活用) ・行/セル単位の細かいアクセス制御を提供 ・中央集約型のポリシー管理により、メンテナンス負荷が極小 ・選択肢 A、C、D はいずれも、粒度不足または過剰な複雑さを招きます。 最終的な正解: B