简体   繁体   English

terraform:创建安全组时出错:UnauthorizedOperation:您无权执行此操作

[英]terraform : Error creating Security Group: UnauthorizedOperation: You are not authorized to perform this operation

I have a below terraform script which works fine when use it on terminal.我有一个下面的 terraform 脚本,在终端上使用它时可以正常工作。

provider "aws" {
  region = "${var.aws_region}"
}

resource "aws_instance" "jenkins-poc" {
  count = "2"
  ami           = "${var.aws_ami}"
  instance_type = "${var.instance_type}"
  key_name      = "${var.key_name}"
  availability_zone = "${var.aws_region}${element(split(",",var.zones),count.index)}"
  vpc_security_group_ids = ["${aws_security_group.jenkins-poc.id}"]
  subnet_id = "${element(split(",",var.subnet_id),count.index)}"
  user_data = "${file("userdata.sh")}"
  tags {
    Name = "jenkins-poc${count.index + 1}"
    Owner = "Shailesh"
  }
}

resource "aws_security_group" "jenkins-poc" {
  vpc_id = "${var.vpc_id}"
  name = "${var.security_group_name}"
  description = "Allow http,httpd and SSH"

  ingress {
      from_port = 443
      to_port = 443
      protocol = "tcp"
      cidr_blocks = ["10.0.0.0/8"]
  }
  ingress {
      from_port = 22
      to_port = 22
      protocol = "tcp"
      cidr_blocks = ["0.0.0.0/0"]
  }
 ingress {
      from_port = 80
      to_port = 80
      protocol = "tcp"
      cidr_blocks = ["10.0.0.0/8"]
 }
  egress {
      from_port = "0"
      to_port = "0"
      protocol = "-1"
      cidr_blocks = ["0.0.0.0/0"]
  }
}

resource "aws_elb" "jenkins-poc-elb" {
    name = "jenkins-poc-elb"
    subnets = ["subnet-","subnet-"]
listener {
    instance_port = 80
    instance_protocol = "http"
    lb_port = "80"
    lb_protocol = "http"
}

  health_check {
    healthy_threshold = "2"
    unhealthy_threshold = "3"
    timeout = "3"
    target = "tcp:80"
    interval = 30
  }
    instances = ["${aws_instance.jenkins-poc.*.id}"]
}

and variables file is as given below.和变量文件如下所示。

variable "aws_ami" {
  default = "ami-"
}

variable "zones"{
  default = "a,b"
}

variable "aws_region" {
    default = "us-east-1"
}

variable "key_name" {
    default = "test-key"
}

variable "instance_type" {
    default = "t2.micro"
}

variable "count" {
    default = "2"
}
variable "security_group_name" {
    default = "jenkins-poc"
}
variable "vpc_id" {
    default = "vpc-"
}
variable "subnet_id" {
    default = "subnet-,subnet"
}

Everything works fine when I run through terminal using terraform apply.当我使用 terraform apply 通过终端运行时,一切正常。 But same code gives me below error when I run it through jenkins.但是当我通过 jenkins 运行它时,相同的代码给了我以下错误。

aws_security_group.jenkins-poc: Error creating Security Group: UnauthorizedOperation: You are not authorized to perform this operation

Note :: This is a non-default vpc in which I am performing this operation.注意 :: 这是我在其中执行此操作的非默认 vpc。

I would highly appreciate any comments.我将不胜感激任何评论。 I didn't mention sensitive values.我没有提到敏感值。

Just make sure if you are in the right aws profile and the default aws profile could restrict you from creating the instance只需确保您在正确的 aws 配置文件中,并且default aws 配置文件可能会限制您创建实例

provider "aws" {
  region = "${var.aws_region}"
  shared_credentials_file = "~/.aws/credentials"
  profile = "xxxxxxx"
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 启动源实例时出错:UnauthorizedOperation:您无权执行此操作 - Error launching source instance: UnauthorizedOperation: You are not authorized to perform this operation 调用DescribeVpcEndpoints操作时发生错误(UnauthorizedOperation):您无权执行此操作 - An error occurred (UnauthorizedOperation) when calling the DescribeVpcEndpoints operation: You are not authorized to perform this operation 创建密钥对时出错:您无权执行此操作 - Error creating Key Pair: You are not authorized to perform this operation CloudFormation“您无权执行此操作”创建 SubnetRouteTableAssociation - CloudFormation "You are not authorized to perform this operation" creating SubnetRouteTableAssociation 您无权执行此操作 - You are not authorized to perform this operation “您无权执行此操作” - “You are not authorized to perform this operation” Lambda 创建错误创建应用程序:您无权执行:serverlessrepo:GetApplication - Lambda creation Error creating application: You are not authorized to perform: serverlessrepo:GetApplication aws-ec2 - 您无权执行此操作 - aws-ec2 - you are not authorized to perform this operation 如何解决 Terraform 资源错误 UnauthorizedOperation:此操作不支持共享 VPC - How to work through Terraform resource error UnauthorizedOperation: This operation does not support shared VPCs Kubernetes / kops:将EBS卷附加到实例时出错。 您无权执行此操作。 错误403 - Kubernetes/kops: error attaching EBS volume to instance. You are not authorized to perform this operation. Error 403
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM