

# CloudWatch Logs へのフローログ発行のための IAM ロール
<a name="flow-logs-iam-role"></a>

フローログに関連付けられた IAM ロールには、CloudWatch Logs の指定されたロググループにフローログを発行するために十分なアクセス許可が必要です。IAM ロールは AWS アカウントに属している必要があります。

IAM ロールにアタッチされた IAM ポリシーには、少なくとも以下のアクセス許可が含まれている必要があります。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
      ],
      "Resource": "*"
    }
  ]
}
```

------

ロールに以下の信頼ポリシーがあることを確認します。これにより、フローログサービスがロールを引き受けることができます。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "vpc-flow-logs.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

[Confused Deputy Problem (混乱した使節の問題)](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) から自分を守るために、`aws:SourceAccount` および `aws:SourceArn` の条件キーを使用することをお勧めします。例えば、前述の信頼ポリシーに次の条件ブロックを追加できます。ソースアカウントはフローログの所有者であり、ソース ARN はフローログ ARN です。フローログ ID が不明な場合は、ARN の不明部分をワイルドカード (\$1) に置き換え、フローログ作成後にポリシーを更新できます。

```
"Condition": {
    "StringEquals": {
        "aws:SourceAccount": "account_id"
    },
    "ArnLike": {
        "aws:SourceArn": "arn:aws:ec2:region:account_id:vpc-flow-log/flow-log-id"
    }
}
```

## フローログの IAM ロールの作成
<a name="create-flow-logs-role"></a>

前述のように既存のロールを更新できます。また、以下の手順を使用してフローログで使用する新しいロールを作成することもできます。このロールは、フローログの作成時に指定します。

**フローログの IAM ロールを作成するには**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. ナビゲーションペインで、**ポリシー** を選択してください。

1. **[ポリシーの作成]** を選択します。

1. **[ポリシーの作成]** ページで、次の操作を行います。

   1. **[JSON]** を選択します。

   1. このウィンドウのコンテンツを、このセクションの冒頭にあるアクセス許可ポリシーに置き換えてください。

   1. [**次へ**] を選択します。

   1. ポリシーの名前、説明 (省略可能)、タグを入力し、**[ポリシーの作成]** をクリックします。

1. ナビゲーションペインで **Roles (ロール) ** を選択してください。

1. [**ロールの作成**] を選択してください。

1. **[Trusted entity type]** (信頼されたエンティティのタイプ) で、**[Custom trust policy]** (カスタム信頼ポリシー) を選択します。**[Custom trust policy]** (カスタム信頼ポリシー) で、`"Principal": {},` を次のように置き換え、**[Next]** (次へ) を選択します。

   ```
   "Principal": {
      "Service": "vpc-flow-logs.amazonaws.com"
   },
   ```

1. **[Add permissions]** (アクセス許可の追加) ページで、この手順で先ほど作成したポリシーの横にあるチェックボックスを選択し、**[Next]** (次へ) を選択します。

1. ロールの名前を入力し、オプションで説明を入力します。

1. [**ロールの作成**] を選択します。