View a markdown version of this page

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

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

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

では AWS、あるサービス (呼び出し元のサービス) が別のサービス (呼び出し元のサービス) を呼び出すと、サービス間のなりすましが発生する可能性があります。呼び出し側のサービスは、適切なアクセス許可を持たないはずの場合でも、別の顧客のリソースを操作するように操作される可能性があり、その結果、混乱した代理問題が発生します。

これを防ぐために、 は、アカウント内のリソースへのアクセス権が付与されたサービスプリンシパルを持つすべてのサービスのデータを保護するのに役立つツール AWS を提供します。

リソースポリシーで aws:SourceArnおよび aws:SourceAccount グローバル条件コンテキストキーを使用して、Amazon Textract がリソースに別のサービスに付与するアクセス許可を制限することをお勧めします。

aws:SourceArn の値に Amazon S3 バケット ARN などのアカウント ID が含まれていない場合は、両方のキーを使用して、アクセス許可を制限する必要があります。両方のキーを使用し、aws:SourceArn 値にアカウント ID が含まれている場合、aws:SourceAccount 値と aws:SourceArn 値内のアカウントは、同じポリシーステートメントで使用するときに、同じアカウント ID を使用する必要があります。

クロスサービスアクセスにリソースを 1 つだけ関連付けたい場合は、aws:SourceArn を使用します。そのアカウント内のリソースをクロスサービスの使用に関連付けることを許可する場合は、aws:SourceAccount を使用します。

の値は、Textract で使用されるリソースの ARN aws:SourceArnである必要があります。これは、 形式で指定されますarn:aws:rekognition:region:account:resource。

代理の混乱が生じないようにするための最も効果的な方法は、リソースの完全な ARN を指定しながら、aws:SourceArn グローバル条件コンテキストキーを使用することです。

リソースの完全な ARN が不明な場合や、複数のリソースを指定する場合には、aws:SourceArn キーで、ARN の未知部分を示すワイルドカード文字 (*) を使用します。例えば、arn:aws:textract:*:111122223333:*。

代理の混乱が生じないようにするには、次のステップを実行します。

  1. IAM コンソールのナビゲーションペインで [ロール] をクリックします。コンソールに、現在のアカウントのロールが表示されます。

  2. 修正するロールの名前を選択します。変更するロールには、AmazonTextractServiceRole アクセス許可ポリシーが必要です。[信頼関係] タブを選択します。

  3. [Edit trust policy] (信頼ポリシーを編集) を選択します。

  4. [信頼ポリシーを編集] ページで、デフォルトの JSON ポリシーを、aws:SourceArn と aws:SourceAccount のグローバル条件コンテキストキーのいずれか、または両方を使用しているポリシーに置き換えます。以下のポリシー例を参照してください。

  5. [ポリシーの更新] を選択してください。

次の例は、Amazon Textract で aws:SourceArnおよび aws:SourceAccount グローバル条件コンテキストキーを使用して、混乱した代理問題を防ぐ方法を示す信頼ポリシーです。

SourceAccount および SourceArn条件の両方で複数のアカウントを指定できます。どちらの条件でも、信頼されたアカウントの ID を必ず指定してください。

Amazon Textract の非同期オペレーションを使用している場合は、IAM ロールで次のようなポリシーを使用できます。以下の例では、赤い置換可能なテキストを API オペレーションを呼び出すアカウントの IDs (アカウント ID と他の信頼されたアカウントの IDs に置き換えます。

JSON
{ "Version":"2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "textract.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn":["arn:aws:textract:*:123456789012:*","arn:aws:textract:*:111122223333:*"] }, "StringEquals": { "aws:SourceAccount": ["123456789012", "111122223333"] } } } }