実行時の送信先のメンバーシップの変更 - Amazon CloudWatch Logs

実行時の送信先のメンバーシップの変更

所有している送信先からログ送信者を追加または削除しなければならない状況が発生することがあります。新しいアクセスポリシーが関連付けられている送信先に対して PutDestinationPolicy アクションを使用できます。次の例では、先ほど追加したアカウント 111111111111 がログデータの送信を停止し、アカウント 333333333333 が有効になります。

  1. 現在 testDestination という送信先に関連付けられているポリシーをフェッチし、AccessPolicy を書き留めておきます。

    aws logs describe-destinations \ --destination-name-prefix "testFirehoseDestination" { "destinations": [ { "destinationName": "testFirehoseDestination", "targetArn": "arn:aws:firehose:us-east-1:222222222222:deliverystream/my-delivery-stream", "roleArn": "arn:aws:iam:: 222222222222:role/CWLtoKinesisFirehoseRole", "accessPolicy": "{\n \"Version\" : \"2012-10-17\",\n \"Statement\" : [\n {\n \"Sid\" : \"\",\n \"Effect\" : \"Allow\",\n \"Principal\" : {\n \"AWS\" : \"111111111111 \"\n },\n \"Action\" : \"logs:PutSubscriptionFilter\",\n \"Resource\" : \"arn:aws:logs:us-east-1:222222222222:destination:testFirehoseDestination\"\n }\n ]\n}\n\n", "arn": "arn:aws:logs:us-east-1: 222222222222:destination:testFirehoseDestination", "creationTime": 1612256124430 } ] }
  2. アカウント 111111111111 が停止したこととアカウント 333333333333 が有効になったことを反映させるためにポリシーを更新します。このポリシーを ~/NewAccessPolicy.json ファイルに配置します。

    { "Version" : "2012-10-17", "Statement" : [ { "Sid" : "", "Effect" : "Allow", "Principal" : { "AWS" : "333333333333 " }, "Action" : "logs:PutSubscriptionFilter", "Resource" : "arn:aws:logs:us-east-1:222222222222:destination:testFirehoseDestination" } ] }
  3. 次のコマンドを使用して、NewAccessPolicy.json ファイルで定義されたポリシーを送信先に関連付けます。

    aws logs put-destination-policy \ --destination-name "testFirehoseDestination" \ --access-policy file://~/NewAccessPolicy.json

    これにより、最終的には、アカウント ID 111111111111 からのログイベントが無効になります。アカウント ID 333333333333 の所有者がサブスクリプションフィルターを作成すると、すぐに 333333333333 からのログイベントが送信先に送信されるようになります。