2016-01-14 20 views
6

Come si digita il codice MFA quando si utilizza la CLI AWS? Ho controllato la pagina di documentazione di IAM .Come utilizzare MFA con AWS CLI?

I dispositivi MFA sono già abilitati sotto il mio nome utente.

aws iam list-mfa-devices --user-name X 

rendimenti

{ 
"MFADevices": [ 
    { 
     "UserName": "X", 
     "SerialNumber": "arn:aws:iam::+++:mfa/X", 
     "EnableDate": "2016-01-13T23:15:43Z" 
    } 
] 
} 

risposta

2

chiamata aws sts get-session-token --token-code <value> documentati here. Questo ti darà un token di sicurezza temporaneo. La documentazione sull'uso del token di sicurezza temporaneo può essere trovata here.

11

La CLI può gestire molto questo per voi se si utilizzano i ruoli. Descritto qui: http://docs.aws.amazon.com/cli/latest/userguide/cli-roles.html

Nelle mie credenziali di file che ho:

[my_iam_user] 
aws_access_key_id = AKIABLAHBLAHBLAHBLAH 
aws_secret_access_key = <blah> 
region = us-east-1 

[my_admin_role] 
role_arn = arn:aws:iam::123456789123:role/my_admin_role 
source_profile = my_iam_user 
mfa_serial = arn:aws:iam::123456789123:mfa/my_iam_user 
region = us-east-1 

Nota la voce mfa_serial. Puoi ottenere questo valore dai tuoi dettagli utente nella console di AWS IAM. Questa voce indica alla CLI che è richiesto MFA per quel ruolo.

Quando chiamo aws s3 ls --profile my_admin_role dice Enter MFA code:, dopo aver incollato il codice restituisce l'elenco.

Nota: non ho trovato un modo per ottenere la CLI per chiedere MFA quando si chiama un profilo utente (--profile my_iam_user) solo chiamando un profilo di ruolo attiva la richiesta MFA.

Il token MAE viene poi portato in avanti e il profilo utente può essere utilizzato così:

aws sts get-caller-identity --profile my_iam_user 
# { 
# "Account": "123456789123", 
# "UserId": "AIDABLAHBLAHBLAHBLAH", 
# "Arn": "arn:aws:iam::123456789123:user/my_iam_user" 
# } 

aws sts get-caller-identity --profile my_admin_role 
# { 
# "Account": "123456789123", 
# "UserId": "AROABLAHBLAHBLAHBLAH:AWS-CLI-session-1234567890", 
# "Arn": "arn:aws:sts::123456789123:assumed-role/my_admin_role/AWS-CLI-session-1234567890" 
# } 
Problemi correlati