Chiavi di accesso sicure - AWS Identity and Access Management

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Chiavi di accesso sicure

Chiunque disponga delle tue chiavi di accesso ha lo stesso livello di accesso alle tue AWS risorse che hai tu. Di conseguenza, AWS fa di tutto per proteggere le vostre chiavi di accesso e, in linea con il nostro modello di responsabilità condivisa, dovreste farlo anche voi.

Espandi le seguenti sezioni per ulteriori informazioni su come proteggere le chiavi di accesso.

Nota

La tua organizzazione può avere policy e requisiti di sicurezza differenti rispetto a quelli descritti in questo argomento. I suggerimenti qui forniti sono destinati a essere linee guida generali.

Uno dei modi migliori per proteggere il tuo account è non disporre di chiavi di accesso dell' Utente root dell'account AWS. A meno che non necessiti di disporre delle chiavi di accesso dell'utente root (il che è raro), è consigliabile non generarle. Crea invece un utente amministrativo AWS IAM Identity Center per le attività amministrative quotidiane. Per informazioni su come creare un utente amministrativo in IAM Identity Center, consulta la Guida introduttiva alla IAMIdentity Center User Guide.

Se disponi già delle chiavi di accesso utente root per il tuo account, ti consigliamo quanto segue: Individua le aree delle tue applicazioni in cui utilizzi attualmente le chiavi di accesso (se presenti) e sostituisci le chiavi di accesso dell'utente root con le chiavi di accesso IAM utente. Quindi disabilita e rimuovi le chiavi di accesso dell'utente root. Per ulteriori informazioni sull'aggiornamento delle chiavi di accesso, consulta la pagina Aggiorna le chiavi di accesso

In molti scenari, non sono necessarie chiavi di accesso a lungo termine che non scadono mai (come nel caso di un IAM utente). È invece possibile creare IAM ruoli e generare credenziali di sicurezza temporanee. Tali credenziali sono composte dall'ID della chiave di accesso e dalla chiave di accesso segreta, ma includono anche un token di sicurezza che ne indica la scadenza.

Le chiavi di accesso a lungo termine, come quelle associate IAM agli utenti e all'utente root, rimangono valide fino a quando non vengono revocate manualmente. Tuttavia, le credenziali di sicurezza temporanee ottenute tramite IAM i ruoli e altre funzionalità dell'applicazione AWS Security Token Service scadono dopo un breve periodo di tempo. Utilizza le credenziali di sicurezza temporanee per ridurre i rischi in caso di esposizione accidentale delle credenziali.

Utilizza un IAM ruolo e credenziali di sicurezza temporanee in questi scenari:

  • Hai un'applicazione o AWS CLI degli script in esecuzione su un'EC2istanza Amazon. Non utilizzare le chiavi di accesso direttamente nell'applicazione. Non passare le chiavi di accesso all'applicazione, incorporarle nell'applicazione o lasciare che l'applicazione legga una chiave da qualsiasi origine. Definisci invece un IAM ruolo con le autorizzazioni appropriate per la tua applicazione e avvia l'istanza Amazon Elastic Compute Cloud EC2 (Amazon) con ruoli per. EC2 In questo modo viene associato un IAM ruolo all'EC2istanza Amazon. Questa pratica, inoltre, consente all'applicazione di ottenere credenziali di sicurezza temporanee, che a sua volta può utilizzare per effettuare chiamate a livello di programmazione ad AWS. The AWS SDKs and the AWS Command Line Interface (AWS CLI) può ottenere automaticamente credenziali temporanee dal ruolo.

  • Devi concedere l'accesso tra account. Usa un IAM ruolo per stabilire un rapporto di fiducia tra gli account, quindi concedi agli utenti di un account autorizzazioni limitate per accedere all'account attendibile. Per ulteriori informazioni, consulta IAMtutorial: delega l'accesso attraverso AWS account che utilizzano ruoli IAM.

  • Hai a disposizione un'app mobile. Non integrare le chiavi di accesso con l'app, anche nell'archiviazione crittografata. Al contrario, utilizzare Amazon Cognito per la gestione dell'identità degli utenti nell'applicazione. Questo servizio consente di autenticare gli utenti utilizzando Login with Amazon, Facebook, Google o qualsiasi provider di identità compatibile con OpenID OIDC Connect (). È quindi possibile utilizzare il provider di credenziali Amazon Cognito per gestire le credenziali che l'app usa per le richieste ad AWS.

  • Vuoi unirti a AWS e la tua organizzazione supporta la versione 2.0. SAML Se lavori per un'organizzazione che dispone di un provider di identità che supporta la SAML versione 2.0, configura il provider da utilizzareSAML. Puoi utilizzarlo SAML per scambiare informazioni di autenticazione AWS e recuperare un set di credenziali di sicurezza temporanee. Per ulteriori informazioni, consulta SAMLfederazione 2.0.

  • Vuoi federarti AWS e la tua organizzazione dispone di un archivio di identità locale. Se gli utenti possono autenticarsi all'interno dell'organizzazione, è possibile scrivere un'applicazione in grado di emettere loro credenziali di sicurezza temporanee per l'accesso alle risorse. AWS Per ulteriori informazioni, consulta Abilita l'accesso personalizzato del broker di identità alla AWS console.

Nota

Stai utilizzando un'EC2istanza Amazon con un'applicazione che richiede l'accesso programmatico alle AWS risorse? In tal caso, utilizza IAMi ruoli per EC2.

Se devi creare chiavi di accesso per l'accesso programmatico AWS, creale per gli utenti, concedendo IAM agli utenti solo le autorizzazioni di cui hanno bisogno.

Osservate queste precauzioni per proteggere IAM le chiavi di accesso degli utenti:

  • Non incorporare le chiavi di accesso direttamente nel codice. Gli strumenti a riga di AWS comando AWS SDKse quelli a riga di comando consentono di inserire le chiavi di accesso in posizioni note in modo da non doverle conservare nel codice.

    Colloca le chiavi di accesso in una delle posizioni seguenti:

    • Il file AWS delle credenziali. L' AWS SDKse utilizza AWS CLI automaticamente le credenziali archiviate nel file delle AWS credenziali.

      Per informazioni sull'utilizzo del file delle AWS credenziali, consultate la documentazione relativa a. SDK Gli esempi includono Set AWS Credentials and Region nella AWS SDK for Java Developer Guide e i file di configurazione e credenziali nella Guida per l'AWS Command Line Interface utente.

      Per memorizzare le credenziali per AWS SDK for .NET and the AWS Tools for Windows PowerShell, ti consigliamo di utilizzare lo Store. SDK Per ulteriori informazioni, consulta Using the SDK Store nella AWS SDK for .NET Developer Guide.

    • Variabili di ambiente. In un sistema multi-tenant, scegli le variabili di ambiente dell'utente e non le variabili di ambiente del sistema.

      Per ulteriori informazioni sull'utilizzo di variabili di ambiente per archiviare le credenziali, consultare la sezione Variabili di ambiente nella Guida per l'utente di AWS Command Line Interface .

  • Utilizza chiavi di accesso diverse per applicazioni differenti. Esegui questa operazione in modo da isolare le autorizzazioni e revocare le chiavi di accesso per le singole applicazioni in caso una di esse venga esposta. Avere chiavi di accesso separate per applicazioni diverse genera anche voci distinte nei file di log AWS CloudTrail. Questa configurazione consente di determinare più facilmente quale applicazione ha eseguito azioni specifiche.

  • Aggiorna le chiavi di accesso all'occorrenza. Se esiste il rischio che la chiave di accesso possa essere compromessa, aggiorna la chiave di accesso ed elimina quella precedente. Per maggiori dettagli, consulta Aggiorna le chiavi di accesso.

  • Rimuovi le chiavi di accesso inutilizzate. Se un utente lascia l'organizzazione, rimuovi l'IAMutente corrispondente in modo che l'utente non possa più accedere alle tue risorse. Per scoprire quando è stata utilizzata l'ultima volta una chiave di accesso, usa il GetAccessKeyLastUsedAPI(AWS CLI comando: aws iam get-access-key-last-used).

  • Utilizza credenziali temporanee e configura l'autenticazione a più fattori per le operazioni più sensibiliAPI. Con IAM le policy, puoi specificare API le operazioni che un utente può chiamare. In alcuni casi, potresti volere la sicurezza aggiuntiva che consiste nel richiedere l'autenticazione degli utenti AWS MFA prima di consentire loro di eseguire azioni particolarmente sensibili. Ad esempio, potresti avere una politica che consenta a un utente di eseguire StopInstances azioni Amazon EC2 RunInstances e. DescribeInstances Ma potresti voler limitare un'azione distruttiva come TerminateInstances e assicurarti che gli utenti possano eseguire quell'azione solo se si autenticano con un dispositivo. AWS MFA Per ulteriori informazioni, consulta APIAccesso sicuro con MFA.

Puoi accedere a un set limitato di AWS servizi e funzionalità utilizzando l'app AWS mobile. L'app mobile ti aiuta a supportare la risposta agli incidenti mentre sei in viaggio. Per ulteriori informazioni e per scaricare l'app, consulta AWS Console Mobile Application.

È possibile accedere all'app per dispositivi mobili utilizzando la password della console o le chiavi di accesso. Come best practice, non utilizzare le chiavi di accesso dell'utente root. Invece, oltre a utilizzare una password o un blocco biometrico sul dispositivo mobile, consigliamo vivamente di creare un IAM utente specifico per la gestione AWS delle risorse tramite l'app mobile. Se perdi il dispositivo mobile, puoi rimuovere l'accesso dell'IAMutente.

Accesso mediante le chiavi di accesso (app per dispositivi mobili)
  1. Apri l'app sul tuo dispositivo mobile.

  2. Se questa è la prima volta che aggiungi un'identità al dispositivo, scegli Add an identity (Aggiungi un'identità) e scegli Access keys (Chiavi di accesso).

    Se hai già effettuato l'accesso utilizzando un'altra identità, scegli l'icona del menu e scegli Switch identity (Cambia identità). Quindi scegli Sign in as a different identity (Accedi come identità diversa) e quindi Access keys (Chiavi di accesso).

  3. Nella pagina Access keys (Chiavi di accesso) immetti le informazioni nei campi.

    • ID chiave di accesso: immettere l'ID chiave di accesso.

    • Chiave di accesso segreta: inserire la chiave di accesso segreta.

    • Nome dell'identità: immettere il nome dell'identità che verrà visualizzata nell'applicazione per dispositivi mobili. Non è necessario che corrisponda al tuo nome IAM utente.

    • Identità PIN: crea un numero di identificazione personale (PIN) che utilizzerai per gli accessi futuri.

      Nota

      Se abiliti la biometria per l'app per AWS dispositivi mobili, ti verrà richiesto di utilizzare l'impronta digitale o il riconoscimento facciale per la verifica anziché il. PIN Se i dati biometrici falliscono, potrebbe esserti richiesto di farlo al suo posto. PIN

  4. Scegliere Verify and add keys (Verifica e aggiungi chiavi).

    È ora possibile accedere a un set selezionato di risorse mediante l'app per dispositivi mobili.

I seguenti argomenti forniscono indicazioni per la configurazione AWS SDKs e l'utilizzo delle chiavi AWS CLI di accesso:

Audit delle chiavi di accesso

Puoi esaminare le chiavi di AWS accesso contenute nel codice per determinare se provengono da un account di tua proprietà. È possibile passare l'ID di una chiave di accesso utilizzando il aws sts get-access-key-info AWS CLI comando o l'GetAccessKeyInfo AWS APIoperazione.

Le AWS API operazioni AWS CLI and restituiscono l'ID Account AWS a cui appartiene la chiave di accesso. Le chiavi di accesso che IDs iniziano con AKIA sono credenziali a lungo termine per un IAM utente o un Utente root dell'account AWS. Le chiavi di accesso che IDs iniziano con ASIA sono credenziali temporanee create utilizzando AWS STS le operazioni. Se l'account nella risposta appartiene a te, puoi effettuare l'accesso come utente root e rivedere le chiavi di accesso dell'utente root. Quindi, puoi creare un rapporto sulle credenziali per sapere a quale IAM utente appartiene le chiavi. Per sapere chi ha richiesto le credenziali temporanee per una chiave di ASIA accesso, visualizza gli AWS STS eventi nei tuoi CloudTrail registri.

Per motivi di sicurezza, puoi esaminare AWS CloudTrail i log per scoprire chi ha eseguito un'azione in. AWSÈ possibile utilizzare la chiave di condizione sts:SourceIdentity nella policy di attendibilità del ruolo per richiedere agli utenti di specificare un'identità quando assumono un ruolo. Ad esempio, puoi richiedere che IAM gli utenti specifichino il proprio nome utente come identità di origine. In questo modo è possibile determinare quale utente ha eseguito un'operazione specifica in AWS. Per ulteriori informazioni, consulta sts:SourceIdentity.

Questa operazione non indica lo stato della chiave di accesso. La chiave potrebbe essere attiva, inattiva o eliminata. Le chiavi attive potrebbero non disporre delle autorizzazioni per eseguire un'operazione. Fornire una chiave di accesso eliminata potrebbe restituire un errore indicante che la chiave non esiste.