Modulo 3: Configurazione di AWS CLI
TUTORIAL
Configurazione di AWS CLI
In questo modulo, installerai e configurerai l’interfaccia a riga di comando di AWS (AWS CLI)
Obiettivi
- Installazione dell'interfaccia della linea di comando AWS (AWS CLI) per il tuo sistema operativo
- Configurazione delle credenziali per accedere al tuo account AWS
- Configurazione di più profili per accedere a diversi account AWS
Implementazione
L'interfaccia a riga di comando di AWS è uno strumento unificato per gestire i tuoi servizi AWS. Scaricando e configurando questo unico strumento, è possibile controllare molti servizi AWS dalla riga di comando nonché automatizzarli mediante script.
Per interagire con AWS utilizzando il CLI, è necessario configurare le credenziali da utilizzare per effettuare chiamate API. Ti mostreremo anche come puoi configurare più profili per accedere a più di un account AWS, sia con credenziali addizionali che tramite la commutazione di ruolo IAM.
Tempo per il completamento
10 minuti
Requisiti del modulo
- Un browser internet
- Un account AWS
Richiedi assistenza
Installazione di AWS CLI
Ci sono diversi modi per installare AWS CLI, a seconda del sistema operativo in uso o della preferenza di utilizzo dei container. Per installare AWS CLI v2, consulta Installazione o aggiornamento della versione più recente di AWS CLI.
Una volta installato AWS CLI, puoi eseguire aws --version sulla riga di comando e visualizzare il seguente output (la versione potrebbe essere diversa):
aws --version
Ad esempio, la risposta durante l'installazione di AWS CLI su Windows 10 è la seguente:
AWS CLI è ora installato e sei pronto per configurare le tue credenziali.
Configurazione delle credenziali di AWS CLI
Per configurare le credenziali, usa il comando <aws configure sso> per includere le credenziali dell'utente creato nel modulo precedente di questo tutorial.
Nella CLI, esegui il comando <aws configure sso>, ti verrà chiesto di fornire le seguenti informazioni:
- Nome sessione SSO: fornisce un nome per la sessione inclusa nei log di AWS CloudTrail per le voci associate a questa sessione. Se non inserisci un nome, ne viene generato uno automaticamente. Per questo tutorial, usa <Test1>.
- URL di avvio SSO: l'URL del portale di AWS Access che ti è stato fornito durante la configurazione del Centro identità IAM.
- Regione SSO: in questo tutorial gli esempi utilizzano <us-east-1>. Quando esegui tu stesso i comandi, specifica la regione in cui hai abilitato il Centro identità IAM. Puoi trovare queste informazioni nella Console di gestione AWS nel riepilogo delle impostazioni del pannello di controllo del Centro identità IAM.
- Ambiti di registrazione SSO: gli ambiti autorizzano l'accesso a diversi endpoint. In questo tutorial useremo l'ambito minimo di <sso:account:access> per recuperare un token di aggiornamento dal servizio del Centro identità IAM.
Ti verrà richiesto di inserire ciascuno di questi elementi nel terminale dopo aver inserito il comando <aws configure sso>.
aws configure sso
Nota: se non conosci l'URL di avvio o la regione del tuo account, accedi alla console come utente root e passa al pannello di controllo del Centro identità IAM. La regione e l'URL del portale AWS Access vengono visualizzati nel riepilogo delle impostazioni.
Il codice di esempio seguente mostra il contenuto della CLI in questa fase:
$ aws configure sso
Nome sessione SSO (consigliato): Test1
URL di avvio SSO [nessuno]: https://my-sso-portal.awsapps.com/start
Regione SSO [nessuna]: us-east-1
Ambiti di registrazione SSO [nessuno]: sso:account:access
La CLI prova ad aprire automaticamente la pagina di autorizzazione SSO nel browser predefinito e avvia la procedura di accesso per il tuo account del Centro identità IAM.
Dopo aver fornito la password (e la credenziale MFA, se abilitata) ti verrà richiesto di consentire l'accesso ai tuoi dati. Ciò conferisce all'interfaccia a riga di comando di AWS le autorizzazioni per recuperare e visualizzare gli account e i ruoli AWS che sei autorizzato a utilizzare con il Centro identità IAM.
Poiché l'interfaccia a riga di comando di AWS è basata sull'SDK per Python, i messaggi di autorizzazione possono contenere variazioni del nome botocore, ad esempio botocore-client-Test1. Seleziona Consenti. Dopo l'autenticazione, ti verrà notificato che puoi chiudere la finestra.
La CLI aggiornerà e ti mostrerà gli account e i ruoli AWS disponibili. Perché hai configurato un solo account AWS con il ruolo AdministratorAccess, a questo punto quello è l'account e il ruolo con cui hai effettuato l'accesso. La finestra della CLI dovrebbe ora avere queste righe visualizzate:
L'unico account AWS disponibile è: 111122223333
Utilizzo dell'account ID 111122223333
L'unico ruolo disponibile è: AdministratorAccess
Utilizzo del nome del ruolo "AdministratorAccess"
Ti verrà quindi chiesto di specificare il formato di output predefinito, la Regione AWS predefinita a cui inviare i comandi e di fornire un nome per il profilo in modo da poter fare riferimento a questo profilo durante l'esecuzione di comandi nella CLI.
Il nome del profilo suggerito è il numero ID dell'account seguito da un trattino basso seguito dal nome del ruolo, tuttavia per questo tutorial useremo un nome di profilo più breve, admin-1. La finestra della CLI dovrebbe ora avere queste righe visualizzate:
Per usare questo profilo, specifica il nome del profilo usando --profile, come mostrato:
aws s3 ls --profile admin-1
Ora esegui il comando <aws ec2 describe-vpcs> per verificare se la configurazione è corretta. Ogni nuovo account AWS ha dei VPC predefiniti configurati in modo da poter eseguire il comando senza dover configurare altri servizi sul tuo account AWS.
aws ec2 describe-vpcs
La finestra della CLI dovrebbe ora mostrare le seguenti informazioni.
Questo conferma che la tua configurazione di AWS CLI è avvenuta correttamente.
Completando questa procedura, hai aggiornato il tuo file di configurazione AWS con una sezione sso-session e un profilo denominato.
Il file di configurazione si trova in ~/.aws/config sui computer che eseguono Linux o macOS o in C:\Users\ USERNAME \.aws\config sui computer che eseguono Windows. Se apri il tuo file di configurazione, vedrai queste due sezioni:
aws ec2 describe-vpcs --profile admin-1
{
"Vpcs": [
{
"CidrBlock": "10.0.0.0/16",
"DhcpOptionsId": "dopt-d12345",
"State": "available",
"VpcId": "vpc-0123456789abcdef",
"OwnerId": "111122223333",
"InstanceTenancy": "default",
............"CidrBlockAssociationSet": [
................{
....................."AssociationId": "vpc-cidr-assoc-38b060a751a39af8e",
....................."CidrBlock": "10.24.34.0/23",
....................."CidrBlockState": {
........................."State": "associated"
......................}
................}
............],
............"IsDefault": true
.........}
]
}
[profile admin-1]
sso_session = Test1
sso_account_id = 111122223333
sso_role_name = AdministratorAccess
region = us-east-1
output = json
[sso-session Test1]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_registration_scopes = sso:account:access
È ora possibile utilizzare questa sessione e questo profilo sso per richiedere credenziali utilizzando il comando < aws sso login>.
aws sso login
La finestra della CLI dovrebbe ora riportare le seguenti informazioni:
aws sso login -–profile admin-1
Tentativo di aprire automaticamente la pagina di autorizzazione SSO nel browser predefinito.
Se il browser non si apre o desideri utilizzare un altro dispositivo per autorizzare questa richiesta, apri il seguente URL:
https://device.sso.us-east1.amazonaws.com/
Quindi inserisci il codice:
XXX-XXXX
Passa alla finestra del browser e consenti l'accesso ai tuoi dati. Quando si torna alla finestra della CLI, viene visualizzata questa riga nel seguente messaggio:
Accesso riuscito all'URL di avvio: https://my-sso-portal.awsapps.com/start
Configurazione di più profili (facoltativo)
Quando aggiungi ruoli al tuo account AWS e aggiungi altri account AWS alla tua organizzazione, ripeti la procedura precedente per creare un profilo per tali ruoli e account.
Man mano che si aggiunge complessità, si consiglia di utilizzare una strategia di denominazione dei profili che associ gli ID degli account AWS e i nomi dei ruoli in modo da poterli distinguere tra i profili.
Conclusioni
Congratulazioni! Hai imparato come configurare AWS CLI e un profilo denominato. Nel prossimo modulo scoprirai come configurare AWS Cloud9, un IDE basato sul cloud.