title: Terraform: can't authenticate to aws provider using shared config file or static variables
body: <p>I'm trying to use terraform to manage AWS resources and trying to set up the credentials configuration. I'm following the official documentation: <a href="https://www.terraform.io/docs/providers/aws/index.html" rel="nofollow noreferrer">https://www.terraform.io/docs/providers/aws/index.html</a></p>
  
  <p>My first idea was set a shared credentials file so I configure it:</p>
  
  <ul>
  <li><p>~.aws/credentials</p>
  
  <pre><code>[default]
  aws_access_key_id=****
  aws_secret_access_key=****
  </code></pre></li>
  <li><p>~.aws/config</p>
  
  <pre><code>[default]
  region=us-east-1
  output=json
  </code></pre></li>
  <li><p>app/main.tf</p>
  
  <pre><code>provider "aws" {
      region = "us-east-1"
      version = "~&gt; 2.0"
      profile = "default"
  }
  
  terraform {
      backend "s3" {
          bucket = "example-bucket"
          key    = "terraform-test.tfstate"
          region = "us-east-1"
    }
  }
  </code></pre></li>
  </ul>
  
  <p>When I run <code>terraform init</code> I receive the following message:</p>
  
  <pre><code>Error: No valid credential sources found for AWS Provider.
          Please see https://terraform.io/docs/providers/aws/index.html for more information on
          providing credentials for the AWS Provider
  </code></pre>
  
  <p>I have already tested the credentials using aws cli and it's working perfectly.</p>
  
  <p>After that, I tried to configure static credentials in main.tf like this:</p>
  
  <pre><code>provider "aws" {
      region = "us-east-1"
      version = "~&gt; 2.0"
      access_key = "****"
      secret_key = "****"
  }
  </code></pre>
  
  <p>Same error...</p>
  
  <p>I decided to test with environment variables and then it worked. But now I want to know why I could not configure with static variables or shared config file. All this cases was described in the official docs, what am I doing wrong?</p>