web-dev-qa-db-fra.com

passage d'accès et clé secrète aws cli

J'essaie d'intégrer l'accès et la clé secrète avec aws cli. par exemple.

aws ec2 describe-instances --aws-access-key <access_key> --aws-secret-key <secret_key>

Également essayé avec les options -o et -w pour l'accès et la clé secrète respectivement. Il dit: Option inconnue aws-access-key et aws-secret-key

17
user3089927

Vous pouvez fournir des clés sur la ligne de commande via envars:

AWS_ACCESS_KEY_ID=ABCD AWS_SECRET_ACCESS_KEY=EF1234 aws ec2 describe-instances

Voir http://docs.aws.Amazon.com/cli/latest/topic/config-vars.html#credentials

EDIT: @wisbucky a noté que cela pourrait laisser des secrets dans l’historique de vos commandes. Je pense qu’un moyen de contourner ce problème dans bash consiste à préfixer votre commande d’un espace et à ne pas la propager à l’historique de votre bash.

33
DanH

Vous pouvez l'utiliser comme celui-ci;

aws configure set aws_access_key_id <yourAccessKey>
aws configure set aws_secret_access_key <yourSecretKey>

Pour plus d'informations, utilisez celui-ci;

aws configure set help

Le schéma général est;

aws <command> help
aws <command> <subcommand> help

J'espère que ça aide!

3
ulubeyn

C’est le meilleur moyen et plus sûr d’utiliser les rôles IAM. Vous pouvez y définir des droits spécifiques sur cette instance et sur les éléments auxquels elle doit accéder dans votre compte.

En fonction de la version d’awscli que vous utilisez, vous pouvez utiliser describe-instances de plusieurs manières.

Comme celui-ci:

ec2din -O your-key -W your-secret-key --region your-region

Il y a aussi une grande différence lorsque vous installez awscli avec pip install ou à partir de pkg comme le paquet deb Ubuntu.

ec2din est une commande courte en ec2-describe-instances

Plus d'exemples ici: ec2-describe-instances

Cordialement.

2
Peycho Dimitrov

En résumant le aws doc , il existe plusieurs façons de transmettre des informations d’authentification à la ligne de commande. Veuillez noter qu’il n’existe aucune option de ligne de commande permettant de transmettre directement la clé et la clé secrète. La "chaîne de fournisseur" est utilisée à la place.

Dans mes scripts bash, j'utilise souvent des variables d'environnement. Pour ajouter un peu de sécurité, je source un fichier contenant les variables plutôt que de les mettre dans le script. Avec les profils nommés, c'est encore plus facile. 

La chaîne de fournisseur est:

  1. options de ligne de commande: spécifiez la région, le format de sortie ou profile
  2. Variables d'environnement: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY et AWS_SESSION_TOKEN
  3. Le fichier d'informations d'identification AWS - situé dans ~/.aws/credentials sous Linux, MacOS ou Unix, ou dans C:\Utilisateurs\USERNAME .aws\credentials onWindows. Ce fichier peut contenir plusieurs profils nommés en plusà un profil par défaut.
  4. Le fichier de configuration CLI - généralement situé dans ~/.aws/config sous Linux, macOS ou Unix, ou sous C:\Utilisateurs\USERNAME .aws\config onWindows. Ce fichier peut contenir un profil par défaut, des profils nommés, des paramètres de configuration spécifiques à Et CLI pour chacun.
  5. Informations d'identification du conteneur - fournies par Amazon Elastic Container Service Sur des instances de conteneur lorsque vous attribuez un rôle à votre tâche.
  6. Informations d'identification de profil d'instance: ces informations d'identification peuvent être utilisées sur des instances EC2 Avec un rôle d'instance attribué et sont transmises via Le service de métadonnées Amazon EC2.
2
LHWizard

Vous pouvez également utiliser aws configure:

$ aws configure
AWS Access Key ID [None]: xxxxxxxxxxxxxxxxxxxxxxxxx
AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxxxxxxxx
1
MaxNevermind

Vous devriez stocker vos identifiants dans le fichier ~/.aws/config (ou .aws/credentials)

Plus d'informations sur sa configuration http://docs.aws.Amazon.com/cli/latest/reference/configure/index.html

Également, vous pouvez également créer un rôle IAM et certaines règles et les définir sur votre instance ec2 où vous utiliserez aws cli. Dans ce cas, vous n'aurez pas besoin des informations d'identification qui y sont configurées

1
Evgeniy Kuzmin

 enter image description here

Pour accéder à aws via cli,

aws configure
0
Prashanth Sams