サービス間の混乱した代理の防止 - AWS Elemental MediaConnect

サービス間の混乱した代理の防止

混乱した代理問題とは、アクションを実行する許可を持たないエンティティが、より高い特権を持つエンティティにそのアクションの実行を強制できるというセキュリティ問題です。AWS では、サービス間でのなりすましが、混乱した代理問題を生じさせることがあります。サービス間でのなりすましは、1 つのサービス (呼び出し元サービス) が、別のサービス (呼び出し対象サービス) を呼び出すときに発生する可能性があります。呼び出し元サービスは、本来ならアクセスすることが許可されるべきではない方法でその許可を使用して、別の顧客のリソースに対する処理を実行するように操作される場合があります。これを防ぐために AWS では、顧客のすべてのサービスのデータを保護するのに役立つツールを提供しています。これには、アカウントのリソースへのアクセス許可が付与されたサービスプリンシパルを使用します。

フローの aws:SourceArn およびリソースポリシー内の aws:SourceAccount グローバル条件コンテキストキーを使用して、AWS Elemental MediaConnect がそのリソースに対して別のサービスに付与する許可を制限することをお勧めします。クロスサービスのアクセスにリソースを 1 つだけ関連付ける場合は、フローの aws:SourceArn を使用します。クロスサービスが使用できるように、アカウント内の任意のリソースを関連付ける場合は、aws:SourceAccount を使用します。

混乱した代理問題から保護するための最も効果的な方法は、フローの完全な ARN を指定しながら、aws:SourceArn グローバル条件コンテキストキーを使用することです。フローの完全な ARN が不明な場合や、複数のフローを指定する場合には、グローバルコンテキスト条件キー aws:SourceArn で、ARN の未知部分を示すためにワイルドカード文字 (*) を使用します。例えば、arn:aws:mediaconnect:*:111122223333:* です。

以下は、混乱した使節の問題を防止するために、MediaConnect で aws:SourceArn および aws:SourceAccount グローバル条件コンテキストキーを使用する方法の例です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "mediaconnect.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:mediaconnect:us-west-2:111122223333:flow:1-ABCDEFGHJxyzMNoP-a1234bc12345:flow-name" } } } ] }