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

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

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

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

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:*" ] } ] }

    次のポリシーは、単一のアカウント、 AWS アカウント sampleDestinationで という名前の特定の送信先リソースにのみサブスクリプションフィルターを作成するアクセス許可を提供します123456789012

    { "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" ] } ] }