混乱した代理の防止
混乱した代理問題は、アクションを実行する許可を持たないエンティティが、より特権のあるエンティティにアクションを実行するように強制できるセキュリティの問題です。AWS では、サービス間でのなりすましが、混乱した代理問題を生じさせることがあります。サービス間でのなりすましは、1 つのサービス (呼び出し元サービス) が、別のサービス (呼び出し対象サービス) を呼び出すときに発生する可能性があります。呼び出し元サービスは、本来ならアクセスすることが許可されるべきではない方法でその許可を使用して、別の顧客のリソースに対する処理を実行するように操作される場合があります。これを防ぐために AWS では、顧客のすべてのサービスのデータを保護するのに役立つツールを提供しています。これには、アカウントのリソースへのアクセス許可が付与されたサービスプリンシパルを使用します。
CloudWatch Logs が Kinesis データストリームおよび Kinesis Data Firehose にデータを書き込む際に付与するアクセス許可の範囲を制限するために、リソースポリシーで aws:SourceArn
または aws:SourceAccount
グローバル条件コンテキストキーを使用することをお勧めします。
aws:SourceArn
の値は、データの書き込みと受信を行うアカウントのみに権限を制限する必要があります。
混乱した代理問題から保護するための最も効果的な方法は、リソースの完全な ARN を指定しながら、aws:SourceArn
グローバル条件コンテキストキーを使用することです。リソースの完全な ARN が分からない場合や、複数のリソースを指定する場合は、ARN の不明部分にワイルドカード (*) を使った aws:SourceArn グローバル条件コンテキストキーを使用します。例えば、arn:aws:servicename::123456789012:*
です。
送信先を作成する と ステップ 2: 送信先を作成する の CloudWatch Logs にアクセスを許可して、Kinesis データストリームと Kinesis Data Firehose にデータを書き込むためのポリシードキュメントでは、aws:SourceArn グローバル条件コンテキストキーを使用して、混乱した代理の問題を防止する方法を示しています。