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,跨服務模擬可能會導致混淆代理人問題。在某個服務 (呼叫服務) 呼叫另一個服務 (被呼叫服務) 時,可能會發生跨服務模擬。呼叫服務可以被操縱,以使用其許可來對其他客戶的資源採取不應具有存取許可的方式。為了預防這種情況, AWS 提供的工具可協助您保護所有服務的資料,而這些服務主體已獲得您帳戶中資源的存取權。

我們建議在資源政策中使用 aws:SourceArnaws:SourceAccount全域條件內容金鑰,以限制 Identity and Access Management (IAM) 授予 Amazon Nimble Studio 存取資源的許可。如果您同時使用全域條件內容索引鍵,則值中的 aws:SourceAccount 值和 帳戶在使用相同的政策陳述式時,aws:SourceArn必須使用相同的帳戶 ID。

的值aws:SourceArn必須是 Studio 的 ARN,而且aws:SourceAccount必須是您的帳戶 ID。在建立 Studio 之前,您不會知道 Studio ID 是什麼,因為它是由 Nimble Studio 產生。建立 Studio 後,您可以使用最終 Studio ID 設定為 來更新信任政策aws:SourceArn

防範混淆代理人問題的最有效方法是使用 aws:SourceArn 全域條件內容索引鍵,以及資源的完整 ARN。如果您不知道資源的完整 ARN,或如果您指定多個資源,請針對 ARN 的未知部分使用aws:SourceArn全域內容條件索引鍵搭配萬用字元 (*)。例如:arn:aws:nimble::123456789012:*

您的最終使用者在登入 Nimble Studio 入口網站時擔任您的 Studio 角色。當您建立 Studio 時, 會 AWS 設定角色並評估政策。 AWS 會在您的其中一位使用者登入 Nimble Studio 入口網站後,評估政策。建立 Studio 時,您無法修改 aws:SourceArn。建立 Studio 之後,您可以使用 studioArn 進行 aws:SourceArn

下列範例是擔任角色政策,示範如何使用 Nimble Studio 中的 aws:SourceArnaws:SourceAccount全域條件內容索引鍵來防止混淆代理人問題。

{
  "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/*"
        }
      }
    }
  ]
}