Funzionamento di AWS CloudTrail con IAM - AWS CloudTrail

Funzionamento di AWS CloudTrail con IAM

Prima di utilizzare IAM per gestire l'accesso a CloudTrail, devi comprendere quali caratteristiche IAM sono disponibili per l'uso con CloudTrail. Per ottenere un quadro generale del funzionamento di CloudTrail e altri servizi AWS con IAM, consulta Servizi AWS supportati da IAM nella Guida per l'utente di IAM.

Policy basate su identità CloudTrail

Con le policy basate su identità di IAM, è possibile specificare quali operazioni e risorse sono consentite o rifiutate, nonché le condizioni in base alle quali le operazioni sono consentite o rifiutate. CloudTrail supporta operazioni e risorse specifiche. Non esistono chiavi di condizione specifiche del servizio CloudTrail che possono essere utilizzate nell'elemento Condition di istruzioni di policy. Per informazioni su tutti gli elementi utilizzati in una policy JSON, consulta Documentazione di riferimento degli elementi delle policy JSON IAM nella Guida per l'utente IAM.

Operazioni

Gli amministratori possono utilizzare le policy AWS JSON per specificare gli accessi ai diversi elementi. Cioè, quale principale può eseguire azioni su quali risorse, e in quali condizioni.

L'elemento Action di una policy JSON descrive le azioni che è possibile utilizzare per consentire o negare l'accesso a un criterio. Le operazioni della policy hanno spesso lo stesso nome dell'operazione API AWS. Ci sono alcune eccezioni, ad esempio le operazioni di sola autorizzazione che non hanno un'operazione API corrispondente. Esistono anche alcune operazioni che richiedono più operazioni in una policy. Queste operazioni aggiuntive sono chiamate operazioni dipendenti.

Includere le operazioni in una policy per concedere le autorizzazioni per eseguire l'operazione associata.

Le operazioni delle policy in CloudTrail utilizzano il seguente prefisso prima dell'operazione: cloudtrail:. Ad esempio, per concedere a qualcuno l'autorizzazione a elencare i tag per un trial con l'operazione API ListTags, includere l'operazione cloudtrail:ListTags nella policy. Le istruzioni della policy devono includere un elemento Action o NotAction. CloudTrail definisce un proprio set di operazioni che descrivono le attività che puoi eseguire con quel servizio.

Per specificare più operazioni in una sola istruzione, separa ciascuna di esse con una virgola come mostrato di seguito:

"Action": [ "cloudtrail:AddTags", "cloudtrail:ListTags", "cloudtrail:RemoveTags

È possibile specificare più operazioni tramite caratteri jolly (*). Ad esempio, per specificare tutte le operazioni che iniziano con la parola Get, includi la seguente operazione:

"Action": "cloudtrail:Get*"

Per un elenco delle operazioni di CloudTrail, consulta Operazioni definite da AWS CloudTrail nella Guida per l'utente di IAM.

Risorse

Gli amministratori possono utilizzare le policy AWS JSON per specificare gli accessi ai diversi elementi. Cioè, quale principale può eseguire azioni su quali risorse, e in quali condizioni.

L'elemento JSON Resource della policy specifica l'oggetto o gli oggetti ai quali si applica l'operazione. Le istruzioni devono includere un elemento Resource o un elemento NotResource. Come best practice, specifica una risorsa utilizzando il suo Amazon Resource Name (ARN). È possibile eseguire questa operazione per azioni che supportano un tipo di risorsa specifico, noto come autorizzazioni a livello di risorsa.

Per le operazioni che non supportano le autorizzazioni a livello di risorsa, ad esempio le operazioni di elenco, utilizza un carattere jolly (*) per indicare che l'istruzione si applica a tutte le risorse.

"Resource": "*"

In CloudTrail, la risorsa principale è rappresentata da un percorso. A ogni risorsa è associato un Amazon Resource Name (ARN) univoco. In una policy, utilizzi un ARN per identificare la risorsa a cui si applica la policy. CloudTrail attualmente non supporta altri tipi di risorse, che vengono talvolta definite risorse secondarie.

La risorsa del percorso CloudTrail dispone del seguente ARN:

arn:${Partition}:cloudtrail:${Region}:${Account}:trail/{TrailName}

Per ulteriori informazioni sul formato degli ARN, consulta Amazon Resource Name (ARN) e spazi dei nomi del servizio AWS.

Ad esempio, per un account AWS con ID 123456789012, per specificare un percorso denominato My-Trail che esiste nella regione Stati Uniti orientali (Ohio) dichiarata nell'istruzione, utilizza il seguente ARN:

"Resource": "arn:aws:cloudtrail:us-east-2:123456789012:trail/My-Trail"

Per specificare tutti i trail appartenenti a un account specifico in quella data regione AWS, utilizzare il carattere jolly (*):

"Resource": "arn:aws:cloudtrail:us-east-2:123456789012:trail/*"

Alcune operazioni CloudTrail, ad esempio quelle per la creazione di risorse, non possono essere eseguite su una risorsa specifica. In questi casi, è necessario utilizzare il carattere jolly (*).

"Resource": "*"

Molte operazioni API di CloudTrail coinvolgono più risorse. Ad esempio, CreateTrail richiede un bucket Amazon S3 per archiviare i file di log, in modo che un utente IAM disponga delle autorizzazioni di scrittura per il bucket. Per specificare più risorse in una singola istruzione, separa gli ARN con le virgole.

"Resource": [ "resource1", "resource2"

Per un elenco di tipi di risorse di CloudTrail e i relativi ARN, consulta Risorse definite da AWS CloudTrail nella Guida per l'utente IAM. Per informazioni sulle operazioni con cui è possibile specificare l'ARN di ogni risorsa, consulta Operazioni definite da AWS CloudTrail.

Chiavi di condizione

Gli amministratori possono utilizzare le policy JSON AWS per specificare chi ha accesso a cosa. Cioè, quale principale può eseguire azioni su quali risorse, e in quali condizioni.

L'elemento Condition (o blocco Condition) consente di specificare le condizioni in cui un'istruzione è attiva. L'elemento Condition è facoltativo. Puoi compilare espressioni condizionali che utilizzano operatori di condizione, ad esempio uguale a o minore di, per soddisfare la condizione nella policy con i valori nella richiesta.

Se specifichi più elementi Condition in un'istruzione o più chiavi in un singolo elemento Condition, questi vengono valutati da AWS utilizzando un'operazione AND logica. Se specifichi più valori per una singola chiave di condizione, AWS valuta la condizione utilizzando un'operazione OR logica. Tutte le condizioni devono essere soddisfatte prima che le autorizzazioni dell'istruzione vengano concesse.

Puoi anche utilizzare variabili segnaposto quando specifichi le condizioni. Ad esempio, puoi autorizzare un utente IAM ad accedere a una risorsa solo se è stata taggata con il relativo nome utente IAM. Per ulteriori informazioni, consulta Elementi delle policy IAM: variabili e tag nella Guida per l'utente di IAM.

AWS supporta chiavi di condizione globali e chiavi di condizione specifiche per il servizio. Per visualizzare tutte le chiavi di condizione globali di AWS, consulta Chiavi di contesto delle condizioni globali di AWS nella Guida per l'utente di IAM.

CloudTrail non definisce le proprie chiavi di condizione, ma supporta l'utilizzo di alcune chiavi di condizione globali. Per visualizzare tutte le chiavi di condizione globali di AWS, consulta Chiavi di contesto delle condizioni globali di AWS nella Guida per l'utente di IAM.

Per visualizzare un elenco delle chiavi di condizione supportato per CloudTrail, consulta Condition Keys for AWS CloudTrail nella Guida per l'utente di IAM. Per informazioni su operazioni e risorse con cui è possibile utilizzare una chiave di condizione, consulta Operazioni definite da AWS CloudTrail.

Esempi

Per visualizzare esempi di policy basate su identità CloudTrail, consulta Esempi di policy di AWS CloudTrail basate su identità.

Policy basate su risorse CloudTrail

Le policy basate sulle risorse sono documenti di policy JSON che specificano le operazioni che possono essere eseguite da un principale specificati sulla risorsa CloudTrail e in base a quali condizioni. Le policy basate su risorse consentono di concedere l'autorizzazione all'utilizzo ad altri account per ogni risorsa.

Per consentire l'accesso a più account, è possibile specificare un intero account o entità IAM in un altro account come entità principale in una policy basata su risorse. L'aggiunta di un'entità principale a più account a una policy basata su risorse rappresenta solo una parte della relazione di trust. Quando l'entità principale e la risorsa si trovano in account AWS diversi, devi anche concedere all'entità principale l'autorizzazione per accedere alla risorsa. Concedi l'autorizzazione collegando una policy basata sull'identità all'entità. Tuttavia, se una policy basata su risorse concede l'accesso a un'entità principale nello stesso account, non sono richieste ulteriori policy basate su identità. Per ulteriori informazioni, consulta Differenza tra i ruoli IAM e le policy basate su risorse nella Guida per l'utente IAM.

CloudTrail supporta policy basate sulle risorse sui canali utilizzati per le integrazioni di CloudTrail Lake con origini di eventi esterne ad AWS. La policy basata sulle risorse per il canale definisce quali entità principali (account, utenti, ruoli e utenti federati) possono chiamare PutAuditEvents sul canale per distribuire gli eventi all'archivio di dati degli eventi di destinazione. Per ulteriori informazioni sulla creazione di integrazioni con CloudTrail Lake, consulta la pagina Creazione di un'integrazione con un'origine di eventi esterna ad AWS.

Nota

Attualmente, le integrazioni sono supportate in tutte le Regioni AWS commerciali supportate da CloudTrail Lake, con l'eccezione di me-central-1. Per ulteriori informazioni sulle Regioni supportate da CloudTrail Lake, consulta la pagina Regioni supportate da CloudTrail Lake.

Esempi

Per visualizzare esempi di policy basate su risorse di CloudTrail, consulta la pagina Esempi di policy basate su risorse AWS CloudTrail.

Liste di controllo accessi

Le liste di controllo degli accessi sono elenchi di assegnatari da associare alle risorse. Essi concedono le autorizzazioni di accesso alla risorsa a cui sono associati. Mentre CloudTrail non supporta gli ACL, Amazon S3 li supporta. Ad esempio, puoi allegare gli ACL a una risorsa bucket Amazon S3 in cui archivi i file di log per uno o più percorsi. Per ulteriori informazioni su come collegare le ACL ai bucket, consulta Gestione degli accessi con le ACL nella Guida per gli sviluppatori di Amazon Simple Storage Service.

Autorizzazione basata su tag CloudTrail

Anche se puoi assegnare tag alle risorse CloudTrail, CloudTrail supporta il controllo dell'accesso ad archivi dati di eventi CloudTrail Lake basato su tag. Non puoi controllare l'accesso ai percorsi in base ai tag.

Puoi allegare tag alle risorse CloudTrail o passare tag in una richiesta a CloudTrail. Per ulteriori informazioni sull'assegnazione di tag alle risorse CloudTrail, consulta Creazione di un percorso e Creazione, aggiornamento e gestione di percorsi con AWS Command Line Interface.

Ruoli IAM CloudTrail

Un ruolo IAM è un'entità all'interno dell'account AWS che dispone di autorizzazioni specifiche.

Utilizzo di credenziali temporanee con CloudTrail

È possibile utilizzare credenziali temporanee per effettuare l'accesso con la federazione, assumere un ruolo IAM o un ruolo multi-account. Per ottenere le credenziali di sicurezza temporanee, eseguire una chiamata a operazioni API AWS STS quali, ad esempio, AssumeRole o GetFederationToken.

CloudTrail supporta l'uso di credenziali temporanee.

Ruoli collegati ai servizi

Ruoli collegati al servizio consentono ai servizi AWS di accedere a risorse in altri servizi per completare un'operazione a tuo nome. I ruoli collegati ai servizi sono visualizzati nell'account IAM e sono di proprietà del servizio. Un amministratore IAM può visualizzare le autorizzazioni per i ruoli collegati ai servizi, ma non può modificarle.

CloudTrail supporta un ruolo collegato a un servizio per l'integrazione con AWS Organizations. Questo ruolo è obbligatorio per la creazione di un trail dell'organizzazione, un trail che registra eventi per tutti gli account AWS in un'organizzazione. Per ulteriori informazioni su come creare e gestire i ruoli collegati ai servizi CloudTrail, consulta Utilizzo di ruoli collegati ai servizi per AWS CloudTrail.

Ruoli dei servizi

Questa caratteristica consente a un servizio di assumere un ruolo di servizio per conto dell'utente. Questo ruolo consente al servizio di accedere alle risorse in altri servizi per completare un'operazione per conto dell'utente. I ruoli dei servizi sono visualizzati nell'account IAM e sono di proprietà dell'account. Ciò significa che un amministratore IAM può modificare le autorizzazioni per questo ruolo. Tuttavia, questo potrebbe pregiudicare la funzionalità del servizio.

CloudTrail supporta i ruoli del servizio.