Funzionamento di Amazon MSK con IAM - Amazon Managed Streaming per Apache Kafka

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à.

Funzionamento di Amazon MSK con IAM

Prima di utilizzare IAM per gestire l'accesso ad Amazon MSK, è necessario comprendere quali funzioni IAM sono disponibili per l'uso con Amazon MSK. Per avere una visione di alto livello di come Amazon MSK e altri AWS servizi funzionano con IAM, consulta AWS Services That Work with IAM nella IAM User Guide.

Policy basate sull'identità di Amazon MSK

Con le policy basate su identità di IAM, è possibile specificare quali azioni e risorse sono consentite o rifiutate, nonché le condizioni in base alle quali le azioni sono consentite o rifiutate. Amazon MSK supporta operazioni, risorse e chiavi di condizione specifiche. 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.

Azioni

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

L'elemento Actiondi una policy JSON descrive le azioni che è possibile utilizzare per consentire o negare l'accesso a un criterio. Le azioni politiche in genere hanno lo stesso nome dell'operazione AWS API associata. Ci sono alcune eccezioni, ad esempio le azioni 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 denominate operazioni dipendenti.

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

Le operazioni delle policy in Amazon MSK utilizzano il seguente prefisso prima dell'operazione: kafka:. Ad esempio, per concedere a qualcuno l'autorizzazione per descrivere un cluster MSK con l'operazione API DescribeCluster di Amazon MSK, includi l'operazione kafka:DescribeCluster nella policy. Le istruzioni della policy devono includere un elemento Action o NotAction. Amazon MSK definisce un proprio set di operazioni che descrivono le attività che puoi eseguire con quel servizio.

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

"Action": ["kafka:action1", "kafka:action2"]

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

"Action": "kafka:Describe*"

Per visualizzare un elenco delle operazioni di Amazon MSK, consulta la pagina Actions, resources, and condition keys for Amazon Managed Streaming for Apache Kafka nella Guida per l'utente di IAM.

Risorse

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

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

Per le azioni 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": "*"

La risorsa istanza di Amazon MSK dispone del seguente ARN:

arn:${Partition}:kafka:${Region}:${Account}:cluster/${ClusterName}/${UUID}

Per ulteriori informazioni sul formato degli ARN, consulta Amazon Resource Names (ARNs) e AWS Service Namespaces.

Ad esempio, per specificare l'istanza CustomerMessages nell'istruzione, utilizza il seguente ARN:

"Resource": "arn:aws:kafka:us-east-1:123456789012:cluster/CustomerMessages/abcd1234-abcd-dcba-4321-a1b2abcd9f9f-2"

Per specificare tutti le istanze che appartengono ad un account specifico, utilizza il carattere jolly (*):

"Resource": "arn:aws:kafka:us-east-1:123456789012:cluster/*"

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

"Resource": "*"

Per specificare più risorse in una singola istruzione, separa gli ARN con le virgole.

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

Per visualizzare un elenco dei tipi di risorse Amazon MSK e dei relativi ARN, consulta la pagina Resources Defined by Amazon Managed Streaming for Apache Kafka nella Guida per l'utente di IAM. Per informazioni sulle operazioni con cui è possibile specificare l'ARN di ogni risorsa, consulta la pagina Actions Defined by Amazon Managed Service for Apache Kafka.

Chiavi di condizione

Gli amministratori possono utilizzare le policy AWS JSON 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 è in vigore. 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 Conditionin un'istruzione o più chiavi in un singolo elemento Condition, questi vengono valutati da AWS utilizzando un'operazione ANDlogica. Se si specificano più valori per una singola chiave di condizione, AWS valuta la condizione utilizzando un'operazione logica. OR 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 del servizio. Per visualizzare tutte le chiavi di condizione AWS globali, consulta le chiavi di contesto delle condizioni AWS globali nella Guida per l'utente IAM.

Amazon MSK definisce il proprio set di chiavi di condizione e supporta anche l'utilizzo di alcune chiavi di condizione globali. Per vedere tutte le chiavi di condizione AWS globali, consulta AWS Global Condition Context Keys nella Guida per l'utente IAM.

Per visualizzare un elenco delle chiavi di condizione di Amazon MSK, consulta la pagina Condition Keys for Amazon Managed Streaming for Apache Kafka nella Guida per l'utente di IAM. Per informazioni sulle operazioni e le risorse con le quali è possibile utilizzare una chiave di condizione, consulta la pagina Actions Defined by Amazon Managed Service for Apache Kafka.

Esempi

Per visualizzare degli esempi di policy basate sull'identità di Amazon MSK, consulta la pagina Esempi di policy basate sull'identità per Amazon MSK.

Policy basate sulle risorse di Amazon MSK

Amazon MSK supporta una policy del cluster (nota anche come policy basata sulle risorse) da utilizzare con i cluster Amazon MSK. Puoi utilizzare una policy del cluster per definire quali principali IAM dispongono delle autorizzazioni multi-account per configurare la connettività privata al tuo cluster Amazon MSK. In combinazione con l'autenticazione del client IAM, puoi utilizzare la policy del cluster anche per definire in modo granulare le autorizzazioni del piano dati Kafka per i client che si connettono.

Per visualizzare un esempio di come configurare una policy del cluster, consulta la sezione Passaggio 2: collegamento di una policy del cluster al cluster MSK.

AWS politiche gestite

Autorizzazione basata sui tag Amazon MSK

È possibile associare tag ai cluster Amazon MSK. Per controllare l'accesso basato su tag, fornisci informazioni sui tag nell'elemento condizione di una policy utilizzando le chiavi di condizione kafka:ResourceTag/key-name, aws:RequestTag/key-name o aws:TagKeys. Per ulteriori informazioni sull'assegnazione di tag alle risorse Amazon MSK, consulta la pagina Assegnazione di tag a un cluster Amazon MSK.

Per visualizzare una policy basata sulle identità di esempio per limitare l'accesso a una risorsa basata sui tag in tale cluster, consulta Accesso ai cluster Amazon MSK in base ai tag.

Ruoli IAM di Amazon MSK

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

Utilizzo delle credenziali temporanee con Amazon MSK

È possibile utilizzare credenziali temporanee per effettuare l'accesso con la federazione, assumere un ruolo IAM o un ruolo multi-account. È possibile ottenere credenziali di sicurezza temporanee chiamando operazioni AWS STS API come AssumeRoleo GetFederationToken.

Amazon MSK supporta l'uso delle credenziali temporanee.

Ruoli collegati ai servizi

I ruoli collegati ai servizi permettono ad Amazon Web Services 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 può visualizzare, ma non modificare le autorizzazioni dei ruoli collegati ai servizi.

Amazon MSK supporta i ruoli collegati ai servizi. Per maggiori dettagli su come creare e gestire i ruoli collegati ai servizi di Amazon MSK, consulta la pagina Utilizzo di ruoli collegati ai servizi per Amazon MSK.