2016-01-17 15 views
5

Qualcuno può dirmi come automatizzare la configurazione di aws in bash con un solo liner?AWS Configure Bash One Liner

Esempio:

$ aws configure --profile user2 
AWS Access Key ID [None]: AKIAI44QH8DHBEXAMPLE 
AWS Secret Access Key [None]: je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY 
Default region name [None]: us-east-1 
Default output format [None]: text 

Applicazione: voglio automatizzare questo all'interno di una finestra mobile Entrypoint!

+1

Se l'immagine di questa finestra mobile non è sotto il vostro controllo (ad esempio per i clienti, ecc.), Non preconfigurare le credenziali di AWS. Se l'immagine della finestra mobile verrà eseguita su un'istanza EC2 o ECS, utilizzare invece IAM Ruoli. –

+0

Questa sarà un'immagine multiuso. Le credenziali non fanno parte dell'immagine ma verranno fornite per l'istanza del contenitore. – blacklabelops

+0

Il contenitore funziona su EC2? –

risposta

6

Se si esegue aws configure set help vedrete che è possibile fornire le impostazioni singolarmente sulla riga di comando e verrà scritto le credenziali rilevanti o file di configurazione. Per esempio:

aws configure set aws_access_key_id AKIAI44QH8DHBEXAMPLE

+0

Funziona come un fascino. – blacklabelops

+2

Consiglio vivamente di NON incorporare le chiavi di accesso negli script, questa è una pratica molto negativa. Rispondi a Thomas L. per configurare le tue chiavi in ​​un file di configurazione che poi condividi con il tuo contenitore mobile. – Tom

+1

Mi riferivo anche a questo punto dato che maybeg è disposto ad automatizzare le sue implementazioni di container, quindi è probabile che finisca con l'incorporamento degli script il suo vero accesso/le chiavi segrete. Questa è la configurazione e non deve essere mischiata nel codice (ad esempio, non è stata eseguita la commit su github, ecc.). Saluti – Tom

2

Se si desidera automatizzare, è necessario utilizzare i file anziché la CLI. La tua CLI scrive solo quei file.

➜ cat ~/.aws/config 
[profile_1] 
output = json 
region = eu-west-1 
[profile_2] 
output = json 
region = eu-west-1 

➜ cat ~/.aws/credentials 
[profile_1] 
aws_access_key_id = 
aws_secret_access_key = 
[profile_2] 
aws_access_key_id = 
aws_secret_access_key = 
0

Per coloro inclini a usare bash, le seguenti funziona abbastanza bene e mantiene segreti di script. Inoltre, in un colpo solo salverà l'input su un profilo con nome.

printf "%s\n%s\nus-east-1\njson" "$KEY_ID" "$SECRET_KEY" | aws configure --profile my-profile 
Problemi correlati