AWS KMS Decrypt API の CloudTrail ログの AWS Config から「AccessDenied」エラーが表示されるのはなぜですか? こうした通知を回避するにはどうすればよいですか?

最終更新日: 2020 年 1 月 31 日

AWS Config サービスに関連する AWS Key Management Service (AWS KMS) Decrypt API で AWS CloudTrail の「AccessDenied」エラーが表示されるのはなぜですか?

簡単な説明

AWS Config 設定レコーダーは、AWS Lambda 関数リソースタイプなど、AWS Config を実行しているのと同じリージョンで、サポートされているすべてのリソースタイプの変更を記録します。ただし、AWS Config が AWS KMS カスタマー管理のキー (CMK) で暗号化された環境変数を使用して Lambda 関数の設定変更を追跡する場合は、これらの変数を復号化するために CMK へのアクセスが必要です。

注意: 設定レコーダーは、関連付けられた環境変数を除いて、Lambda 関数に対するすべての変更を追跡します。

設定レコーダーで割り当てられた AWS Identity and Access Management (IAM) ロールには、これらの Lambda 関数に対する読み取り専用のアクセス許可があります。

“lambda:GetFunction”
“lambda:GetPolicy”
“lambda:ListFunctions”
“lambda:GetAlias”
“lambda:ListAliases”

AWS Config には、暗号化操作で CMK を使用するアクセス許可がないため、Decrypt API の呼び出しに失敗します。AWS CloudTrail ログの「AccessDenied」エラーログ。

ログを Amazon CloudWatch ロググループに送信するように CloudTrail トレイルを設定し、Unauthorized または AccessDenied API 呼び出しに対して CloudWatch アラームを設定すると、「AccessDenied」エラーが表示されます。詳細については、例: 認証の失敗を参照してください。

解決方法

CloudWatch ログフィルターパターンを使用して、AWS Config によって呼び出される Decrypt API に関連する「AccessDenied」通知を除外することができます。

1.    CloudWatch コンソールを開き、[Log groups] を選択します。

2.    コンテンツペインの Metric Filter 列で、メトリクスフィルタを選択します。

3.    認証 API 呼び出しの失敗で使用されるフィルタ名の編集アイコンを選択します。

4.    [Filter Pattern] で、以下のフィルタを削除します。

{($.errorCode = "*UnauthorizedOperation") || ($.errorCode = "AccessDenied*")}

5.    [Filter Pattern] に、次のサンプル構文をコピーして貼り付け、[Assign Metric]、[Save Filter] の順に選択します。

{($.errorCode = "*UnauthorizedOperation" || $.errorCode = "AccessDenied*") && ($.eventName != "Decrypt" || ($.userIdentity.invokedBy != "config.amazonaws.com"))}

CloudWatch アラームのモニタリングがクリアされ、AWS Config によって呼び出される Decrypt API に関連する「AccessDenied」エラーの通知は受信されなくなります。

注意: 「AccessDenied」エラーログは CloudTrail ログに引き続き保存されるため、無視しても問題ありません。


このページは役立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合