環境変数難易度 標準無料
Lambda関数の環境変数の暗号化・サイズ制約について、正しい記述を2つ選べ。
- A環境変数はデフォルトでLambdaサービスが管理するAWS管理キーにより保存時暗号化(encryption at rest)されており、追加設定・追加費用は不要である
- Bカスタマー管理のCMKを指定して保存時暗号化を行うことで、キーポリシーによるアクセス制御やCloudTrailでのキー使用状況の監査が可能になる
- C環境変数は追加設定なしでも転送時に自動的にエンドツーエンド暗号化され、
lambda:GetFunction権限を持つ者にも値は常にマスクされ平文では見えない - D環境変数の合計サイズに上限はなく、アプリケーションの設定値はすべて環境変数に格納するのがベストプラクティスである
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:AAI作成・独立検証済
解説
Lambdaの環境変数は常にAWS KMSで暗号化されて保存される。追加設定をしなければ、Lambdaサービスが管理する
デフォルトのAWS管理キー(aws/lambda)で自動的に暗号化されており、追加コストは発生しない。
- より厳格な監査(CloudTrailでのキー使用履歴)やキーポリシーによるアクセス制御が必要な場合は、カスタマー管理のCMKを指定して暗号化できる。
- ただし、環境変数の値はデフォルトでは
lambda:GetFunction等の権限を持つ者にはコンソール/API上で平文表示され得る。 値そのものを平文表示から保護したい場合は「転送時の暗号化ヘルパー」を有効化し、クライアント側で暗号化した値をコード側で復号する実装が必要になる。 - 環境変数の合計サイズには4KBの上限があり、これを超える設定値はParameter StoreやSecrets Managerを参照する設計にする必要がある。
- C値を平文表示から保護するには「転送時の暗号化ヘルパー」を明示的に有効化し、コード側で復号処理を実装する必要がある。デフォルトでは権限を持つ者に平文表示され得る。
- D環境変数の合計サイズには4KBの上限がある。大きな設定値やシークレットはParameter StoreやSecrets Managerに格納し実行時に取得する設計が必要。
ひっかけ: 「環境変数は自動で転送時暗号化され、誰からも平文が見えない(C)」という思い込みが罠。平文非表示にするには明示的な暗号化ヘルパーの設定・コード側の復号処理が必要。
また「環境変数のサイズに上限はない(D)」も誤り。合計4KBの制約があるため、大きな設定はParameter Store/Secrets Manager等の外部ストアを使う設計が必要になる。
AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)