クロスアカウント配信のための IAM ロール - Amazon Virtual Private Cloud

クロスアカウント配信のための IAM ロール

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

ソースアカウントロール

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

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

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

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

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

ソースアカウントロールを作成するには
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

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

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

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

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

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

    3. [Next] を選択します。

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

  5. ナビゲーションペインで [Roles (ロール) ] を選択します。

  6. [Create role] を選択します。

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

    "Principal": { "Service": "delivery.logs.amazonaws.com" },
  8. [Add permissions] (アクセス許可の追加) ページで、この手順で先ほど作成したポリシーの横にあるチェックボックスを選択し、[Next] (次へ) を選択します。

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

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

送信先アカウントロール

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

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

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

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

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

送信先アカウントロールを作成するには
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

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

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

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

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

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

    3. [Next] を選択します。

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

  5. ナビゲーションペインで [Roles (ロール) ] を選択します。

  6. [Create role] を選択します。

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

    "Principal": { "AWS": "arn:aws:iam::source-account:role/mySourceRole" },
  8. [Add permissions] (アクセス許可の追加) ページで、この手順で先ほど作成したポリシーの横にあるチェックボックスを選択し、[Next] (次へ) を選択します。

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

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