Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] [Terraform] Error validating provider credentials

Olá, Estou seguindo exatamente o passo a passo do curso "Infraestrutura como código: preparando máquinas na AWS com Ansible e Terraform" mas na hora de realizar o primeiro "terraform plan" estou tendo o seguinte output:

 Error: error configuring Terraform AWS Provider: error validating provider credentials: error calling sts:GetCallerIdentity: InvalidClientTokenId: The security token included in the request is invalid.
│       status code: 403, request id: a054f1d9-7e90-4e27-a644-1b6323ae7c71
│
│   with provider["registry.terraform.io/hashicorp/aws"],
│   on main.tf line 12, in provider "aws":
│   12: provider "aws" {

segue abaixo meu arquivo main.tf :

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 3.27"
    }
  }

  required_version = ">= 0.14.9"
}

provider "aws" {
  region  = "us-west-2"
  profile = "default"

}

resource "aws_instance" "app_server" {
  ami           = "ami-095413544ce52437d"
  instance_type = "t2.micro"

  tags = {
    Name = "Primeira instancia"
  }
}

Já estou há dois dias travado nesse passo inicial. Parece que os professores não fizeram a aula direito e não ensinaram essa parte de maneira completa. Alguém poderia me ajudar por favor?

Obrigado.

4 respostas

Olá Luiz, tudo bem?

Esse erro indica que as credenciais de autenticação da AWS estão inválidas ou não foram corretamente configuradas.

Tente verificar se o perfil "default" existe no arquivo de configuração da AWS CLI em ~/.aws/config e se possui as credenciais corretas. Ou tente especificar as credenciais de acesso e o secret key diretamente no arquivo de configuração do Terraform, ao invés de usar o perfil "default". Exemplo de configuração com credenciais diretamente especificadas:

provider "aws" {
  region  = "us-west-2"
  access_key = "ACCESS_KEY"
  secret_key = "SECRET_KEY"
}
solução!

Olá Otavio. Tudo ótimo.

Consegui resolver aqui. Segue abaixo os passos que fiz para dar certo:

  • Excluí a chave que eu havia criado antes no console da AWS.
  • Configurei a autenticação multifator (MFA) no console da AWS.
  • Criei novamente uma chave no console da AWS.
  • Configurei a chave nova criada, utilizando o comando aws configure
  • Apaguei a pasta do projeto antigo e criei uma nova
  • No novo arquivo main.tf , utilizei o profile = "default" e region = "us-east-1"

Podemos encerrar esse tópico.

Eu estou com o mesmo problema mas nao entendi o que voce fez. Tem algum video? Achei a aula bem incompleta

@Gabriel, ele meio que "resetou" a chave de acesso da AWS criada na parte de credencial, esse erro do terraform plan indica que o terraform não está conseguindo encontrar fontes válidas de credenciais, e um dos motivos pode ser uma chave de acesso antiga. Você pode;

1- Configuração de variáveis de ambiente: Verifique se você definiu as variáveis de ambiente AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY, ou se está usando o AWS CLI para autenticação.

2- Verificação do arquivo de configuração do Terraform: Certifique-se de que o arquivo de configuração do Terraform tenha as informações corretas sobre suas credenciais da AWS.

3- Uso do profile da AWS: Se você estiver usando profiles da AWS, verifique se está usando o profile correto na sua configuração do Terraform.

4- Verificação de permissões: Verifique se a conta da AWS que você está usando possui as permissões necessárias para acessar as recursos na AWS.

5- Instalação do plugin AWS Provider: Verifique se você instalou o plugin AWS Provider corretamente e se ele está na versão mais recente.