簡體   English   中英

AWS IAM 策略基於父 Cloudformation 限制對資源的訪問

[英]AWS IAM Policy restrict access to resources based on parent Cloudformation

在我們的 AWS 賬戶下,我們有多個產品,每個產品都是自己的 Cloudformation Stacks。 整個產品堆棧是 Dynamo/Serverless/Cognito。

最近,我們的一位客戶引入了外部承包商來處理特定產品。

有沒有辦法限制他們在我們的帳戶中訪問部署在 cloudformation 下的所有資源?


我通過使用環境(prod/master)和產品標簽標記 cloudformation 下的資源來嘗試以下操作:

{
  "PolicyDocument": {
    "Version": "2012-10-17",
    "Statement": [
      {
        "Effect": "Allow",
        "Action": "*",
        "Resource": "*",
        "Condition": {
          "ForAllValues:StringEquals": {
            "aws:ResourceTag/Product": "productName",
            "aws:ResourceTag/Environment": "productEnviroment"
          }
        }
      }
    ]
  }

這不起作用,似乎可以訪問所有內容。 扭轉這一點並拒絕除標記之外的所有內容,然后直接應用特定操作似乎也不起作用。

您可以創建組織單位並向其添加帳戶,這些帳戶只能訪問這些 OU 中的資源。 它是分層的,因此您的 root 帳戶將可以訪問所有內容,依此類推。

組織 -> OU1 -> OU2 -> OU3

不幸的是,沒有 CloudFormation for Organizations,但CLI 非常簡單

如果你想自動化這個,我會做一些事情:

  1. 在根/父 OU 下創建組織單位
  2. 創建帳戶(在 root 中創建)
  3. 將帳戶從 root 移動到 OU
  4. 為賬戶生成訪問密鑰/創建 IAM 並生成訪問密鑰(不幸的是“一次性”手動任務)
  5. 使用 AWS 憑證部署您希望保留在該組織單位內的 CloudFormation 堆棧

暫無
暫無

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

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