【学習記録】AWS SAA対策②:IAMロール/Lambda/DynamoDB/Secrets Manager/Shieldなど
🛡️ IAMロールとクロスアカウントアクセス
- サードパーティWebアプリケーションとの連携には、最小限の権限を付与したIAMポリシーを作成し、そのポリシーをベースとしたIAMロールを作成します。
- このIAMロールをWebアプリに適用することで、第三者の認証情報漏洩を防止しつつ、安全にクロスアカウントアクセスが可能となります。
🗄️ RDSのリードレプリカ
- リードレプリカは読み取り専用のデータベース。
- 高負荷時の読み取り分散や災害対策にも活用可能。
📦 AMIの共有とLaunchPermission
- 複数のAWSアカウント間でAMI(Amazon Machine Image)を共有するには、AMIの
LaunchPermission
プロパティに共有先アカウントを設定する必要があります。 - 特定のアカウントとのみAMIを共有し、セキュリティを維持。
🛡️ AWS Shield Advanced
- DDoS攻撃からリソースを守るだけでなく、攻撃に伴うAWS請求の増加に対して**コスト保証(経済的保護)**を提供。
- 高度なモニタリング・通知機能も活用可能。
🔄 DynamoDBとトランザクション機能
- DynamoDBのトランザクションを使って、データ書き込みの整合性を確保。
- 機密データを含むトランザクションでは、保存と同時に特定の処理(例:マスキングや削除)を行う設計が可能。
⚙️ LambdaとIAMロールの連携
- Lambda関数を作成する際は、**実行ロール(IAMロール)**を設定し、必要なアクセス権限を明示的に付与。
- 例:Lambda → Amazon SQS へのメッセージ送信には、SQSへの
SendMessage
権限をIAMポリシーで付与。
🔐 認証情報管理:Secrets ManagerとSSMパラメーターストア
- EC2 → DB接続のセキュリティ向上には、認証情報の定期ローテーションが重要。
-
AWS Secrets Manager
:認証情報を安全に暗号化・保存・取得できるフルマネージドサービス。 -
AWS Systems Manager パラメーターストア
も簡易的な秘密情報管理に適用可能。
☁️ S3のストレージクラスとバージョニング
- 一般的な保存用途には Standardストレージクラス が最適。
- 誤削除対策には、バージョニングの有効化がおすすめ。
- 以前のバージョンを保持・復元可能。
📝 まとめ
この記事では、IAMやLambda、Secrets Managerなど、AWSのセキュリティ・認証・データ管理に関するベストプラクティスを中心に整理しました。AWS認定ソリューションアーキテクト アソシエイト試験の対策としても、実務でも重要な内容です。