仮想プライベートクラウド (VPC) のフローログを設定したら、「アクセスエラー」というエラーが表示されました。
簡単な説明
VPC フローログの設定時にアクセス許可の問題が発生した場合、次のエラーが表示されます。
「Access Error.The IAM role for your flow logs does not have sufficient permissions to send logs to the CloudWatch log group.」
通常、このエラーの原因となるのは次のシナリオです。
- フローログの ID およびアクセス管理 (IAM) ロールには、フローログレコードを Amazon CloudWatch ロググループに公開できるアクセス許可が付与されていない。
- IAM ロールがフローログサービスとの信頼関係を持っていない。
- フローログサービスがプリンシパルとして信頼関係に指定されていない。
解決方法
フローログの IAM ロールには、フローログレコードを CloudWatch ロググループに公開できるアクセス許可が付与されていない。
フローログに関連付けられている IAM ロールには、CloudWatch Logs 内の指定されたロググループにフローログを公開できるだけのアクセス許可が必要です。IAM ロールは AWS アカウントに属している必要があります。IAM ロールに次のアクセス許可があることを確認してください。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams"
],
"Resource": "*"
}
]
}
IAM ロールがフローログサービスとの信頼関係を持っていない。
フローログサービスがロールを引き受けることができる信頼関係がロールにあることを確認します。手順は次のとおりです。
-
IAM コンソールにログインします。
-
[ロール] を選択します。
-
[VPC フローログ] を選択します。
-
[信頼関係] を選択します。
-
[信頼ポリシーを編集] を選択します。
-
上記のセクションにある現在のコードを削除し、次のポリシーを入力します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "vpc-flow-logs.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
- [ポリシーを更新] を選択します。
信頼関係により、どのサービスがロールを引き受けることができるかを制御できます。この例では、信頼関係によってロールを引き受けることができているサービスは、VPC フローログサービスです。
信頼関係でフローログサービスがプリンシパルとして指定されていない。
信頼関係でフローログサービスをプリンシパルとして指定してください。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "vpc-flow-logs.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
関連情報
CloudWatch Logs にフローログを発行するための IAM ロール
VPC フローログのトラブルシューティング