ステップ 3: クロスアカウント宛先の IAM アクセス許可を追加/検証する - Amazon CloudWatch ログ

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ステップ 3: クロスアカウント宛先の IAM アクセス許可を追加/検証する

AWS クロスアカウントポリシーの評価論理によると、クロスアカウントリソース (サブスクリプションフィルターの宛先として使用される Kinesis または Firehose ストリームなど) にアクセスするには、クロスアカウントの宛先リソースへの明示的なアクセスを提供する ID ベースのポリシーを送信アカウントに設定する必要があります。ポリシーの評価論理の詳細については、「クロスアカウントポリシーの評価論理」を参照してください。

ID ベースのポリシーは、サブスクリプションフィルターの作成に使用している IAM ロールまたは IAM ユーザーにアタッチできます。送信アカウントにこのポリシーが存在する必要があります。管理者ロールを使用してサブスクリプションフィルタを作成している場合は、このステップをスキップして ステップ 4: サブスクリプションフィルターを作成する に進んでください。

クロスアカウントに必要な IAM アクセス許可を追加または検証するには
  1. 次のコマンドを入力して、AWS ログコマンドの実行に使用されている IAM ロールまたは IAM ユーザーを確認します。

    aws sts get-caller-identity

    このコマンドにより、以下のような出力が返されます。

    { "UserId": "User ID", "Account": "sending account id", "Arn": "arn:aws:sending account id:role/user:RoleName/UserName" }

    RoleName または UserName で表される値を書き留めておいてください。

  2. 送信側アカウントの AWS Management Console にサインインし、ステップ 1 で入力したコマンドの出力に IAM ロールまたは IAM ユーザーが返された添付ポリシーを検索します。

  3. このロールまたはユーザーにアタッチされたポリシーが、クロスアカウントの宛先リソースで logs:PutSubscriptionFilter を呼び出すための明示的なアクセス許可が付与されていることを確認します。次の例で示すポリシーは、推奨されるアクセス許可を示しています。

    以下のポリシーでは、1 つの AWS アカウント、アカウント 123456789012 内の任意の宛先リソースに対してのみサブスクリプションフィルターを作成するアクセス許可が付与されます。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow subscription filters on any resource in one specific account", "Effect": "Allow", "Action": "logs:PutSubscriptionFilter", "Resource": [ "arn:aws:logs:*:*:log-group:*", "arn:aws:logs:*:123456789012:destination:*" ] } ] }

    以下のポリシーでは、1 つの AWS アカウント、アカウント 123456789012 内にある sampleDestination という任意の宛先リソースに対してのみサブスクリプションフィルターを作成するアクセス許可が付与されます。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow subscription filters on one specific resource in one specific account", "Effect": "Allow", "Action": "logs:PutSubscriptionFilter", "Resource": [ "arn:aws:logs:*:*:log-group:*", "arn:aws:logs:*:123456789012:destination:sampleDestination" ] } ] }