Skip to main content

Gestione dell'identità e degli accessi di AWS

Things Mr. Welch is No Longer Allowed to do in a RPG #1-2450 Reading Compilation (Aprile 2025)

Things Mr. Welch is No Longer Allowed to do in a RPG #1-2450 Reading Compilation (Aprile 2025)
Anonim

Nel 2011, Amazon ha annunciato la disponibilità del supporto AWS Identity & Access Management (IAM) per CloudFront. IAM è stato lanciato nel 2010 e includeva il supporto S3. AWS Identity & Access Management (IAM) consente di avere più utenti all'interno di un account AWS. Se hai utilizzato Amazon Web Services (AWS), sei a conoscenza del fatto che l'unico modo per gestire i contenuti in AWS era la distribuzione del nome utente e della password o delle chiavi di accesso. Questa è una vera preoccupazione per la sicurezza per la maggior parte di noi. IAM elimina la necessità di condividere password e chiavi di accesso.

Cambiare costantemente la nostra password AWS principale o generare nuove chiavi è solo una soluzione disordinata quando un membro del personale lascia il nostro team. AWS Identity & Access Management (IAM) è stato un buon inizio che consente ai singoli account utente con chiavi individuali. Tuttavia, siamo un utente S3 / CloudFront, quindi abbiamo cercato di aggiungere CloudFront a IAM che finalmente è successo.

Ho trovato la documentazione su questo servizio un po 'dispersa. Ci sono alcuni prodotti di terze parti che offrono una gamma di supporto per Identity & Access Management (IAM). Ma gli sviluppatori di solito sono parsimoniosi quindi ho cercato una soluzione gratuita per la gestione di IAM con il nostro servizio Amazon S3.

Questo articolo illustra il processo di impostazione dell'interfaccia della riga di comando che supporta IAM e l'impostazione di un gruppo / utente con accesso S3. È necessario disporre di una configurazione dell'account Amazon AWS S3 prima di iniziare la configurazione di Identity & Access Management (IAM). Il mio articolo, utilizzando Amazon Simple Storage Service (S3), ti guiderà attraverso il processo di creazione di un account AWS S3.

Ecco i passaggi necessari per impostare e implementare un utente in IAM. Questo è scritto per Windows ma è possibile modificarlo per l'uso in Linux, UNIX e / o Mac OSX.

  1. Installa e configura la CLI (Command Line Interface)
  2. Crea un gruppo
  3. Concedere l'accesso di gruppo a S3 Bucket e CloudFront
  4. Crea utente e Aggiungi al gruppo
  5. Crea profilo di accesso e crea chiavi
  6. Test di accesso

Installa e configura la CLI (Command Line Interface)

Il toolkit della riga di comando IAM è un programma Java disponibile negli AWS Developers Tools di Amazon. Lo strumento consente di eseguire i comandi API IAM da un'utilità shell (DOS per Windows).

  • È necessario eseguire Java 1.6 o versioni successive. È possibile scaricare l'ultima versione da Java.com. Per vedere quale versione è installata sul tuo sistema Windows, apri il prompt dei comandi e digita java -version. Ciò presuppone che java.exe sia nel tuo PATH.
  • Scarica il toolkit IAM CLI e scompattalo da qualche parte sul tuo disco locale.
  • Ci sono 2 file nella root del toolkit CLI che è necessario aggiornare.
    • AWS-credential.template: Questo file contiene le tue credenziali AWS. Aggiungi AWSAccessKeyId e AWSSecretKey, salva e chiudi il file.
    • client-config.template: È necessario aggiornare questo file solo se è necessario un server proxy. Rimuovere i # segni e aggiornare ClientProxyHost, ClientProxyPort, ClientProxyUsername e ClientProxyPassword. Salva e chiudi il file.
  • Il prossimo passo prevede l'aggiunta di variabili d'ambiente. Vai a Pannello di controllo | Proprietà del sistema | Impostazioni di sistema avanzate | Variabili ambientali. Aggiungi le seguenti variabili:
    • AWS_IAM_HOME: Impostare questa variabile sulla directory in cui è stato decompresso il toolkit CLI. Se stai eseguendo Windows e lo hai decompresso nella radice del tuo disco C, la variabile sarebbe C: IAMCli-1.2.0.
    • JAVA_HOME: Imposta questa variabile nella directory in cui è installato Java. Questa sarebbe la posizione del file java.exe. In una normale installazione di Windows 7 Java, questo sarebbe qualcosa come C: Programmi (x86) Java jre6.
    • AWS_CREDENTIAL_FILE: Imposta questa variabile sul percorso e sul nome del file aws-credential.template che hai aggiornato in precedenza. Se stai eseguendo Windows e lo hai decompresso nella radice del tuo drive C, la variabile sarebbe C: IAMCli-1.2.0 aws-credential.template.
    • CLIENT_CONFIG_FILE: È necessario aggiungere questa variabile di ambiente solo se si richiede un server proxy. Se si sta eseguendo Windows e decompresso nella radice dell'unità C, la variabile sarebbe C: IAMCli-1.2.0 client-config.template. Non aggiungere questa variabile a meno che non ti serva.
  • Testare l'installazione andando al prompt dei comandi e inserendo iam-userlistbypath. Finché non si riceve un errore, si dovrebbe essere a posto.

Tutti i comandi IAM possono essere eseguiti dal prompt dei comandi. Tutti i comandi iniziano con "iam-".

Crea un gruppo

È possibile creare un massimo di 100 gruppi per ciascun account AWS. Mentre è possibile impostare le autorizzazioni in IAM a livello di utente, l'utilizzo di gruppi sarebbe la migliore pratica. Ecco il processo per creare un gruppo in IAM.

  • La sintassi per la creazione di un gruppo è iam-groupcreate -g GROUPNAME -p PATH -v dove le opzioni -p e -v sono opzioni. La documentazione completa sull'interfaccia della riga di comando è disponibile su Documenti AWS.
  • Se volessi creare un gruppo chiamato "awesomeusers", entrerai, iam-groupcreate -g awesomeusers al prompt dei comandi.
  • È possibile verificare che il gruppo sia stato creato correttamente immettendo iam-grouplistbypath nel prompt dei comandi. Se avessi creato questo gruppo, l'output sarebbe qualcosa come "arn: aws: iam: 123456789012: group / awesomeusers", dove il numero è il tuo numero di account AWS.

Concedere l'accesso di gruppo a S3 Bucket e CloudFront

Le policy controllano ciò che il tuo gruppo è in grado di fare in S3 o CloudFront. Per impostazione predefinita, il tuo gruppo non avrebbe accesso a nulla in AWS.Ho trovato la documentazione sulle politiche per essere OK, ma nel creare una manciata di politiche, ho fatto un po 'di prove ed errori per far funzionare le cose nel modo in cui volevo che funzionassero.

Hai un paio di opzioni per la creazione di politiche. Un'opzione è che puoi inserirli direttamente nel prompt dei comandi. Dal momento che potresti creare una policy e modificarla, per me è sembrato più semplice aggiungere la policy in un file di testo e poi caricare il file di testo come parametro con il comando iam-groupuploadpolicy. Ecco il processo utilizzando un file di testo e caricandolo su IAM.

  • Usa qualcosa come Blocco note e inserisci il seguente testo e salva il file:
    • {
    • "Dichiarazione": {
    • "Effetto": "Consenti",
    • "Azione": "s3: *",
    • "Risorsa":
    • "ARN: AWS: s3 ::: BUCKETNAME",
    • "ARN: AWS: s3 ::: BUCKETNAME / *"
    • },
    • {
    • "Effetto": "Consenti",
    • "Azione": "S3: ListAllMyBuckets",
    • "risorsa": "ARN: AWS: S3 ::: *"
    • },
    • {
    • "Effetto": "Consenti",
    • "Azione": "CloudFront: *",
    • "Risorsa":"*"
    • }
    • }
  • Ci sono 3 sezioni per questa politica. L'effetto viene utilizzato per consentire o negare un tipo di accesso. L'azione è le cose specifiche che il gruppo può fare. La risorsa verrebbe utilizzata per consentire l'accesso ai singoli bucket.
  • È possibile limitare le azioni individualmente. In questo esempio, "Azione": "s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion", il gruppo potrebbe elencare il contenuto di un bucket e scaricare gli oggetti.
  • La prima sezione "Permette" al gruppo di eseguire tutte le azioni S3 per il bucket "BUCKETNAME".
  • La seconda sezione "Permette" al gruppo di elencare tutti i bucket in S3. Ne hai bisogno in modo che tu possa effettivamente vedere l'elenco dei bucket se usi qualcosa come la Console AWS.
  • La terza sezione dà al gruppo pieno accesso a CloudFront.

Ci sono molte opzioni quando si tratta di politiche IAM. Amazon ha uno strumento davvero interessante disponibile chiamato AWS Policy Generator. Questo strumento fornisce una GUI in cui è possibile creare le politiche e generare il codice effettivo necessario per implementare la politica. È anche possibile consultare la sezione Lingua politica di accesso della documentazione online di Utilizzo di AWS Identity and Access Management.

Crea utente e Aggiungi al gruppo

Il processo di creazione di un nuovo utente e aggiunta a un gruppo per fornire loro l'accesso richiede un paio di passaggi.

  • La sintassi per la creazione di un utente è iam-usercreate -u USERNAME -P PATH -g GROUPS … -k -v dove le opzioni -p, -g, -k e -v sono opzioni. La documentazione completa sull'interfaccia della riga di comando è disponibile su Documenti AWS.
  • Se volessi creare un utente "bob", inseriresti, iam-usercreate -u bob -g awesomeusers al prompt dei comandi.
  • È possibile verificare che l'utente sia stato creato correttamente immettendo iam-grouplistusers -g awesomeusers al prompt dei comandi. Se avessi creato questo utente, l'output sarebbe qualcosa come "arn: aws: iam: 123456789012: user / bob", dove il numero è il tuo numero di account AWS.

Crea profilo di accesso e crea chiavi

A questo punto, hai creato un utente ma devi fornire loro un modo per aggiungere e rimuovere oggetti da S3. Sono disponibili 2 opzioni per fornire agli utenti l'accesso a S3 tramite IAM. È possibile creare un profilo di accesso e fornire ai propri utenti una password. Possono utilizzare le proprie credenziali per accedere alla console di Amazon AWS. L'altra opzione è quella di fornire agli utenti una chiave di accesso e una chiave segreta. Possono utilizzare queste chiavi in ​​strumenti di terze parti come S3 Fox, CloudBerry S3 Explorer o S3 Browser.

Crea profilo di accesso

La creazione di un profilo di accesso per gli utenti S3 fornisce loro un nome utente e una password che possono essere utilizzati per accedere alla console di Amazon AWS.

  • La sintassi per la creazione di un profilo di accesso è iam-useraddloginprofile -u USERNAME -p PASSWORD. La documentazione completa sull'interfaccia della riga di comando è disponibile su Documenti AWS.
  • Se si desidera creare un profilo di accesso per l'utente "bob", immettere, iam-useraddloginprofile -u bob -p PASSWORD al prompt dei comandi.
  • È possibile verificare che il profilo di accesso sia stato creato correttamente immettendo iam-usergetloginprofile -u bob al prompt dei comandi. Se hai creato un profilo di accesso per bob, l'output sarebbe qualcosa come "Esiste il profilo di accesso per utente bob".

Crea chiavi

La creazione di una chiave di accesso segreta AWS e l'ID della chiave di accesso AWS corrispondente consentiranno agli utenti di utilizzare software di terze parti come quelli menzionati in precedenza. Tieni presente che, come misura di sicurezza, puoi ottenere queste chiavi solo durante il processo di aggiunta del profilo utente. Assicurati di copiare e incollare l'output dal prompt dei comandi e salvare in un file di testo. Puoi inviare il file al tuo utente.

  • La sintassi per l'aggiunta di chiavi per un utente è iam-useraddkey -u USERNAME. La documentazione completa sull'interfaccia della riga di comando è disponibile su Documenti AWS.
  • Se si desidera creare chiavi per l'utente "bob", si inserirà iam-useraddkey -u bob al prompt dei comandi.
  • Il comando mostrerà i tasti che assomigliano a questo:
    • AKIACOOB5BQVEXAMPLE
    • BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
    • La prima riga è l'ID della chiave di accesso e la seconda è la chiave di accesso segreta. Hai bisogno di entrambi per il software di terze parti.

Test di accesso

Ora che hai creato gruppi / utenti IAM e dato l'accesso ai gruppi utilizzando le politiche, devi testare l'accesso.

Accesso alla console

Gli utenti possono utilizzare il proprio nome utente e password per accedere alla Console AWS. Tuttavia, questa non è la normale pagina di accesso della console che viene utilizzata per l'account AWS principale. È disponibile un URL speciale che fornirà un modulo di accesso solo per il tuo account Amazon AWS. Ecco l'URL per accedere a S3 per i tuoi utenti IAM.

https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3

AWS-ACCOUNT-NUMBER è il tuo normale numero di conto AWS. È possibile ottenere questo accedendo al modulo di accesso al servizio Web Amazon. Accedi e clicca su Account | Attività dell'account. Il tuo numero di conto si trova nell'angolo in alto a destra. Assicurati di rimuovere i trattini. L'URL sarebbe simile a https://123456789012.signin.aws.amazon.com/console/s3.

Utilizzando le chiavi di accesso

Puoi scaricare e installare qualsiasi strumento di terze parti già menzionato in questo articolo. Immettere l'ID della chiave di accesso e la chiave di accesso segreto per la documentazione dello strumento di terze parti.

Consiglio vivamente di creare un utente iniziale e fare in modo che l'utente verifichi completamente che possa fare tutto ciò che è necessario fare in S3. Dopo aver verificato uno dei tuoi utenti, puoi procedere con la configurazione di tutti gli utenti S3.