

# クロスアカウント配信のための IAM ロール
<a name="firehose-cross-account-delivery"></a>

Amazon Data Firehose に発行する場合、監視するリソースと同じアカウント (ソースアカウント) または別のアカウント (送信先アカウント) にある配信ストリームを選択できます。Amazon Data Firehose へのフローログのクロスアカウント配信を有効にするには、ソースアカウントと送信先アカウントに IAM ロールをそれぞれ作成する必要があります。

**Topics**
+ [ソースアカウントロール](#firehose-source-account-role)
+ [送信先アカウントロール](#firehose-destination-account-role)

## ソースアカウントロール
<a name="firehose-source-account-role"></a>

ソースアカウントで、次のアクセス許可を付与するロールを作成します。この例のロールの名前は `mySourceRole` ですが、このロールには別の名前を選択できます。最後のステートメントにより、送信先アカウントのロールがこのロールを引き受けることができるようになります。条件ステートメントにより、このロールは指定されたリソースを監視する場合に限り、ログ配信サービスだけに渡されます。ポリシーを作成するときに、監視する VPC、ネットワークインターフェイス、またはサブネットを条件キー `iam:AssociatedResourceARN` で指定します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::{{123456789012}}:role/{{mySourceRole}}",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "delivery.logs.amazonaws.com"
                },
                "StringLike": {
                    "iam:AssociatedResourceARN": [
                        "arn:aws:ec2:{{us-east-1}}:{{123456789012}}:vpc/{{vpc-00112233344556677}}"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:ListLogDeliveries",
                "logs:GetLogDelivery"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::{{111122223333}}:role/AWSLogDeliveryFirehoseCrossAccountRole"
        }
    ]
}
```

------

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

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

****  

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

------

ソースアカウントから、以下に説明する手順に従ってロールを作成します。

**ソースアカウントロールを作成するには**

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": {},` を次のように置き換え、ログ配信サービスを指定します。[**次へ**] を選択します。

   ```
   "Principal": {
      "Service": "delivery.logs.amazonaws.com"
   },
   ```

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

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

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

## 送信先アカウントロール
<a name="firehose-destination-account-role"></a>

送信先アカウントで、**AWSLogDeliveryFirehoseCrossAccountRole** で始まる名前のロールを作成します。このロールには、以下のアクセス許可が必要です。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
          "iam:CreateServiceLinkedRole",
          "firehose:TagDeliveryStream"
      ],
      "Resource": "*"
    }
  ]
}
```

------

このロールに次の信頼ポリシーがあることを確認します。これにより、ソースアカウントで作成したロールがこのロールを引き受けることができます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:role/{{mySourceRole}}"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

送信先アカウントから、以下に説明する手順に従ってロールを作成します。

**送信先アカウントロールを作成するには**

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

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

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

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

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

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

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

   1. **AWSLogDeliveryFirehoseCrossAccountRole** で始まるポリシーの名前を入力し、**[ポリシーの作成]** を選択します。

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

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

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

   ```
   "Principal": {
      "AWS": "arn:aws:iam::{{source-account}}:role/{{mySourceRole}}"
   },
   ```

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

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

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