簡體   English   中英

如何使用Terraform設置安全組規則描述?

[英]How can I set the security group rule description with Terraform?

看來您現在可以設置安全組規則描述 這對於維護用於管理訪問的白名單非常有用。

我可以在AWS控制台中設置描述,但無法弄清楚如何使用Terraform進行描述。

我的假設是,如果AWS API允許這樣做,則Terraform可以在沒有Terraform代碼中顯式支持的情況下完成此任務。 也許那是一廂情願的想法,我們將不得不等待Terraform支持該新功能,或者我只是做錯了。

我嘗試僅在規則聲明中聲明description屬性(就像對安全組本身的描述一樣):

    ingress {
        from_port       = 22
        to_port         = 22
        protocol        = "tcp"
        cidr_blocks     = ["123.456.789.123"]
        description     = "some rule description"
        }

Terraform在計划階段使用以下方法來保全:

aws_security_group.somegroup:入口0:無效或未知密鑰:說明

我還嘗試在規則聲明中設置標簽(就像設置安全組名稱一樣):

     ingress {
         from_port       = 22
         ...
      tags {
           "Description" = "some rule description"
           }
      }

Terraform在計划階段使用以下方法來保全:

aws_security_group.somegroup:ingress.0:無效或未知密鑰:標簽

似乎您沒有正確使用Terraform api。

您無法將description設置為aws_security_group_rule資源。

Terraform.io上的aws_security_group_rule

resource "aws_security_group_rule" "allow_all" {
  type            = "ingress"
  from_port       = 0
  to_port         = 65535
  protocol        = "tcp"
  cidr_blocks     = ["0.0.0.0/0"]
  prefix_list_ids = ["pl-12c4e678"]

  security_group_id = "sg-123456"
}

您可以將description設置為aws_security_group資源。

Terraform.io上的aws_security_group

從他們的文檔中:

resource "aws_security_group" "allow_all" {
  name        = "allow_all"
  description = "Allow all inbound traffic"

  ingress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }

  egress {
    from_port       = 0
    to_port         = 0
    protocol        = "-1"
    cidr_blocks     = ["0.0.0.0/0"]
    prefix_list_ids = ["pl-12c4e678"]
  }
}

aws_security_groupdescription屬性應在其根范圍內的ingressegress聲明之外聲明

截至目前,您的代碼應該是有效的。

暫無
暫無

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

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