簡體   English   中英

為什么某些 AWS 服務要求請求者具有 IAM 策略?

[英]Why do some AWS services require the requestor to have IAM policies?

例如,將 Lambda 連接到 SNS。

我嘗試設置一個 SNS TopicPolicy,允許從我的 VPC cidr 組發布到 SNS。 這沒有用,需要我創建一個 SNS 發布操作角色並將其附加到 Lambda。

我猜想拒絕操作是在服務上,而不是請求者,但事實似乎並非如此。

看起來這種行為只取決於服務。

對於SNS ,默認權限是允許從您賬戶中的所有服務訪問主題: Amazon SNS 訪問控制示例 我同意你的觀點,應該更清楚地說明這一點。

Amazon SNS 向所有新創建的主題授予默認策略。 默認策略向所有其他 AWS 服務授予對您的主題的訪問權限。 此默認策略使用 aws:SourceArn 條件來確保 AWS 服務僅代表您擁有的 AWS 資源訪問您的主題。

如果您好奇的話,這里是默認策略的樣子。 請注意, Principal*

{
  "Version": "2008-10-17",
  "Id": "__default_policy_ID",
  "Statement": [
    {
      "Sid": "__default_statement_ID",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "SNS:Publish",
        "SNS:RemovePermission",
        "SNS:SetTopicAttributes",
        "SNS:DeleteTopic",
        "SNS:ListSubscriptionsByTopic",
        "SNS:GetTopicAttributes",
        "SNS:AddPermission",
        "SNS:Subscribe"
      ],
      "Resource": "arn:aws:sns:XXX:XXXX:testTopic",
      "Condition": {
        "StringEquals": {
          "AWS:SourceOwner": "XXXX"
        }
      }
    }
  ]
}

但是,對於Lambda ,您需要在使用其他服務時明確授予訪問權限

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM