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à.
Controllo dell'accesso alle risorse di Amazon Kinesis Data Streams tramite IAM
AWS Identity and Access Management (IAM) consente di effettuare le seguenti operazioni:
-
Crea utenti e gruppi con il tuo AWS account
-
Assegna credenziali di sicurezza uniche a ciascun utente del tuo account AWS
-
Controlla le autorizzazioni di ogni utente per eseguire attività utilizzando le risorse AWS
-
Consenti agli utenti di un altro AWS account di condividere le tue risorse AWS
-
Crea ruoli per il tuo AWS account e definisci gli utenti o i servizi che possono assumerli
-
Utilizza le identità esistenti per la tua azienda per concedere le autorizzazioni per eseguire attività utilizzando le risorse AWS
Utilizzando IAM Kinesis Data Streams, è possibile controllare se gli utenti dell'organizzazione possono eseguire un'attività utilizzando azioni specifiche di API Kinesis Data Streams e se possono utilizzare risorse specifiche. AWS
Se stai sviluppando un'applicazione utilizzando Kinesis Client Library (KCL), la tua policy deve includere le autorizzazioni per Amazon DynamoDB e Amazon; utilizza KCL DynamoDB per tenere traccia CloudWatch delle informazioni sullo stato dell'applicazione e per inviare i parametri per tuo conto. CloudWatch KCL CloudWatch Per ulteriori informazioni su KCL, consulta Sviluppa KCL consumatori 1.x.
Per ulteriori informazioni su IAM, consulta:
Per ulteriori informazioni su IAM Amazon DynamoDB, consulta IAM Using to Control Access to Amazon DynamoDB Resources nella Amazon DynamoDB Developer Guide.
Per ulteriori informazioni su IAM Amazon CloudWatch, consulta Controlling User Access to Your AWS Account nella Amazon CloudWatch User Guide.
Indice
- Sintassi delle policy
- Operazioni per il flusso di dati Kinesis
- Nomi di risorse Amazon (ARNs) per Kinesis Data Streams
- Criteri di esempio per Kinesis Data Streams
- Condividi il tuo flusso di dati con un altro account
- Configurare una AWS Lambda funzione per la lettura da Kinesis Data Streams in un altro account
- Condividi l'accesso utilizzando politiche basate sulle risorse
Sintassi delle policy
Una IAM politica è un JSON documento composto da una o più dichiarazioni. Ogni dichiarazione è strutturata come segue:
{
"Statement":[{
"Effect":"effect
",
"Action":"action
",
"Resource":"arn
",
"Condition":{
"condition
":{
"key
":"value
"
}
}
}
]
}
Una dichiarazione è costituita da diversi elementi:
-
Effect (Effetto): l'elemento effect può essere
Allow
oDeny
. Per impostazione predefinita, IAM gli utenti non dispongono dell'autorizzazione per utilizzare risorse e API azioni, quindi tutte le richieste vengono rifiutate. Un permesso esplicito sostituisce l'impostazione predefinita. Un rifiuto esplicito sovrascrive tutti i consensi. -
Azione: L'azione è l'APIazione specifica per la quale si concede o si nega l'autorizzazione.
-
Resource (Risorsa): la risorsa che viene modificata dall'operazione. Per specificare una risorsa nell'istruzione, devi utilizzare il relativo Amazon Resource Name (ARN).
-
Condition: le condizioni sono facoltative. Possono essere utilizzate per controllare quando sarà in vigore una policy.
Durante la creazione e la gestione IAM delle politiche, potresti voler utilizzare IAMPolicy Generator e IAMPolicy Simulator.
Operazioni per il flusso di dati Kinesis
In una dichiarazione IAM politica, è possibile specificare qualsiasi API azione da qualsiasi servizio che supportaIAM. Per Kinesis Data Streams, usa il seguente prefisso con il nome API dell'azione:. kinesis:
For example: kinesis:CreateStream
, kinesis:ListStreams
e kinesis:DescribeStreamSummary
.
Per specificare più azioni in una sola istruzione, separa ciascuna di esse con una virgola come mostrato di seguito:
"Action": ["kinesis:action1", "kinesis:action2"]
Puoi anche specificare più operazioni tramite caratteri jolly. Ad esempio, puoi specificare tutte le operazioni il cui nome inizia con la parola "Get" come segue:
"Action": "kinesis:Get*"
Per specificare tutte le operazioni del flusso di dati Kinesis, utilizza il carattere jolly (*) come mostrato di seguito:
"Action": "kinesis:*"
Per l'elenco completo delle azioni di Kinesis API Data Streams, consulta Amazon API Kinesis Reference.
Nomi di risorse Amazon (ARNs) per Kinesis Data Streams
Ogni dichiarazione di IAM policy si applica alle risorse specificate utilizzando le loro. ARNs
Usa il seguente formato di ARN risorse per i flussi di dati Kinesis:
arn:aws:kinesis:region
:account-id
:stream/stream-name
Per esempio:
"Resource": arn:aws:kinesis:*:111122223333:stream/my-stream
Criteri di esempio per Kinesis Data Streams
Le policy di esempio seguenti dimostrano in che modo puoi controllare l'accesso degli utenti al flusso di dati Kinesis.
Condividi il tuo flusso di dati con un altro account
Nota
La Kinesis Producer Library attualmente non supporta la specificazione di un flusso ARN durante la scrittura su un flusso di dati. Usa AWS SDK se desideri scrivere su un flusso di dati tra account.
Allega una policy basata sulle risorse al tuo flusso di dati per concedere l'accesso a un altro account, IAM utente o ruolo. IAM Le politiche basate sulle risorse sono documenti di JSON policy che alleghi a una risorsa come un flusso di dati. Queste policy concedono all'entità principale specificata l'autorizzazione per eseguire operazioni specifiche sulla risorsa e definiscono le condizioni in cui ciò si applica. Una policy può avere più dichiarazioni. È necessario specificare un principale in una policy basata sulle risorse. I principali possono includere account, utenti, ruoli, utenti federati o servizi. AWS È possibile configurare le policy nella console Kinesis Data Streams oppureAPI. SDK
Tieni presente che la condivisione dell'accesso ai consumatori registrati, come Enhanced Fan Out, richiede una politica sia sul flusso ARN di dati che sul consumatore. ARN
Abilita l'accesso su più account
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 principale multi-account a una policy basata sulle risorse rappresenta solo una parte della relazione di trust. Quando il principale e la risorsa si trovano in AWS account separati, è inoltre necessario utilizzare una politica basata sull'identità per concedere al principale l'accesso alla risorsa. Tuttavia, se una policy basata su risorse concede l'accesso a un principale nello stesso account, non sono richieste ulteriori policy basate su identità.
Gli amministratori del flusso di dati possono utilizzare AWS Identity and Access Management le policy per specificare chi ha accesso a cosa. Cioè, quale principale può eseguire operazioni su quali risorse, e in quali condizioni. L'Action
elemento di una JSON policy descrive le azioni che è possibile utilizzare per consentire o negare l'accesso a una policy. Le azioni politiche in genere hanno lo stesso nome dell' AWS APIoperazione associata.
Operazioni di Kinesis Data Streams che possono essere condivise:
Azione | Livello di accesso |
---|---|
DescribeStreamConsumer | Consumer |
DescribeStreamSummary | Flusso di dati |
GetRecords | Flusso di dati |
GetShardIterator | Flusso di dati |
ListShards | Flusso di dati |
PutRecord | Flusso di dati |
PutRecords | Flusso di dati |
SubscribeToShard | Consumer |
Di seguito sono riportati alcuni esempi dell'utilizzo delle policy basate sulle risorse per concedere l'accesso multi-account al flusso di dati o al consumatore registrato.
Per eseguire un'azione su più account, è necessario specificare il flusso ARN per l'accesso al flusso di dati e il consumatore ARN per l'accesso dei consumatori registrati.
Esempi di politiche basate sulle risorse per i flussi di dati Kinesis
La condivisione di un consumatore registrato implica sia una policy sul flusso di dati che una policy per i consumatori dovuta alle operazioni necessarie.
Nota
Di seguito alcuni esempi dei valori validi per Principal
:
{"AWS": "123456789012"}
IAMUtente:
{"AWS": "arn:aws:iam::123456789012:user/user-name"}
IAMRuolo —
{"AWS":["arn:aws:iam::123456789012:role/role-name"]}
Principali multipli (può essere una combinazione di account, utente, ruolo) –
{"AWS":["123456789012", "123456789013", "arn:aws:iam::123456789012:user/user-name"]}
Gestisci la politica per il tuo flusso di dati in modo programmatico
Oltre a ciò AWS Management Console, Kinesis Data Streams ne APIS ha tre per la gestione delle policy relative al flusso di dati:
Utilizza PutResourePolicy
per collegare o sovrascrivere una policy del flusso di dati o del consumatore. Utilizza GetResourcePolicy
per controllare e visualizzare una policy del flusso di dati o del consumatore specificato. Utilizza DeleteResourcePolicy
per eliminare una policy del flusso di dati o del consumatore specificato.
Limiti delle policy
Le policy delle risorse di Kinesis Data Streams prevedono le seguenti restrizioni:
-
Le Wildcard (*) non sono supportate per impedire che venga concesso un ampio accesso attraverso le politiche relative alle risorse che sono direttamente collegate a un flusso di dati o a un consumatore registrato. Inoltre, esamina attentamente le seguenti politiche per verificare che non garantiscano un ampio accesso:
-
Politiche basate sull'identità allegate ai AWS principali associati (ad esempio, ruoli) IAM
-
Politiche basate sulle risorse allegate alle risorse associate AWS (ad esempio, chiavi) AWS Key Management Service KMS
-
AWS I responsabili dei servizi non sono supportati per evitare potenziali deputati confusi.
I principali federati non sono supportati.
Gli utenti canonici non sono supportati. IDs
La dimensione della policy non può superare i 20 KB.
Condividi l'accesso ai dati crittografati
Se hai abilitato la crittografia lato server per un flusso di dati con KMS chiave AWS gestita e desideri condividere l'accesso tramite una politica delle risorse, devi passare all'utilizzo della chiave gestita dal cliente (). CMK Per ulteriori informazioni, consulta Cos'è la crittografia lato server per Kinesis Data Streams?. Inoltre, devi consentire alle entità principali che condividono di accedere alle tueCMK, utilizzando le funzionalità di condivisione tra accountKMS. Assicurati di apportare anche la modifica alle IAM politiche per le entità principali che condividono. Per ulteriori informazioni, consulta Consentire agli utenti di altri account di utilizzare una KMS chiave.
Configurare una AWS Lambda funzione per la lettura da Kinesis Data Streams in un altro account
Per vedere un esempio di come configurare una funzione Lambda per la lettura da Kinesis Data Streams in un altro account, consulta Condividi l'accesso con funzioni tra account AWS Lambda.