Authentication and access credentials for the AWS CLI (original) (raw)

Configuration and credential precedenceAdditional topics in this section

You must establish how the AWS CLI authenticates with AWS when you develop with AWS services. To configure credentials for programmatic access for the AWS CLI, choose one of the following options. The options are in order of recommendation.

Configuration and credential precedence

Credentials and configuration settings are located in multiple places, such as the system or user environment variables, local AWS configuration files, or explicitly declared on the command line as a parameter. Certain authentication take precedence over others. The AWS CLI authentication settings take precedence in the following order:

  1. Command line options – Overrides settings in any other location, such as the--region, --output, and --profile parameters.
  2. Environment variables – You can store values in your system's environment variables.
  3. Assume role – Assume the permissions of an IAM role through configuration or theassume-role command.
  4. Assume role with web identity – Assume the permissions of an IAM role using web identity through configuration or theassume-role-with-web-identity command.
  5. AWS IAM Identity Center – The IAM Identity Center configuration settings stored in the config file are updated when you run the aws configure sso command. Credentials are then authenticated when you run the aws sso login command. The config file is located at~/.aws/config on Linux or macOS, or at C:\Users\`USERNAME`\.aws\config on Windows.
  6. Credentials file – The credentials and config file are updated when you run the command aws configure. The credentials file is located at ~/.aws/credentials on Linux or macOS, or at C:\Users\`USERNAME`\.aws\credentials on Windows.
  7. Custom process – Get your credentials from an external source.
  8. Configuration file – The credentials and config file are updated when you run the command aws configure. The config file is located at ~/.aws/config on Linux or macOS, or at C:\Users\`USERNAME`\.aws\config on Windows.
  9. Container credentials – You can associate an IAM role with each of your Amazon Elastic Container Service (Amazon ECS) task definitions. Temporary credentials for that role are then available to that task's containers. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.
  10. Amazon EC2 instance profile credentials – You can associate an IAM role with each of your Amazon Elastic Compute Cloud (Amazon EC2) instances. Temporary credentials for that role are then available to code running in the instance. The credentials are delivered through the Amazon EC2 metadata service. For more information, see IAM Roles for Amazon EC2 in the_Amazon EC2 User Guide_ and Using Instance Profiles in the IAM User Guide.

Additional topics in this section

Endpoints

IAM Identity Center authentication

Did this page help you? - Yes

Thanks for letting us know we're doing a good job!

If you've got a moment, please tell us what we did right so we can do more of it.

Did this page help you? - No

Thanks for letting us know this page needs work. We're sorry we let you down.

If you've got a moment, please tell us how we can make the documentation better.