

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Controlar o acesso aos recursos do Amazon Kinesis Data Streams usando o IAM
<a name="controlling-access"></a>

AWS Identity and Access Management (IAM) permite que você faça o seguinte:
+ Crie usuários e grupos em sua AWS conta
+ Atribua credenciais de segurança exclusivas a cada usuário em sua conta AWS 
+ Controle as permissões de cada usuário para realizar tarefas usando AWS recursos
+ Permita que os usuários de outra AWS conta compartilhem seus AWS recursos
+ Crie funções para sua AWS conta e defina os usuários ou serviços que podem assumi-las
+ Use identidades existentes para sua empresa para conceder permissões para realizar tarefas usando recursos AWS 

Ao usar o IAM com o Kinesis Data Streams, é possível controlar se os usuários de sua organização podem executar uma tarefa usando ações específicas da API do Kinesis Data Streams e se podem usar recursos específicos da AWS .

Se você estiver desenvolvendo um aplicativo usando a Kinesis Client Library (KCL), sua política deve incluir permissões para o Amazon DynamoDB e a Amazon; CloudWatch o KCL usa o DynamoDB para rastrear informações de estado do aplicativo e enviar métricas de KCL para você. CloudWatch CloudWatch Para obter mais informações sobre o recurso KCL, consulte [Desenvolver aplicações de consumo da KCL 1.x](developing-consumers-with-kcl.md).

Para obter mais informações sobre IAM, consulte o seguinte:
+ [AWS Identity and Access Management (IAM)](https://aws.amazon.com/iam/)
+ [Introdução ao IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html)
+ [Guia do usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/)

Para obter mais informações sobre o IAM e o DynamoDB, consulte [Usar o IAM para controlar o acesso a recursos do Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/UsingIAMWithDDB.html) no *Guia do desenvolvedor do Amazon DynamoDB*. 

Para obter mais informações sobre o IAM e a Amazon CloudWatch, consulte [Controlando o acesso do usuário à sua AWS conta](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/UsingIAM.html) no *Guia CloudWatch do usuário da Amazon*.

**Topics**
+ [Sintaxe da política](#policy-syntax)
+ [Ações para o Kinesis Data Streams](#kinesis-using-iam-actions)
+ [Nomes de recursos da Amazon (ARNs) para Kinesis Data Streams](#kinesis-using-iam-arn-format)
+ [Exemplo de políticas para o Kinesis Data Streams](#kinesis-using-iam-examples)
+ [Compartilhamento do fluxo de dados com outra conta](#sharing-data-streams)
+ [Configurar uma AWS Lambda função para ler do Kinesis Data Streams em outra conta](#sharing-data-streams-example)
+ [Compartilhamento de acesso usando políticas baseadas em recursos](resource-based-policy-examples.md)

## Sintaxe da política
<a name="policy-syntax"></a>

A política do IAM é um documento JSON que consiste em uma ou mais declarações. Cada instrução é estruturada da seguinte maneira:

```
{
  "Statement":[{
    "Effect":"effect",
    "Action":"action",
    "Resource":"arn",
    "Condition":{
      "condition":{
        "key":"value"
        }
      }
    }
  ]
}
```

Existem vários elementos que compõem uma instrução:
+ **Effect:** o *efeito* pode ser `Allow` ou `Deny`. Por padrão, os usuários do IAM não têm permissão para usar recursos e ações da API. Por isso, todas as solicitações são negadas. Uma permissão explícita substitui o padrão. Uma negação explícita substitui todas as permissões.
+ **Ação**: é a *ação* de API específica para a qual a permissão esteja sendo concedida ou negada.
+ **Recurso**: o recurso afetado pela ação. Para especificar um recurso na declaração, é necessário usar o nome do recurso da Amazon (ARN).
+ **Condição**: condições são opcionais. Elas podem ser usadas para controlar quando as políticas entrarão em vigor.

Ao criar e gerenciar políticas do IAM, pode ser conveniente usar o [gerador de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-generator) e o [simulador de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html).

## Ações para o Kinesis Data Streams
<a name="kinesis-using-iam-actions"></a>

Em uma declaração de política do IAM, é possível especificar qualquer ação de API de qualquer serviço que dê suporte ao IAM. Para o Kinesis Data Streams, use o seguinte prefixo com o nome da ação da API: `kinesis:`. Por exemplo: `kinesis:CreateStream`, `kinesis:ListStreams` e `kinesis:DescribeStreamSummary`.

Para especificar várias ações em uma única instrução, separe-as com vírgulas, como segue:

```
"Action": ["kinesis:action1", "kinesis:action2"]
```

Também é possível especificar várias ações usando asteriscos. Por exemplo, é possível especificar todas as ações cujo nome começa com a palavra "Obter", conforme o seguinte:

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

Para especificar todas as operações do Kinesis Data Streams, use o curinga \$1, como a seguir:

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

Para obter a lista completa das ações da API do Kinesis Data Streams, consulte a [Referência de API do Amazon Kinesis](https://docs.aws.amazon.com/kinesis/latest/APIReference/).

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

Cada declaração de política do IAM se aplica aos recursos que você especifica usando seus ARNs.

Use o seguinte formato de recursos do ARN para os fluxos de dados do Kinesis:

```
arn:aws:kinesis:region:account-id:stream/stream-name
```

Por exemplo:

```
"Resource": arn:aws:kinesis:*:111122223333:stream/my-stream
```

## Exemplo de políticas para o Kinesis Data Streams
<a name="kinesis-using-iam-examples"></a>

As políticas de exemplo a seguir demonstram como é possível controlar o acesso do usuário aos fluxos de dados do Kinesis.

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

**Example**  
 Esta política permite que um usuário ou grupo execute as operações `DescribeStreamSummary`, `GetShardIterator` e `GetRecords` no fluxo especificado e `ListStreams` em qualquer stream. Esta política pode ser aplicada a usuários que devem conseguir obter dados de um fluxo específico.     
****  

```
{
    "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 que um usuário ou grupo use a operação `PutRecord` com qualquer um dos streams da conta. Esta política pode ser aplicada a usuários que devem conseguir adicionar registros de dados a todos os streams em uma conta.    
****  

```
{
    "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 que um usuário ou grupo use qualquer operação do Kinesis Data Streams no fluxo especificado. Esta política poderia ser aplicada a usuários que devem ter controle administrativo por meio de um fluxo específico.    
****  

```
{
    "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 que um usuário ou grupo use qualquer operação do Kinesis Data Streams em qualquer fluxo em uma conta. Como esta política concede acesso total a todos os fluxos, deve-se restringi-la somente aos administradores.    
****  

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

------

## Compartilhamento do fluxo de dados com outra conta
<a name="sharing-data-streams"></a>

**nota**  
 Atualmente, a Kinesis Producer Library não é compatível com a a especificação de um ARN de fluxo ao gravar em um fluxo de dados. Use o AWS SDK se quiser gravar em um stream de dados entre contas. 

Anexe uma [política baseada em recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) ao fluxo de dados para conceder acesso a outra conta, a um usuário do IAM ou a um perfil do IAM. As políticas baseadas em recursos são documentos de política JSON anexadas a um recurso, como um fluxo de dados. Essas políticas concedem permissão para a [entidade principal especificada](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) executar ações específicas nesse recurso e definem sob quais condições isso se aplica. Uma política pode ter várias declarações. É necessário especificar um principal em uma política baseada em recursos. Os diretores podem incluir contas, usuários, funções, usuários federados ou AWS serviços. É possível configurar políticas no console do Kinesis Data Streams, na API ou no SDK. 

Observe que compartilhar o acesso a consumidores registrados, como o [Enhanced Fan Out](https://docs.aws.amazon.com/streams/latest/dev/enhanced-consumers.html), exige uma política tanto no ARN do fluxo de dados quanto no ARN do consumidor. 

### Ativação do acesso entre contas
<a name="sharing-data-streams-enabling"></a>

Para permitir o acesso entre contas, é possível especificar uma conta inteira ou as entidades do IAM em outra conta como a entidade principal em uma política baseada em atributo. Adicionar uma entidade principal entre contas à política baseada em recurso é apenas metade da tarefa de estabelecimento da relação de confiança. Quando o principal e o recurso estão em AWS contas separadas, você também deve usar uma política baseada em identidade para conceder ao principal acesso ao recurso. No entanto, se uma política baseada em recurso conceder acesso a uma entidade principal na mesma conta, nenhuma política baseada em identidade adicional será necessária. 

Para obter mais informações sobre como usar políticas baseadas em recursos para acesso entre contas, consulte [Acesso a recursos entre contas no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html).

Os administradores de fluxo de dados podem usar AWS Identity and Access Management políticas para especificar quem tem acesso ao quê. Ou seja, qual *entidade principal* pode executar *ações* em quais *recursos* e em que *condições*. O elemento `Action` de uma política JSON descreve as ações que podem ser usadas para permitir ou negar acesso em uma política. As ações de política geralmente têm o mesmo nome da operação de AWS API associada. 

Ações do Kinesis Data Streams que podem ser compartilhadas:


| Ação | Nível de acesso | 
| --- | --- | 
| [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) | Fluxo de dados | 
| [GetRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html) | Fluxo de dados | 
| [GetShardIterator](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html) | Fluxo de dados | 
| [ListShards](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html) | Fluxo de dados | 
| [PutRecord](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html) | Fluxo de dados | 
| [PutRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecords.html) | Fluxo de dados | 
| [SubscribeToShard](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_SubscribeToShard.html) | Consumidor | 

Veja a seguir exemplos do uso de uma política baseada em recursos para conceder acesso entre contas ao fluxo de dados ou ao consumidor registrado. 

Para realizar uma ação entre contas, é necessário especificar o ARN do fluxo para acesso ao fluxo de dados e o ARN do consumidor para o acesso do consumidor registrado. 

### Exemplo de políticas baseadas em recursos para fluxo de dados do Kinesis
<a name="kinesis-stream-sharing-iam-examples"></a>

Compartilhar um consumidor registrado envolve uma política de fluxo de dados e uma política de consumidor devido às ações necessárias. 

**nota**  
Veja os seguintes exemplos de valores válidos para `Principal`:  
`{"AWS": "123456789012"}`
Usuário do IAM: `{"AWS": "arn:aws:iam::123456789012:user/user-name"}`
Perfil do IAM: `{"AWS":["arn:aws:iam::123456789012:role/role-name"]}`
Várias entidades principais (pode ser uma combinação de contas, usuários, perfis): `{"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**  
Declaração de política de fluxo de dados:     
****  

```
{
    "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"
        }
    ]
}
```
Declaração 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"
        }
    ]
}
```
Não há suporte para o caractere curinga (\$1) no campo de ações ou entidade principal, a fim de manter o princípio do privilégio mínimo. 

------

### Gerenciamento da política para o fluxo de dados de forma programática
<a name="sharing-data-streams-managing-policy"></a>

Além do Console de gerenciamento da AWS, o Kinesis Data Streams tem três APIS para gerenciar sua política de stream de dados: 
+ [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 anexar ou substituir uma política de um fluxo de dados ou consumidor. Use `GetResourcePolicy` para verificar e visualizar uma política do fluxo de dados ou consumidor especificado. Use `DeleteResourcePolicy` para excluir uma política do fluxo de dados ou consumidor especificado. 

### Limites de políticas
<a name="sharing-data-streams-validating"></a>

As políticas de recursos do Kinesis Data Streams têm as restrições a seguir. 
+ Curingas (\$1) não são aceitos para ajudar a impedir que o acesso amplo seja concedido por meio de políticas de recursos diretamente vinculadas a um fluxo de dados ou consumidor registrado. Além disso inspecione com cuidado as seguintes políticas para garantir que elas não concedam acesso amplo:
  + Políticas baseadas em identidade vinculadas aos AWS diretores associados (por exemplo, funções do IAM)
  + Políticas baseadas em recursos anexadas aos AWS recursos associados (por exemplo, chaves AWS Key Management Service KMS)
+ AWS Os diretores de serviço não recebem suporte para diretores para evitar possíveis deputados [confusos](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html). 
+ Não há suporte para entidades principais federadas. 
+ Usuários canônicos não IDs são suportados. 
+ O tamanho da política não pode exceder 20 kB. 

### Compartilhamento de acesso a dados criptografados
<a name="sharing-access-to-encrypted-data-1"></a>

Se você habilitou a criptografia do lado do servidor para um fluxo de dados com chave KMS AWS gerenciada e deseja compartilhar o acesso por meio de uma política de recursos, deve passar a usar a chave gerenciada pelo cliente (CMK). Para obter mais informações, consulte [O que é criptografia no lado do servidor para o Kinesis Data Streams?](what-is-sse.md). Além disso, deve-se permitir que as entidades principais de compartilhamento tenham acesso à sua CMK, usando os recursos de compartilhamento entre contas do KMS. Certifique-se também de fazer a alteração nas políticas do IAM para as entidades principais de compartilhamento. Para ter mais informações, consulte o tópico sobre como [Permitir que usuários de outras contas utilizem uma chave do KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html).

## Configurar uma AWS Lambda função para ler do Kinesis Data Streams em outra conta
<a name="sharing-data-streams-example"></a>

Para ver um exemplo de como configurar uma função do Lambda para ler do Kinesis Data Streams em outra conta, consulte [Compartilhe o acesso com funções entre contas AWS Lambda](resource-based-policy-examples.md#Resource-based-policy-examples-lambda). 

# Compartilhamento de acesso usando políticas baseadas em recursos
<a name="resource-based-policy-examples"></a>

**nota**  
Atualizar uma política existente baseada em recursos significa substituir a atual, portanto, certifique-se de incluir todas as informações necessárias em sua nova política. 

## Compartilhe o acesso com funções entre contas AWS Lambda
<a name="Resource-based-policy-examples-lambda"></a>

**Operador do Lambda**

1. Acesse o [console do IAM](https://console.aws.amazon.com/iam/) para criar uma função do IAM que será usada como a função de [execução do Lambda para sua AWS Lambda função](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). Inclua a política do IAM gerenciada `AWSLambdaKinesisExecutionRole` que tem as permissões de invocação necessárias do Kinesis Data Streams e do Lambda. Essa política também concede acesso a todos os possíveis recursos do Kinesis Data Streams aos quais você possa ter acesso. 

1. No [AWS Lambda console](https://console.aws.amazon.com/lambda/home), crie uma AWS Lambda função [para processar registros em um stream de dados do Kinesis Data Streams](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html) e, durante a configuração da função de execução, escolha a função que você criou na etapa anterior. 

1. Forneça o perfil de execução ao proprietário do recurso do Kinesis Data Streams para configurar a política de recursos. 

1. Conclua a configuração da função do Lambda. 

**Proprietário do recurso do Kinesis Data Streams**

1. Obtenha o perfil de execução entre contas do Lambda que invocará a função do Lambda. 

1. No console do Amazon Kinesis Data Streams, escolha o fluxo de dados. Escolha a guia **Compartilhamento de fluxo de dados** e clique no botão **Criar política de compartilhamento** para iniciar o editor visual de políticas. Para compartilhar um consumidor registrado em um fluxo de dados, escolha o consumidor e, em seguida, escolha **Criar política de compartilhamento**. Também é possível escrever a política JSON diretamente. 

1. Especifique o perfil de execução entre contas do Lambda como a entidade principal e as ações exatas do Kinesis Data Streams com as quais o acesso seja compartilhado. Certifique-se de incluir a ação `kinesis:DescribeStream`. Para obter mais informações sobre exemplos de políticas de recursos do Kinesis Data Streams, consulte [Exemplo de políticas baseadas em recursos para fluxo de dados do Kinesis](controlling-access.md#kinesis-stream-sharing-iam-examples).

1. Escolha **Criar política** ou use o [PutResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutResourcePolicy.html)para anexar a política ao seu recurso. 

## Compartilhamento de acesso com consumidores de várias contas da KCL
<a name="Resource-based-policy-examples-kcl-consumers"></a>
+ Se estiver usando a KCL 1.x, verifique se é a versão KCL 1.15.0 ou superior. 
+ Se estiver usando a KCL 2.x, verifique se é a versão KCL 2.5.3 ou superior. 

**Operador da KCL**

1. Forneça ao proprietário do recurso seu usuário do IAM ou o perfil do IAM que executará aplicação KCL. 

1. Peça ao proprietário do recurso o fluxo de dados ou o ARN do consumidor. 

1. Certifique-se de especificar o ARN do fluxo fornecido como parte da configuração da KCL. 
   + Para KCL 1.x: use o [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)construtor e forneça o ARN do fluxo. 
   + Para o KCL 2.x: você pode fornecer apenas o ARN do stream ou para a biblioteca de cliente [StreamTracker](https://github.com/awslabs/amazon-kinesis-client/blob/master/amazon-kinesis-client/src/main/java/software/amazon/kinesis/processor/StreamTracker.java)do 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 StreamTracker, forneça o ARN do stream e o Epoch de criação a partir da tabela de lease do DynamoDB que é gerada pela biblioteca. Se você quiser ler de um consumidor registrado compartilhado, como o Enhanced Fan-Out, use StreamTracker e também forneça o ARN do consumidor.

**Proprietário do recurso do Kinesis Data Streams**

1. Obtenha o usuário do IAM ou o perfil do IAM de várias contas que executará a aplicação KCL. 

1. No console do Amazon Kinesis Data Streams, escolha o fluxo de dados. Escolha a guia **Compartilhamento de fluxo de dados** e clique no botão **Criar política de compartilhamento** para iniciar o editor visual de políticas. Para compartilhar um consumidor registrado em um fluxo de dados, escolha o consumidor e, em seguida, escolha **Criar política de compartilhamento**. Você também pode escrever a política JSON diretamente. 

1. Especifique o usuário do IAM ou o perfil do IAM da aplicação KCL de várias contas como entidade principal e as ações exatas do Kinesis Data Streams às quais o acesso seja compartilhado. Para obter mais informações sobre exemplos de políticas de recursos do Kinesis Data Streams, consulte [Exemplo de políticas baseadas em recursos para fluxo de dados do Kinesis](controlling-access.md#kinesis-stream-sharing-iam-examples). 

1. Escolha **Criar política** ou use o [PutResourcePolicy](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutResourcePolicy.html)para anexar a política ao seu recurso. 

## Compartilhamento de acesso a dados criptografados
<a name="sharing-access-to-encrypted-data"></a>

Se você habilitou a criptografia do lado do servidor para um fluxo de dados com chave KMS AWS gerenciada e deseja compartilhar o acesso por meio de uma política de recursos, deve passar a usar a chave gerenciada pelo cliente (CMK). Para obter mais informações, consulte [O que é criptografia no lado do servidor para o Kinesis Data Streams?](what-is-sse.md). Além disso, deve-se permitir que as entidades principais de compartilhamento tenham acesso à sua CMK, usando os recursos de compartilhamento entre contas do KMS. Certifique-se também de fazer a alteração nas políticas do IAM para as entidades principais de compartilhamento. Para ter mais informações, consulte o tópico sobre como [Permitir que usuários de outras contas utilizem uma chave do KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html).