2016-01-17 9 views
5

Czy ktoś może mi powiedzieć, jak zautomatyzować konfigurację aws w bashie za pomocą jednej wkładki?AWS Konfiguracja Bash One Liner

Przykład:

$ 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 

Zastosowanie: Chcę zautomatyzować ten wewnątrz Docker punkt_wejścia!

+1

Jeśli ten obraz dokowany wykracza poza Twoją kontrolę (np. Do klientów itp.), Nie konfiguruj w tym miejscu poświadczeń AWS. Jeśli obraz dokowany ma działać na instancji EC2 lub ECS, użyj zamiast tego IAM Roles. –

+0

To będzie obraz wielofunkcyjny. Poświadczenia nie są częścią obrazu, ale zostaną dostarczone dla instancji kontenera. – blacklabelops

+0

Czy kontener będzie działał na EC2? –

Odpowiedz

6

Jeśli prowadzisz aws configure set help widać, że można dostarczać indywidualnie ustawienia w linii poleceń i będą zapisywane do odpowiednich poświadczeń lub pliku konfiguracyjnego. Na przykład:

aws configure set aws_access_key_id AKIAI44QH8DHBEXAMPLE

+0

Działa jak urok. – blacklabelops

+2

Gorąco polecam NIE WSTAWIĆ kluczy dostępu do skryptów, jest to bardzo zła praktyka. Podaj odpowiedź Thomasa L., aby skonfigurować klucze w pliku konfiguracyjnym, który następnie udostępnisz swojemu kontenerowi w dockerze zamiast tego. – Tom

+1

Wspomniałem również o tym, ponieważ maybeg jest skłonny zautomatyzować swoje wdrożenia kontenerów w doku, więc prawdopodobnie skończy się osadzaniem skryptów jego prawdziwy dostęp/tajne klucze. To jest konfiguracja i nie powinna być mieszana w kodzie (np. Nie jest zatwierdzona na Github itp.). Twoje zdrowie – Tom

2

Jeśli chcesz zautomatyzować, powinieneś używać plików zamiast CLI. Twój interfejs CLI zapisuje tylko te pliki.

➜ 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

Dla tych skłonny użyć bash, następujących działa całkiem dobrze i trzyma sekrety z skryptach. Dodatkowo, za jednym razem zapisuje on również twoje dane wejściowe do nazwanego profilu.

printf "%s\n%s\nus-east-1\njson" "$KEY_ID" "$SECRET_KEY" | aws configure --profile my-profile 
Powiązane problemy