サポート終了通知: 2025 年 12 月 15 日に、 AWS はサポートを終了します AWS IoT Analytics。2025 年 12 月 15 日以降、 AWS IoT Analytics コンソールまたは AWS IoT Analytics リソースにアクセスできなくなります。詳細については、AWS IoT Analytics 「サポート終了」を参照してください。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
サービス間での不分別な代理処理の防止
混乱した代理問題は、アクションを実行するためのアクセス許可を持たないエンティティが、より特権のあるエンティティにアクションの実行を強制できてしまう場合に生じる、セキュリティ上の問題です。では AWS、サービス間のなりすましにより、混乱した代理問題が発生する可能性があります。サービス間でのなりすましは、あるサービス (呼び出し元サービス) が、別のサービス (呼び出し対象サービス) を呼び出すときに発生する可能性があります。呼び出し元サービスが操作され、それ自身のアクセス許可を使用して、本来アクセス許可が付与されるべきではない方法で別の顧客のリソースに対して働きかけることがあります。これを防ぐために AWS では、顧客のすべてのサービスのデータを保護するのに役立つツールを提供しています。これには、アカウントのリソースへのアクセス許可が付与されたサービスプリンシパルを使用します。
リソースポリシーには、aws:SourceArn および aws:SourceAccount のグローバル条件コンテキストキーを使用することをお勧めします。これにより、 がリソースに別のサービス AWS IoT Analytics に付与するアクセス許可が制限されます。両方のグローバル条件コンテキストキーを同じポリシーステートメントで使用する場合は、aws:SourceAccount 値と、aws:SourceArn 値に含まれるアカウントが、同じアカウント ID を示している必要があります。
「混乱した代理」問題から保護するための最も効果的な方法は、リソースの完全なAmazon リソースネーム (ARN)を指定しながら、グローバル条件コンテキストキー aws:SourceArn を使用することです。リソースの ARN 全体が不明または複数のリソースを指定する場合、ARN の未知部分にワイルドカード *が付いた aws:SourceArn グローバルコンテキスト条件キー を使用します。例えば、arn:aws:。iotanalytics::123456789012:*
Amazon S3 バケットの防止
AWS IoT Analytics データストアにカスタマーマネージド Amazon S3 ストレージを使用すると、データを保存する Amazon S3 バケットが混乱した代理問題にさらされる可能性があります。
たとえば、Nikki Wolf は DOC-EXAMPLE-BUCKET という顧客所有の Amazon S3 バケットを使用しています。このバケットには、us-east-1 リージョンで作成された AWS IoT Analytics データストアの情報が保存されます。彼女は、 AWS IoT Analytics サービスプリンシパルが自分に代わって DOC-EXAMPLE-BUCKET をクエリできるようにするポリシーを指定します。Nikki の同僚である Li Juan は、自分のアカウントから DOC-EXAMPLE-BUCKET にクエリを実行し、その結果を含むデータセットを作成します。その結果、 AWS IoT Analytics サービスプリンシパルは、Li がアカウントからクエリを実行したにもかかわらず、Li に代わって Nikki の Amazon S3 バケットにクエリを実行しました。
これを防ぐため、Nikki は DOC-EXAMPLE-BUCKET のポリシーで aws:SourceAccount 条件または aws:SourceArn 条件を指定できます。
aws:SourceAccount 条件を指定する - バケットポリシーの次の例では、Nikki のアカウント (123456789012) の AWS IoT Analytics リソースのみが DOC-EXAMPLE-BUCKET にアクセスできるように指定します。
aws:SourceArn 条件を指定してください‐代わりに、Nikki が aws:SourceArn 条件を使用することもできます。
Amazon CloudWatch Logs での防止
Amazon CloudWatch Logs を使用してモニタリングを行うと、混乱した代理問題が発生するのを防ぐことができます。以下のリソースポリシーは、以下のいずれかの問題に関する混乱した代理問題を防止する方法を説明しています。
-
グローバル条件コンテキストキー
aws:SourceArn -
AWS アカウント ID
aws:SourceAccountを持つ -
の
sts:AssumeRoleリクエストに関連付けられている顧客リソース AWS IoT Analytics
123456789012 を AWS アカウント ID に置き換え、us-east-1 を次の例の AWS IoT Analytics アカウントのリージョンに置き換えます。
Amazon CloudWatch Logsの詳細については、「でのログ記録とモニタリング AWS IoT Analytics」を参照してください。
カスタマーマネージド AWS IoT Analytics リソースの混乱した代理防止
AWS IoT Analytics リソースに対してアクションを実行する AWS IoT Analytics アクセス許可を付与すると、リソースが混乱した代理問題にさらされる可能性があります。混乱した代理問題を回避するには、次のリソースポリシーの例 AWS IoT Analytics を使用して、 に付与されるアクセス許可を制限できます。
AWS IoT Analytics チャネルとデータストアの防止
IAM ロールを使用して、ユーザーに代わって AWS IoT Analytics がアクセスできる AWS リソースを制御します。混乱した代理問題にロールが公開されないようにするには、 aws:SourceAccount要素で AWS アカウントを指定し、ロールにアタッチする信頼ポリシーの aws:SourceArn要素で AWS IoT Analytics リソースの ARN を指定できます。
次の例では、123456789012 を AWS アカウント ID に置き換え、arn:aws:iotanalytics: を AWS IoT Analytics チャネルまたはデータストアの ARN に置き換えます。aws-region:123456789012:channel/DOC-EXAMPLE-CHANNEL
チャネルとデータストア用のカスタマーマネージド S3 ストレージオプションの詳細については、「AWS IoT Analytics API リファレンス」の「CustomerManagedChannelS3Storage」と「CustomerManagedDatastoreS3Storage」を参照してください。
AWS IoT Analytics データセットコンテンツ配信ルールのサービス間の混乱した代理の防止
Amazon S3 または にデータセットクエリ結果を配信するために が AWS IoT Analytics 引き受ける IAM ロール AWS IoT Events は、混乱した代理の問題にさらされる可能性があります。混乱した代理問題を防ぐには、 aws:SourceAccount要素に AWS アカウントを指定し、ロールにアタッチする信頼ポリシーの aws:SourceArn要素に AWS IoT Analytics リソースの ARN を指定します。
データセットのコンテンツ配信ルールの設定について詳しくは、「AWS IoT Analytics API リファレンス」の「contentDeliveryRules」を参照してください。