

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
<a name="controlling-access"></a>

AWS Identity and Access Management (IAM) le permite hacer lo siguiente:
+ Cree usuarios y grupos en su cuenta AWS 
+ 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 utilizar IAM con Kinesis Data Streams, puede controlar si los usuarios de su organización pueden realizar una tarea mediante acciones específicas de la API de Kinesis Data Streams y si pueden utilizar recursos específicos de 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; la KCL utiliza DynamoDB para realizar un seguimiento de CloudWatch la información de estado de la aplicación y para enviar las métricas de KCL en su nombre. CloudWatch CloudWatch Para obtener más información sobre KCL, consulte [Desarrollar consumidores de KCL 1.x](developing-consumers-with-kcl.md).

Para obtener más información sobre IAM, consulte lo siguiente:
+ [AWS Identity and Access Management (IAM)](https://aws.amazon.com/iam/)
+ [Cómo empezar con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html)
+ [Guía del usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/)

Para más información acerca de IAM y DynamoDB, consulte [Uso de IAM para controlar el acceso a recursos de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/UsingIAMWithDDB.html) en la *Guía para desarrolladores de Amazon DynamoDB*. 

Para obtener más información sobre IAM y Amazon CloudWatch, consulta Cómo [controlar el acceso de los usuarios a tu AWS cuenta](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/UsingIAM.html) en la *Guía del CloudWatch usuario de Amazon*.

**Topics**
+ [Sintaxis de la política](#policy-syntax)
+ [Acciones para Kinesis Data Streams](#kinesis-using-iam-actions)
+ [Nombres de recursos de Amazon (ARNs) para Kinesis Data Streams](#kinesis-using-iam-arn-format)
+ [Ejemplo de políticas para Kinesis Data Streams](#kinesis-using-iam-examples)
+ [Compartir su flujo de datos con otra cuenta](#sharing-data-streams)
+ [Configurar una AWS Lambda función para leer contenido de Kinesis Data Streams en otra cuenta](#sharing-data-streams-example)
+ [Compartir acceso mediante políticas basadas en recursos](resource-based-policy-examples.md)

## Sintaxis de la política
<a name="policy-syntax"></a>

Una política de IAM es un documento JSON que contiene una o varias instrucciones. 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` o `Deny`. De forma predeterminada, los usuarios de IAM no tienen permiso para utilizar los recursos y las acciones de la API, 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.
+ **Action**: el valor de *action* es la acción de la API para la que concede o deniega permisos.
+ **Resource**: el recurso al que afecta la acción. Para especificar un recurso en la instrucción, debe usar el 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 las políticas de IAM, es posible que quiera utilizar el [generador de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-generator) y el [simulador de política de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html).

## Acciones para Kinesis Data Streams
<a name="kinesis-using-iam-actions"></a>

En una instrucción de política de IAM, puede especificar cualquier acción de API de cualquier servicio que sea compatible con IAM. Para Kinesis Data Streams, utilice el prefijo siguiente con el nombre de la acción de la API: `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 \$1 del siguiente modo:

```
"Action": "kinesis:*"
```

Para obtener la lista completa de las acciones de la API de Kinesis Data Streams, consulte [Referencia de la API de Amazon Kinesis](https://docs.aws.amazon.com/kinesis/latest/APIReference/).

## Nombres de recursos de Amazon (ARNs) para Kinesis Data Streams
<a name="kinesis-using-iam-arn-format"></a>

Cada declaración de política de IAM se aplica a los recursos que especifique mediante su uso. ARNs

Utilice el siguiente formato de recurso de ARN para los flujos 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
<a name="kinesis-using-iam-examples"></a>

Los siguientes ejemplos de políticas demuestran cómo puede controlar el acceso de los usuarios a sus flujos de datos Kinesis.

------
#### [ Example 1: Allow users to get data from a stream ]

**Example**  
 Esta política permite a un usuario o grupo realizar las operaciones `DescribeStreamSummary`, `GetShardIterator` y `GetRecords` en la secuencia especificada y `ListStreams` en cualquier secuencia. Esta política podría aplicarse a los usuarios que puedan obtener los datos de una determinada secuencia.     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:Get*",
                "kinesis:DescribeStreamSummary"
            ],
            "Resource": [
            "arn:aws:kinesis:us-east-1:111122223333:stream/stream1"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:ListStreams"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------
#### [ Example 2: Allow users to add data to any stream in the account ]

**Example**  
Esta política permite a un usuario o grupo usar la operación `PutRecord` con cualquiera de las secuencias de la cuenta. Esta política podría aplicarse a usuarios que puedan agregar registros de datos a todas las secuencias de una cuenta.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:PutRecord"
            ],
            "Resource": [
                "arn:aws:kinesis:us-east-1:111122223333:stream/*"
            ]
        }
    ]
}
```

------
#### [ Example 3: Allow any Kinesis Data Streams action on a specific stream ]

**Example**  
Esta política permite a un usuario o grupo utilizar cualquier operación de Kinesis Data Streams en el flujo especificado. Esta política podría aplicarse a usuarios que deberían tener control administrativo en una secuencia específica.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "kinesis:*",
            "Resource": [
            "arn:aws:kinesis:us-east-1:111122223333:stream/stream1"
            ]
        }
    ]
}
```

------
#### [ Example 4: Allow any Kinesis Data Streams action on any stream ]

**Example**  
Esta política permite a un usuario o grupo utilizar cualquier operación de Kinesis Data Streams en cualquier flujo de la cuenta. Dado que esta política concede acceso completo a todas las secuencias, debe restringirla solo a los administradores.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "kinesis:*",
            "Resource": [
                "arn:aws:kinesis:*:111122223333:stream/*"
            ]
        }
    ]
}
```

------

## Compartir su flujo de datos con otra cuenta
<a name="sharing-data-streams"></a>

**nota**  
 Actualmente, Kinesis Producer Library no admite la especificación de un ARN de flujo al escribir en un flujo de datos. Utilice el AWS SDK si quiere escribir en un flujo de datos entre cuentas. 

Adjunte una [política basada en recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) a su flujo de datos para conceder acceso a otra cuenta, usuario de IAM o rol de IAM. Las políticas basadas en recursos son documentos de políticas JSON que puede adjuntar a un recurso como un flujo de datos. Estas políticas conceden a la [entidad principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) 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 principales pueden incluir cuentas, usuarios, roles, usuarios federados o servicios. AWS Puede configurar políticas en la consola, la API o el SDK de Kinesis Data Streams. 

Tenga en cuenta que compartir el acceso con consumidores registrados, como [Enhanced Fan Out](https://docs.aws.amazon.com/streams/latest/dev/enhanced-consumers.html), requiere una política tanto en el ARN del flujo de datos como en el ARN del consumidor. 

### Habilitar acceso entre cuentas
<a name="sharing-data-streams-enabling"></a>

Para habilitar el acceso entre cuentas, puedes especificar toda una cuenta o entidades de IAM de otra cuenta como la entidad principal de una política en función de 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 debe utilizar una política basada en la identidad para conceder al principal acceso al recurso. Sin embargo, si la política basada en recursos concede 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 acceso entre cuentas, consulte [Acceso entre cuentas por recurso en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html).

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* puede realizar *acciones* en qué *recursos* y en qué *condiciones*. El elemento `Action` de una política JSON describe las acciones que puede utilizar para conceder o denegar el acceso en una política. Las acciones políticas suelen tener el mismo nombre que la operación de AWS API asociada. 

Acciones de Kinesis Data Streams que se pueden compartir:


| Acción de  | Nivel de acceso | 
| --- | --- | 
| [DescribeStreamConsumer](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStreamConsumer.html) | Consumidor | 
| [DescribeStreamSummary](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStreamSummary.html) | Flujo de datos | 
| [GetRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html) | Flujo de datos | 
| [GetShardIterator](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html) | Flujo de datos | 
| [ListShards](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) | Flujo de datos | 
| [PutRecord](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html) | Flujo de datos | 
| [PutRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecords.html) | Flujo de datos | 
| [SubscribeToShard](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_SubscribeToShard.html) | 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 entre cuentas, debe especificar el ARN del flujo para el acceso al flujo de datos y el ARN del consumidor para el acceso de los consumidores registrados. 

### Ejemplo de políticas basadas en recursos para Kinesis Data Streams
<a name="kinesis-stream-sharing-iam-examples"></a>

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"}`
Usuario de IAM: `{"AWS": "arn:aws:iam::123456789012:user/user-name"}`
Rol de IAM: `{"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"]}`

------
#### [ Example 1: Write access to the data stream ]

**Example**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "__default_write_policy_ID",
    "Statement": [
        {
            "Sid": "writestatement",
            "Effect": "Allow",
            "Principal": {
                "AWS": "Account12345"
            },
            "Action": [
                "kinesis:DescribeStreamSummary",
                "kinesis:ListShards",
                "kinesis:PutRecord",
                "kinesis:PutRecords"
            ],
            "Resource": "arn:aws:kinesis:us-east-2:123456789012:stream/datastreamABC"
        }
    ]
}
```

------
#### [ Example 2: Read access to the data stream ]

**Example**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "__default_sharedthroughput_read_policy_ID",
    "Statement": [
        {
            "Sid": "sharedthroughputreadstatement",
            "Effect": "Allow",
            "Principal": {
                "AWS": "Account12345"
            },
            "Action": [                
                "kinesis:DescribeStreamSummary",
                "kinesis:ListShards",
                "kinesis:GetRecords",
                "kinesis:GetShardIterator"
            ],
            "Resource": "arn:aws:kinesis:us-east-2:123456789012:stream/datastreamABC"
        }
    ]
}
```

------
#### [ Example 3: Share enhanced fan-out read access to a registered consumer ]

**Example**  
Declaración de política de flujo de datos:     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "__default_sharedthroughput_read_policy_ID",
    "Statement": [
        {
            "Sid": "consumerreadstatement",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/role-name"
            },
            "Action": [
                "kinesis:DescribeStreamSummary",
                "kinesis:ListShards"
            ],
            "Resource": "arn:aws:kinesis:us-east-2:123456789012:stream/datastreamABC"
        }
    ]
}
```
Declaración de política de consumidor:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "__default_efo_read_policy_ID",
    "Statement": [
        {
            "Sid": "eforeadstatement",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/role-name"
            },
            "Action": [
                "kinesis:DescribeStreamConsumer",
                "kinesis:SubscribeToShard"
            ],
            "Resource": "arn:aws:kinesis:us-east-2:123456789012:stream/datastreamABC/consumer/consumerDEF:1674696300"
        }
    ]
}
```
No se admite el comodín (\$1) para las acciones o el campo principal a fin de mantener el principio del privilegio mínimo. 

------

### Administrar la política del flujo de datos mediante programación
<a name="sharing-data-streams-managing-policy"></a>

Además de eso Consola de administración de AWS, Kinesis Data Streams tiene tres API para administrar su política de transmisión de datos: 
+ [PutResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutResourcePolicy.html)
+ [GetResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetResourcePolicy.html)
+ [DeleteResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DeleteResourcePolicy.html)

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
<a name="sharing-data-streams-validating"></a>

Las políticas de recursos de Kinesis Data Streams tienen las siguientes restricciones: 
+ No se admiten caracteres comodín (\$1) 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 de IAM)
  + Políticas basadas en recursos asociadas a los AWS recursos asociados (por ejemplo, claves de KMS) AWS Key Management Service 
+ AWS [No se admiten directores de servicio como directores para evitar posibles confusiones entre los diputados.](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) 
+ 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
<a name="sharing-access-to-encrypted-data-1"></a>

Si ha habilitado el cifrado del lado del servidor para un flujo de datos con una clave KMS AWS administrada y desea compartir el acceso mediante una política de recursos, debe cambiar a la clave administrada por el cliente (CMK). Para obtener más información, consulte [¿Qué es el cifrado del lado del servidor para Kinesis Data Streams?](what-is-sse.md). Además, debe permitir que las entidades principales compartidas tengan acceso a su CMK mediante las capacidades de uso compartido entre cuentas de KMS. Asegúrese de realizar también el cambio en las políticas de IAM para las entidades principales compartidas. Para obtener más información, consulte [Allowing users in other accounts to use a KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) (Permitir que los usuarios de otras cuentas utilicen una clave KMS).

## Configurar una AWS Lambda función para leer contenido de Kinesis Data Streams en otra cuenta
<a name="sharing-data-streams-example"></a>

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](resource-based-policy-examples.md#Resource-based-policy-examples-lambda). 

# Compartir acceso mediante políticas basadas en recursos
<a name="resource-based-policy-examples"></a>

**nota**  
Actualizar una política basada en recursos existente implica reemplazarla, así que asegúrese de incluir toda la información necesaria en su nueva política. 

## Comparta el acceso con funciones multicuenta AWS Lambda
<a name="Resource-based-policy-examples-lambda"></a>

**Operador Lambda**

1. Vaya a la [consola de IAM](https://console.aws.amazon.com/iam/) para crear una función de IAM que se utilizará como función de [ejecución de Lambda para su función](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). AWS Lambda Agregue la política de IAM administrada `AWSLambdaKinesisExecutionRole` que tenga los permisos de invocación de Kinesis Data Streams y Lambda necesarios. Esta política también concede acceso a todos los recursos potenciales de Kinesis Data Streams a los que pueda tener acceso. 

1. En la [AWS Lambda consola](https://console.aws.amazon.com/lambda/home), cree una AWS Lambda función [para procesar los registros de una transmisión de datos de Kinesis Data Streams](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html) y, durante la configuración de la función de ejecución, elija la función que creó en el paso anterior. 

1. Proporcione la función de ejecución al propietario del recurso de Kinesis Data Streams para configurar la política de recursos. 

1. Terminar de configurar la función de Lambda. 

**Propietario de recursos de Kinesis Data Streams**

1. Obtenga la función de ejecución de Lambda entre cuentas que invocará la función de Lambda. 

1. En la consola de Amazon Kinesis Data Streams, seleccione el flujo de datos. Seleccione la pestaña **Compartir el flujo de datos** y, a continuación, el botón **Crear política de uso compartido** para iniciar el editor visual de políticas. Para compartir un consumidor registrado dentro de un flujo de datos, elija el consumidor y, a continuación, elija **Crear política de uso compartido**. También puede escribir la política de JSON directamente. 

1. Especifique la función de ejecución entre cuentas de Lambda como la entidad principal y las acciones exactas de Kinesis Data Streams a las que comparte el acceso. Asegúrese de incluir la acción `kinesis:DescribeStream`. Para obtener más información sobre ejemplos de políticas de recursos para Kinesis Data Streams, consulte [Ejemplo de políticas basadas en recursos para Kinesis Data Streams](controlling-access.md#kinesis-stream-sharing-iam-examples).

1. Elija **Crear política** o utilice la [PutResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutResourcePolicy.html)para adjuntar la política a su recurso. 

## Compartir acceso con consumidores de KCL entre cuentas
<a name="Resource-based-policy-examples-kcl-consumers"></a>
+ Si utiliza KCL 1.x, asegúrese de utilizar KCL 1.15.0 o superior. 
+ Si utiliza KCL 2.x, asegúrese de utilizar KCL 2.5.3 o superior. 

**Operador de KCL**

1. Proporcione al propietario del recurso el usuario de IAM o el rol de IAM que ejecutará la aplicación KCL. 

1. Pida al propietario del recurso el flujo de datos o el ARN del consumidor. 

1. Asegúrese de especificar el ARN del flujo proporcionado como parte de la configuración de KCL. 
   + Para KCL 1.x: utilice el [KinesisClientLibConfiguration](https://github.com/awslabs/amazon-kinesis-client/blob/v1.x/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisClientLibConfiguration.java#L738-L821)constructor y proporcione el ARN de flujo. 
   + Para KCL 2.x: puede proporcionar solo el ARN de la transmisión o la biblioteca de clientes de [StreamTracker](https://github.com/awslabs/amazon-kinesis-client/blob/master/amazon-kinesis-client/src/main/java/software/amazon/kinesis/processor/StreamTracker.java)Kinesis. [ConfigsBuilder](https://github.com/awslabs/amazon-kinesis-client/blob/master/amazon-kinesis-client/src/main/java/software/amazon/kinesis/common/ConfigsBuilder.java#L155-L176) Para ello StreamTracker, proporcione el ARN de la transmisión y la época de creación de la tabla de arrendamiento de DynamoDB que genera la biblioteca. Si quieres leer información de un consumidor registrado compartido, como Enhanced Fan-Out, utiliza StreamTracker y proporciona también el ARN del consumidor.

**Propietario de recursos de Kinesis Data Streams**

1. Obtenga el usuario de IAM entre cuentas o el rol de IAM que ejecutará la aplicación KCL. 

1. En la consola de Amazon Kinesis Data Streams, seleccione el flujo de datos. Seleccione la pestaña **Compartir el flujo de datos** y, a continuación, el botón **Crear política de uso compartido** para iniciar el editor visual de políticas. Para compartir un consumidor registrado dentro de un flujo de datos, elija el consumidor y, a continuación, elija **Crear política de uso compartido**. También puede escribir la política de JSON directamente. 

1. Especifique el usuario de IAM o el rol de IAM de la aplicación KCL entre cuentas como las entidades principales y las acciones exactas de Kinesis Data Streams a las que comparte el acceso. Para obtener más información sobre ejemplos de políticas de recursos para Kinesis Data Streams, consulte [Ejemplo de políticas basadas en recursos para Kinesis Data Streams](controlling-access.md#kinesis-stream-sharing-iam-examples). 

1. Elija **Crear política** o utilice la [PutResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutResourcePolicy.html)para adjuntar la política a su recurso. 

## Compartir acceso a datos cifrados
<a name="sharing-access-to-encrypted-data"></a>

Si ha habilitado el cifrado del lado del servidor para un flujo de datos con una clave KMS AWS administrada y desea compartir el acceso mediante una política de recursos, debe cambiar a la clave administrada por el cliente (CMK). Para obtener más información, consulte [¿Qué es el cifrado del lado del servidor para Kinesis Data Streams?](what-is-sse.md). Además, debe permitir que las entidades principales compartidas tengan acceso a su CMK mediante las capacidades de uso compartido entre cuentas de KMS. Asegúrese de realizar también el cambio en las políticas de IAM para las entidades principales compartidas. Para obtener más información, consulte [Allowing users in other accounts to use a KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) (Permitir que los usuarios de otras cuentas utilicen una clave KMS).