Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Control del acceso a los recursos de Amazon Kinesis Data Streams mediante IAM
AWS Identity and Access Management (IAM) le permite hacer lo siguiente:
-
Cree usuarios y grupos en su AWS cuenta
-
Asigna credenciales de seguridad únicas a cada usuario de tu AWS cuenta
-
Controle los permisos de cada usuario para realizar tareas utilizando AWS los recursos
-
Permite que los usuarios de otra AWS cuenta compartan tus AWS recursos
-
Cree roles para su AWS cuenta y defina los usuarios o servicios que pueden asumirlos
-
Utilice las identidades existentes de su empresa a fin de conceder permisos para realizar tareas con AWS recursos
Al usarlo IAM con Kinesis Data Streams, puede controlar si los usuarios de su organización pueden realizar una tarea mediante acciones específicas de Kinesis Data API Streams y si pueden usar recursos específicos. AWS
Si está desarrollando una aplicación con la biblioteca de clientes de Kinesis (KCL), su política debe incluir permisos para Amazon DynamoDB y Amazon CloudWatch; además, KCL utiliza DynamoDB para realizar un seguimiento de la información de estado de la aplicación y para enviar las métricas en su nombre. CloudWatch KCL CloudWatch Para obtener más información acerca de, consulte. KCL Desarrolle KCL consumidores 1.x
Para obtener más información al respectoIAM, consulte lo siguiente:
Para obtener más información sobre IAM Amazon DynamoDB, consulte IAM Uso para controlar el acceso a los recursos de Amazon DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
Para obtener más información sobre IAM Amazon CloudWatch, consulta Cómo controlar el acceso de los usuarios a tu AWS cuenta en la Guía del CloudWatch usuario de Amazon.
Contenido
- Sintaxis de la política
- Acciones para Kinesis Data Streams
- Nombres de recursos de Amazon (ARNs) para Kinesis Data Streams
- Ejemplo de políticas para Kinesis Data Streams
- Compartir su flujo de datos con otra cuenta
- Configurar una AWS Lambda función para leer contenido de Kinesis Data Streams en otra cuenta
- Compartir acceso mediante políticas basadas en recursos
Sintaxis de la política
Una IAM política es un JSON documento que consta de una o más declaraciones. Cada instrucción tiene la estructura siguiente:
{
"Statement":[{
"Effect":"effect
",
"Action":"action
",
"Resource":"arn
",
"Condition":{
"condition
":{
"key
":"value
"
}
}
}
]
}
Una instrucción está compuesta por varios elementos:
-
Effect: el valor de effect puede ser
Allow
oDeny
. De forma predeterminada, IAM los usuarios no tienen permiso para usar recursos y API acciones, por lo que se deniegan todas las solicitudes. Si se concede un permiso explícito se anula el valor predeterminado. Una denegación explícita invalida cualquier permiso concedido. -
Acción: la acción es la API acción específica para la que se concede o deniega el permiso.
-
Resource: el recurso al que afecta la acción. Para especificar un recurso en la declaración, debe usar su nombre de recurso de Amazon (ARN).
-
Condition: las condiciones son opcionales. Se pueden usar para controlar cuándo entrará en vigor la política.
Al crear y administrar IAM políticas, es posible que desee utilizar el generador de IAM políticas y el simulador IAM de políticas.
Acciones para Kinesis Data Streams
En una declaración de IAM política, puede especificar cualquier API acción de cualquier servicio compatibleIAM. Para Kinesis Data Streams, utilice el siguiente prefijo con el nombre de API la acción:. kinesis:
Por ejemplo, kinesis:CreateStream
, kinesis:ListStreams
y kinesis:DescribeStreamSummary
.
Para especificar varias acciones en una única instrucción, sepárelas con comas del siguiente modo:
"Action": ["kinesis:action1", "kinesis:action2"]
También puede utilizar caracteres comodín para especificar varias acciones. Por ejemplo, puede especificar todas las acciones cuyo nombre comience por la palabra "Get" del siguiente modo:
"Action": "kinesis:Get*"
Para especificar todas las acciones de Kinesis Data Streams, utilice el carácter comodín * del siguiente modo:
"Action": "kinesis:*"
Para ver la lista completa de las acciones de Kinesis Data API Streams, consulte la referencia de API Amazon Kinesis.
Nombres de recursos de Amazon (ARNs) para Kinesis Data Streams
Cada declaración IAM de política se aplica a los recursos que especifique mediante su ARNs uso.
Utilice el siguiente formato de ARN recursos para las transmisiones de datos de Kinesis:
arn:aws:kinesis:region
:account-id
:stream/stream-name
Por ejemplo:
"Resource": arn:aws:kinesis:*:111122223333:stream/my-stream
Ejemplo de políticas para Kinesis Data Streams
Los siguientes ejemplos de políticas demuestran cómo puede controlar el acceso de los usuarios a sus flujos de datos Kinesis.
Compartir su flujo de datos con otra cuenta
nota
Actualmente, la biblioteca de productores de Kinesis no permite especificar una transmisión ARN al escribir en una transmisión de datos. Utilice la AWS SDK si desea escribir en una transmisión de datos multicuenta.
Adjunta una política basada en recursos a tu flujo de datos para conceder acceso a otra cuenta, IAM usuario o rol. IAM Las políticas basadas en recursos son documentos JSON de política que se adjuntan a un recurso, como un flujo de datos. Estas políticas conceden a la entidad principal especificada el permiso para ejecutar acciones concretas en el recurso y definen en qué condiciones son aplicables. Una política puede tener varias declaraciones. Debe especificar una entidad principal en una política basada en recursos. Los principios pueden incluir cuentas, usuarios, roles, usuarios federados o servicios. AWS Puede configurar las políticas en la consola de Kinesis Data StreamsAPI, SDK o.
Tenga en cuenta que compartir el acceso con consumidores registrados, como Enhanced Fan Out, requiere una política tanto para el flujo ARN de datos como para el consumidorARN.
Habilitar acceso entre cuentas
Para habilitar el acceso entre cuentas, puedes especificar una cuenta completa o IAM las entidades de otra cuenta como principales en una política basada en los recursos. Añadir a una política en función de recursos una entidad principal entre cuentas es solo una parte del establecimiento de una relación de confianza. Cuando el principal y el recurso están en AWS cuentas distintas, también debes usar una política basada en la identidad para conceder al principal acceso al recurso. Sin embargo, si la política en función de recursos concede el acceso a una entidad principal de la misma cuenta, no es necesaria una política basada en identidad adicional.
Para obtener más información sobre el uso de políticas basadas en recursos para el acceso entre cuentas, consulte Acceso a recursos entre cuentas en. IAM
Los administradores del flujo de datos pueden usar AWS Identity and Access Management políticas para especificar quién tiene acceso a qué. Es decir, qué entidad principal puedes realizar acciones en qué recursos y en qué condiciones. El Action
elemento de una JSON política describe las acciones que puede utilizar para permitir o denegar el acceso a una política. Las acciones de política suelen tener el mismo nombre que la AWS API operación asociada.
Acciones de Kinesis Data Streams que se pueden compartir:
Acción de | Nivel de acceso |
---|---|
DescribeStreamConsumer | Consumidor |
DescribeStreamSummary | Flujo de datos |
GetRecords | Flujo de datos |
GetShardIterator | Flujo de datos |
ListShards | Flujo de datos |
PutRecord | Flujo de datos |
PutRecords | Flujo de datos |
SubscribeToShard | Consumidor |
A continuación, se muestran ejemplos de uso de una política basada en recursos para conceder acceso entre cuentas a su flujo de datos o a un consumidor registrado.
Para realizar una acción multicuenta, debe especificar el flujo ARN para el acceso al flujo de datos y el consumidor ARN para el acceso de los consumidores registrados.
Ejemplo de políticas basadas en recursos para Kinesis Data Streams
Compartir un consumidor registrado implica tanto una política de flujo de datos como una política de consumidor, debido a las medidas necesarias.
nota
Los siguientes son ejemplos de valores válidos de Principal
:
{"AWS": "123456789012"}
IAMUsuario:
{"AWS": "arn:aws:iam::123456789012:user/user-name"}
IAMFunción —
{"AWS":["arn:aws:iam::123456789012:role/role-name"]}
Múltiples entidades principales (puede ser una combinación de cuenta, usuario o rol):
{"AWS":["123456789012", "123456789013", "arn:aws:iam::123456789012:user/user-name"]}
Administrar la política del flujo de datos mediante programación
Además de eso AWS Management Console, Kinesis Data Streams tiene APIS tres para administrar su política de transmisión de datos:
Use PutResourePolicy
para adjuntar o sobrescribir una política para un flujo de datos o un consumidor. Use GetResourcePolicy
para comprobar y ver una política para el flujo de datos o el consumidor especificado. Use DeleteResourcePolicy
para eliminar una política para el flujo de datos o el consumidor especificado.
Límites de políticas
Las políticas de recursos de Kinesis Data Streams tienen las siguientes restricciones:
-
No se admiten caracteres comodín (*) para ayudar a evitar que se otorgue acceso amplio mediante las políticas de recursos que están directamente vinculadas con un flujo de datos o un consumidor registrado. Además, analice detenidamente las siguientes políticas para confirmar que no otorgan acceso amplio:
-
Políticas basadas en la identidad asociadas a las entidades AWS principales asociadas (por ejemplo, las funciones) IAM
-
Políticas basadas en recursos adjuntas a los AWS recursos asociados (por ejemplo, claves) AWS Key Management Service KMS
-
No se admiten entidades principales federadas.
No se admiten usuarios IDs canónicos.
El tamaño de la política no puede superar los 20 KB.
Compartir acceso a datos cifrados
Si ha activado el cifrado del lado del servidor para un flujo de datos con KMS clave AWS gestionada y desea compartir el acceso mediante una política de recursos, debe cambiar a utilizar la clave gestionada por el cliente (). CMK Para obtener más información, consulte ¿Qué es el cifrado del lado del servidor para Kinesis Data Streams?. Además, debe permitir que las entidades principales que comparten acceso a la suyaCMK, utilizando las funciones de uso compartido entre cuentasKMS. Asegúrese también de realizar el cambio en IAM las políticas para las entidades principales que comparten información. Para obtener más información, consulte Permitir que los usuarios de otras cuentas usen una KMS clave.
Configurar una AWS Lambda función para leer contenido de Kinesis Data Streams en otra cuenta
Si necesita ver un ejemplo de cómo configurar una función de Lambda para leer contenido de Kinesis Data Streams en otra cuenta, consulte Comparta el acceso con funciones multicuenta AWS Lambda.