View a markdown version of this page

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

サポート終了通知: 2024 年 10 月 22 日、 AWS は Amazon Nimble Studio のサポートを終了します。2024 年 10 月 22 日以降、Nimble Studio コンソールまたは Nimble Studio リソースにアクセスできなくなります。

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

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

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

リソースポリシーの aws:SourceArn および aws:SourceAccount のグローバル条件コンテキストキーを使用して、Identity and Access Management (IAM) が Amazon Nimble Studio に付与する、リソースへのアクセス許可を制限することをお勧めします。両方のグローバル条件コンテキストキーを同じポリシーステートメントで使用する場合、aws:SourceAccount 値、および aws:SourceArn 値の中のアカウントで、同じアカウント ID を使用する必要があります。

aws:SourceArn 値はスタジオの ARN、aws:SourceAccount はアカウント ID である必要があります。スタジオは Nimble Studio によって生成されるため、スタジオが作成されるまでは、スタジオ ID が何であるかを知ることはできません。スタジオを作成したら、最終的なスタジオ ID を aws:SourceArn として設定し、信頼ポリシーを更新できます。

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

エンドユーザーは、Nimble Studio ポータルへのサインイン時にスタジオのロールを引き受けます。スタジオを作成すると、 はロール AWS を設定し、ポリシーを評価します。 は、ユーザーが Nimble Studio ポータルにログインするたびにポリシー AWS を評価します。スタジオ作成時に aws:SourceArn を変更することはできません。スタジオの作成が完了したら、aws:SourceArn の StudioArn を使用できます。

次のロールポリシー引き受けの例は、aws:SourceArn および aws:SourceAccount のグローバル条件コンテキストキーを Nimble Studio で使用して、混乱した代理問題を防止する方法を示しています。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "identity.nimble.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ],
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "StringLike": {
          "aws:SourceArn": "arn:aws:nimble:us-west-2:123456789012:studio/*"
        }
      }
    }
  ]
}