CloudWatch Logs へのフローログ発行のための IAM ロール
フローログに関連付けられた IAM ロールには、CloudWatch Logs の指定されたロググループにフローログを発行するために十分なアクセス許可が必要です。IAM ロールは AWS アカウントに属している必要があります。
IAM ロールにアタッチされた IAM ポリシーには、少なくとも以下のアクセス許可が含まれている必要があります。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": "*" } ] }
ロールに以下の信頼ポリシーがあることを確認します。これにより、フローログサービスがロールを引き受けることができます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vpc-flow-logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Confused Deputy Problem (混乱した使節の問題) から自分を守るために、aws:SourceAccount
および aws:SourceArn
の条件キーを使用することをお勧めします。例えば、前述の信頼ポリシーに次の条件ブロックを追加できます。ソースアカウントはフローログの所有者であり、ソース ARN はフローログ ARN です。フローログ ID が不明な場合は、ARN の不明部分をワイルドカード (*) に置き換え、フローログ作成後にポリシーを更新できます。
"Condition": {
"StringEquals": {
"aws:SourceAccount": "account_id
"
},
"ArnLike": {
"aws:SourceArn": "arn:aws:ec2:region
:account_id
:vpc-flow-log/flow-log-id
"
}
}
フローログの IAM ロールの作成
前述のように既存のロールを更新できます。また、以下の手順を使用してフローログで使用する新しいロールを作成することもできます。このロールは、フローログの作成時に指定します。
フローログの IAM ロールを作成するには
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
ナビゲーションペインで、ポリシー を選択します。
-
[ポリシーの作成] を選択します。
-
[ポリシーの作成] ページで、次の操作を行います。
-
[JSON] を選択します。
-
このウィンドウのコンテンツを、このセクションの冒頭にあるアクセス許可ポリシーに置き換えてください。
-
[Next] を選択します。
-
ポリシーの名前、説明 (省略可能)、タグを入力し、[ポリシーの作成] をクリックします。
-
-
ナビゲーションペインで [Roles (ロール) ] を選択します。
-
[Create role] を選択します。
-
[Trusted entity type] (信頼されたエンティティのタイプ) で、[Custom trust policy] (カスタム信頼ポリシー) を選択します。[Custom trust policy] (カスタム信頼ポリシー) で、
"Principal": {},
を次のように置き換え、[Next] (次へ) を選択します。"Principal": { "Service": "vpc-flow-logs.amazonaws.com" },
-
[Add permissions] (アクセス許可の追加) ページで、この手順で先ほど作成したポリシーの横にあるチェックボックスを選択し、[Next] (次へ) を選択します。
-
ロールの名前を入力し、オプションで説明を入力します。
-
[ロールの作成] を選択します。