簡體   English   中英

如何使用 terraform 在 AWS 權限集上添加多個內聯策略?

[英]How can I add multiple inline policy on AWS permission set using terraform?

我創建了 2 個策略並嘗試將其作為內聯策略附加到 AWS SSO 權限集上。 但是,它只應用其中一個策略。 如何將這兩個策略應用為 SSO 權限集的內聯策略?

resource "aws_iam_policy" "DenyAccess_nonUSRegions" {
name        = "DenyAccess_nonUSRegions"
description = "DenyAccess_nonUSRegions"
policy      = data.aws_iam_policy_document.DenyAccess_nonUSRegions.json
}

resource "aws_iam_policy" "role" {
name        = "Deny_Specific_IAM_Actions"
description = "Deny_Specific_IAM_Actions"
policy      = data.aws_iam_policy_document.Deny_Specific_IAM_Actions.json
}

resource "aws_ssoadmin_permission_set_inline_policy" "role" {
inline_policy      = data.aws_iam_policy_document.Deny_Specific_IAM_Actions.json
instance_arn       = aws_ssoadmin_permission_set.permission.instance_arn
permission_set_arn = aws_ssoadmin_permission_set.permission.arn
}

resource "aws_ssoadmin_permission_set_inline_policy" "DenyAccess_nonUSRegions" {
inline_policy      = data.aws_iam_policy_document.DenyAccess_nonUSRegions.json
instance_arn       = aws_ssoadmin_permission_set.permission.instance_arn
permission_set_arn = aws_ssoadmin_permission_set.permission.arn
}

為了將這兩個策略作為內聯策略應用於 AWS SSO 權限集,您可以使用 aws_ssoadmin_permission_set_inline_policy 資源創建兩個單獨的內聯策略,一個用於每個現有策略。

您將需要更新您的 Terraform 配置以創建兩個 aws_ssoadmin_permission_set_inline_policy 資源,一個用於您的每個現有策略。

例如,您可以使用 aws_ssoadmin_permission_set_inline_policy 資源創建第一個內聯策略,並引用您創建的 DenyAccess_nonUSRegions 策略。

resource "aws_ssoadmin_permission_set_inline_policy" 
"DenyAccess_nonUSRegions" {
  inline_policy      = 
data.aws_iam_policy_document.DenyAccess_nonUSRegions.json
  instance_arn       = 
aws_ssoadmin_permission_set.permission.instance_arn
  permission_set_arn = aws_ssoadmin_permission_set.permission.arn
}

然后,您可以使用 aws_ssoadmin_permission_set_inline_policy 資源創建第二個內聯策略,並引用您創建的 Deny_Specific_IAM_Actions 策略。

resource "aws_ssoadmin_permission_set_inline_policy" "role" {
  inline_policy      = 
data.aws_iam_policy_document.Deny_Specific_IAM_Actions.json
  instance_arn       = 
aws_ssoadmin_permission_set.permission.instance_arn
  permission_set_arn = aws_ssoadmin_permission_set.permission.arn
}

請務必注意,您應該為每個 aws_ssoadmin_permission_set_inline_policy 資源使用不同的名稱,因為它們在同一權限集中必須是唯一的。

有了這兩個內聯策略,您現有的兩個策略都將應用於 SSO 權限集,分配給該權限集的用戶將受到兩個策略中定義的限制的約束。

您只能有一個內聯策略 因此,在您的情況下,政策會相互覆蓋,最終您只會得到一個。 因此,您要么創建一個結合您擁有的兩個內聯策略的單一內聯策略,要么創建兩個托管策略(非內聯)。

暫無
暫無

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

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