Funzionamento del servizio gestito da Amazon per Apache Flink con IAM - Servizio gestito per Apache Flink

Amazon Managed Service for Apache Flink (Amazon MSF) era precedentemente noto come Amazon Kinesis Data Analytics for Apache Flink.

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 del servizio gestito da Amazon per Apache Flink con IAM

In Amazon MSF, usi IAM nei seguenti contesti diversi:

Autorizzazioni dell'applicazione

Puoi controllare le autorizzazioni IAM di un'applicazione Amazon MSF con il ruolo IAM assegnato all'applicazione, come parte della configurazione dell'applicazione. Questo ruolo IAM determina le autorizzazioni dell'applicazione per accedere ad altri servizi, come Amazon S3, Kinesis Data Streams o DynamoDB, che utilizzano IAM per l'autorizzazione.

avvertimento

La modifica delle autorizzazioni per un ruolo di servizio potrebbe interrompere la funzionalità di Amazon MSF. Assicurati di non rimuovere le autorizzazioni all'applicazione per scaricare il codice dell'applicazione dal bucket Amazon S3 e inviare i log ad Amazon. CloudWatch

L'assegnazione di autorizzazioni all'applicazione utilizzando politiche basate sulle risorse non è supportata. Non è possibile specificare un'applicazione Amazon MSF come principale in una policy allegata alla risorsa a cui accedere.

Autorizzazioni per accedere al codice dell'applicazione e ai log dell'applicazione

Amazon MSF utilizza anche il ruolo IAM dell'applicazione per accedere al codice dell'applicazione caricato in un bucket Amazon S3 e per scrivere i log dell'applicazione su Amazon Logs. CloudWatch

Quando crei o aggiorni l'applicazione utilizzando il AWS Management Consoleruolo Crea/aggiorna IAM con le politiche richieste <role-name>nella configurazione dell'applicazione, Amazon MSF crea e modifica automaticamente il ruolo IAM assegnando le autorizzazioni richieste ad Amazon S3 e Logs. CloudWatch

Se crei il ruolo IAM manualmente o se crei e gestisci l'applicazione utilizzando strumenti di automazione, devi aggiungere le seguenti autorizzazioni al ruolo IAM dell'applicazione.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadCode", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::bucket-name/path-to-application-code" ] }, { "Sid": "ListCloudwatchLogGroups", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:region:account-id:log-group:*" ] }, { "Sid": "ListCloudwatchLogStreams", "Effect": "Allow", "Action": [ "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:region:account-id:log-group:/aws/kinesis-analytics/application-name:log-stream:*" ] }, { "Sid": "PutCloudwatchLogs", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:account-id:log-group:/aws/kinesis-analytics/application-name:log-stream:kinesis-analytics-log-stream" ] } ] }

Prevenzione del problema "confused deputy" tra servizi

Quando un'applicazione Amazon MSF chiama un'altra applicazione Servizio AWS, puoi fornire autorizzazioni di accesso più granulari. Ad esempio, se un ruolo IAM viene riutilizzato su più applicazioni, un'applicazione può accedere a una risorsa a cui non dovrebbe avere accesso. Questo è noto come il problema del vice confuso. Per informazioni su come la risorsa a cui si accede può limitare l'accesso a una specifica applicazione Amazon MSF, consultaPrevenzione del problema "confused deputy" tra servizi.

Autorizzazioni per la gestione delle applicazioni e il controllo del ciclo di vita

Le azioni per gestire l'applicazione e il relativo ciclo di vita, ad esempio e CreateApplicationStartApplicationUpdateApplication, sono controllate tramite policy basate sull'identità associate alla risorsa che esegue l'azione, ad esempio un utente IAM, un gruppo IAM o una risorsa come AWS Lambda la chiamata all'API di Amazon MSF.

Nota

L'API e l'SDK che controllano il ciclo di vita delle applicazioni Amazon MSF si chiamano Amazon Kinesis Analytics V2, per motivi di compatibilità con le versioni precedenti.

L'assegnazione di autorizzazioni per le azioni del ciclo di vita delle applicazioni utilizzando policy basate sulle risorse collegate all'applicazione Amazon MSF non è supportata. Il ruolo IAM dell'applicazione non viene utilizzato per controllare l'accesso alle azioni del ciclo di vita dell'applicazione. Non è necessario aggiungere le autorizzazioni per il ciclo di vita dell'applicazione al ruolo dell'applicazione.

La tabella seguente elenca le funzionalità IAM che puoi utilizzare con le azioni del ciclo di vita delle applicazioni Amazon MSF.

  • Per una panoramica di alto livello su come Managed Service for Apache Flink e altri Servizi AWS funzionano con la maggior parte delle funzionalità IAM, consulta Servizi AWS la sezione dedicata alla compatibilità con IAM nella IAM User Guide.

  • Per informazioni sulle risorse, le azioni e le chiavi di contesto delle condizioni specifiche del servizio che puoi utilizzare nelle policy di autorizzazione IAM, consulta Azioni, risorse e chiavi di condizione per Amazon Kinesis Analytics V2 nel Service Authorization Reference.

Azioni relative alle politiche relative al ciclo di vita delle applicazioni

Supporta le operazioni di policy: si

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

L'elemento Actiondi una policy JSON descrive le operazioni 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 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 denominate operazioni dipendenti.

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

Le azioni politiche in Amazon MSF utilizzano il kinesisanalytics prefisso prima dell'azione. Amazon MSF APIs e SDKs usa il Amazon Kinesis Analytics V2 prefisso.

Per specificare più operazioni in una sola istruzione, occorre separarle con la virgola. L'esempio seguente mostra la sintassi per specificare le azioni delle policy di Amazon MSF.

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

Puoi anche specificare più azioni utilizzando i caratteri jolly (*). Ad esempio, per specificare tutte le operazioni che iniziano con la parola Describe, includi la seguente operazione.

"Action": "kinesisanalytics:Describe*"

Per visualizzare un elenco completo di tutte le azioni API di Amazon MSF che puoi specificare nell'Actionelemento di una dichiarazione di policy IAM, consulta Actions defined by Amazon Kinesis Analytics V2.

Per visualizzare esempi di policy basate sull'identità di Amazon MSF, consulta. Esempi di policy basate su identità

Risorse relative alle policy relative al ciclo di vita delle applicazioni

Supporta le risorse di policy:

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, 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). È possibile eseguire questa operazione per operazioni 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": "*"

Le autorizzazioni per le azioni del ciclo di vita delle applicazioni Amazon MSF sono definite per ogni applicazione. L'elemento Resource JSON in una policy IAM definisce l'applicazione Amazon MSF a cui si applicano le autorizzazioni.

È possibile assegnare l'autorizzazione a una singola applicazione specificando l'ARN dell'applicazione o a un gruppo di applicazioni utilizzando i caratteri jolly. L'esempio seguente mostra la sintassi dell'elemento. Resource

"Resouce" : "arn:partition:kinesisanalytics:Region:account:application/application-name

È inoltre possibile assegnare le autorizzazioni per controllare un sottoinsieme di applicazioni utilizzando i caratteri jolly. Ad esempio, è possibile assegnare le autorizzazioni per controllare tutte le applicazioni il cui nome inizia con un prefisso specifico.

"Resouce" : "arn:partition:kinesisanalytics:Region:account:application/application-name-prefix*

Chiavi relative alle condizioni delle politiche relative al ciclo di vita delle applicazioni

Supporta le chiavi di condizione delle policy specifiche del servizio:

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale principale può eseguire operazioni 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. È possibile 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.

È possibile anche utilizzare variabili segnaposto quando specifichi le condizioni. Ad esempio, è possibile 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.

Puoi utilizzare le chiavi di condizione per controllare le autorizzazioni per le azioni del ciclo di vita delle applicazioni Amazon MSF. Per visualizzare un elenco completo delle chiavi di condizione del servizio gestito per Apache Flink, consulta Chiavi di condizione per il servizio gestito da Amazon per Apache Flink nella Guida di riferimento per l'autorizzazione del servizio. Per informazioni su operazioni e risorse con cui è possibile utilizzare una chiave di condizione, consulta Operazioni definite dal servizio gestito da Amazon per Apache Flink.

Controllo degli accessi basato su attributi (ABAC) con il servizio gestito per Apache Flink

Supporta ABAC (tag nelle policy):

Utilizzando le chiavi condizionali, puoi implementare il controllo degli accessi basato sugli attributi (ABAC), che è una strategia di autorizzazione che definisce le autorizzazioni in base agli attributi. In AWS, questi attributi sono chiamati tag. Puoi allegare tag a entità IAM (utenti o ruoli) e a molte AWS risorse. L'assegnazione di tag alle entità e alle risorse è il primo passaggio di ABAC. Quindi, si progettano politiche ABAC per consentire le operazioni quando il tag del principale corrisponde al tag sulla risorsa a cui sta tentando di accedere.

La strategia ABAC è utile in ambienti soggetti a una rapida crescita e aiuta in situazioni in cui la gestione delle policy diventa impegnativa.

Per controllare l'accesso basato su tag, fornisci informazioni sui tag nell'elemento condizione di una policy utilizzando le chiavi di condizione aws:ResourceTag/key-name, aws:RequestTag/key-nameo aws:TagKeys. Se un servizio supporta tutte e tre le chiavi di condizione per ogni tipo di risorsa, il valore per il servizio è Yes (Sì). Se un servizio supporta tutte e tre le chiavi di condizione solo per alcuni tipi di risorsa, allora il valore sarà Parziale.

Utilizzo di credenziali temporanee

Supporta le credenziali temporanee:

Le azioni del ciclo di vita delle applicazioni Amazon MSF supportano credenziali temporanee.

Stai utilizzando credenziali temporanee se accedi AWS Management Console utilizzando qualsiasi metodo tranne nome utente e password. Ad esempio, quando accedi AWS utilizzando il link Single Sign-On (SSO) della tua azienda, tale processo crea automaticamente credenziali temporanee. Le credenziali temporanee vengono create in automatico anche quando accedi alla console come utente e poi cambi ruolo. Per ulteriori informazioni sul cambio di ruolo, consulta Passare da un utente a un ruolo IAM (console).

Puoi creare manualmente credenziali temporanee utilizzando l' AWS API AWS CLI or. È quindi possibile utilizzare tali credenziali temporanee per accedere. AWS Ti consigliamo di generare dinamicamente credenziali temporanee anziché utilizzare chiavi di accesso a lungo termine. Per ulteriori informazioni, consulta Credenziali di sicurezza provvisorie in IAM.

Autorizzazioni principali per più servizi

Supporta l'inoltro delle sessioni di accesso (FAS):

Le azioni relative al ciclo di vita delle applicazioni Amazon MSF supportano le autorizzazioni principali per più servizi.

Quando utilizzi un utente o un ruolo IAM per eseguire azioni AWS, sei considerato un preside. Quando si utilizzano alcuni servizi, è possibile eseguire un'operazione che attiva un'altra operazione in un servizio diverso. Le sessioni di accesso inoltrato (FAS) utilizzano le autorizzazioni del principale che chiama un Servizio AWS, combinate con la richiesta Servizio AWS per effettuare richieste ai servizi downstream. Le richieste FAS vengono effettuate solo quando un servizio riceve una richiesta che richiede interazioni con altri Servizi AWS o risorse per essere completata. In questo caso è necessario disporre delle autorizzazioni per eseguire entrambe le azioni. Per i dettagli delle policy relative alle richieste FAS, consulta Forward access sessions.

Policy basate su identità per servizio gestito da Amazon per Apache Flink

Supporta le policy basate su identità:

Le policy basate su identità sono documenti di policy di autorizzazione JSON che è possibile allegare a un'identità (utente, gruppo di utenti o ruolo IAM). Tali policy definiscono le operazioni che utenti e ruoli possono eseguire, su quali risorse e in quali condizioni. Per informazioni su come creare una policy basata su identità, consulta Definizione di autorizzazioni personalizzate IAM con policy gestite dal cliente nella Guida per l'utente IAM.

Con le policy basate su identità di IAM, è possibile specificare quali operazioni e risorse sono consentite o respinte, nonché le condizioni in base alle quali le operazioni sono consentite o respinte. Non è possibile specificare l'entità principale in una policy basata sull'identità perché si applica all'utente o al ruolo a cui è associato. Per informazioni su tutti gli elementi utilizzabili in una policy JSON, consulta Guida di riferimento agli elementi delle policy JSON IAM nella Guida per l'utente di IAM.

Esempi di policy basate su identità per il servizio gestito da Amazon per Apache Flink

Per visualizzare esempi di policy basate su identità del servizio gestito per Apache Flink, consulta Esempi di policy basate su identità per il servizio gestito da Amazon per Apache Flink.

Policy basate su risorse all'interno del servizio gestito per Apache Flink

Amazon Managed Service for Apache Flink attualmente non supporta il controllo degli accessi basato sulle risorse.

Elenchi di controllo degli accessi (ACLs) in Managed Service for Apache Flink

Supporti ACLs: no

Le liste di controllo degli accessi (ACLs) controllano quali principali (membri dell'account, utenti o ruoli) dispongono delle autorizzazioni per accedere a una risorsa. ACLs sono simili alle politiche basate sulle risorse, sebbene non utilizzino il formato del documento di policy JSON.

Ruoli di servizio per il servizio gestito da Amazon per Apache Flink

Supporta i ruoli di servizio:

Un ruolo di servizio è un ruolo IAM che un servizio assume per eseguire operazioni per tuo conto. Un amministratore IAM può creare, modificare ed eliminare un ruolo di servizio dall'interno di IAM. Per ulteriori informazioni, consulta la sezione Create a role to delegate permissions to an Servizio AWS nella Guida per l'utente IAM.

avvertimento

La modifica delle autorizzazioni per un ruolo di servizio potrebbe compromettere la funzionalità del servizio gestito per Apache Flink. Modifica i ruoli di servizio solo quando il servizio gestito per Apache Flink fornisce le indicazioni per farlo.

Ruoli collegati ai servizi per il servizio gestito da Amazon per Apache Flink

Supporta ruoli collegati ai servizi: Sì

Un ruolo collegato al servizio è un tipo di ruolo di servizio collegato a un. Servizio AWS Il servizio può assumere il ruolo per eseguire un'azione per tuo conto. I ruoli collegati al servizio vengono visualizzati nel tuo account Account AWS e sono di proprietà del servizio. Un amministratore IAM può visualizzare le autorizzazioni per i ruoli collegati ai servizi, ma non modificarle.

Per ulteriori informazioni su come creare e gestire i ruoli collegati ai servizi, consulta Servizi AWS supportati da IAM. Trova un servizio nella tabella che include un Yes nella colonna Service-linked role (Ruolo collegato ai servizi). Scegli il collegamento per visualizzare la documentazione relativa al ruolo collegato ai servizi per tale servizio.