

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á.

# Gerenciamento de identidade e acesso para o Amazon Managed Service for Apache Flink
<a name="security-iam"></a>





AWS Identity and Access Management (IAM) é uma ferramenta AWS service (Serviço da AWS) que ajuda o administrador a controlar com segurança o acesso aos AWS recursos. Os administradores do IAM controlam quem pode ser *autenticado* (conectado) e *autorizado* (tem permissões) para usar os recursos do Managed Service for Apache Flink. O IAM é um AWS service (Serviço da AWS) que você pode usar sem custo adicional.

**Topics**
+ [Público](#security_iam_audience)
+ [Autenticação com identidades](#security_iam_authentication)
+ [Gerenciar o acesso usando políticas](#security_iam_access-manage)
+ [Como o Amazon Managed Service for Apache Flink funciona com o IAM](security_iam_service-with-iam.md)
+ [Exemplos de políticas baseadas em identidade do Amazon Managed Service for Apache Flink](security_iam_id-based-policy-examples.md)
+ [Solução de problemas de identidade e acesso para o Amazon Managed Service for Apache Flink](security_iam_troubleshoot.md)
+ [Prevenção do problema "confused deputy" entre serviços](iam-cross-service-confused-deputy-prevention.md)

## Público
<a name="security_iam_audience"></a>

A forma como você usa AWS Identity and Access Management (IAM) difere com base na sua função:
+ **Usuário do serviço**: solicite permissões ao seu administrador se você não conseguir acessar os atributos (consulte [Solução de problemas de identidade e acesso para o Amazon Managed Service for Apache Flink](security_iam_troubleshoot.md)).
+ **Administrador do serviço**: determine o acesso do usuário e envie solicitações de permissão (consulte [Como o Amazon Managed Service for Apache Flink funciona com o IAM](security_iam_service-with-iam.md))
+ **Administrador do IAM**: escreva políticas para gerenciar o acesso (consulte [Exemplos de políticas baseadas em identidade do Amazon Managed Service for Apache Flink](security_iam_id-based-policy-examples.md))

## Autenticação com identidades
<a name="security_iam_authentication"></a>

A autenticação é a forma como você faz login AWS usando suas credenciais de identidade. Você deve estar autenticado como usuário do IAM ou assumindo uma função do IAM. Usuário raiz da conta da AWS

Você pode fazer login como uma identidade federada usando credenciais de uma fonte de identidade como Centro de Identidade do AWS IAM (IAM Identity Center), autenticação de login único ou credenciais. Google/Facebook Para ter mais informações sobre como fazer login, consulte [Como fazer login em sua Conta da AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) no *Guia do usuário do Início de Sessão da AWS *.

Para acesso programático, AWS fornece um SDK e uma CLI para assinar solicitações criptograficamente. Para ter mais informações, consulte [AWS Signature Version 4 para solicitações de API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) no *Guia do usuário do IAM*.

### Conta da AWS usuário root
<a name="security_iam_authentication-rootuser"></a>

 Ao criar um Conta da AWS, você começa com uma identidade de login chamada *usuário Conta da AWS raiz* que tem acesso completo a todos Serviços da AWS os recursos. É altamente recomendável não usar o usuário-raiz em tarefas diárias. Consulte as tarefas que exigem credenciais de usuário-raiz em [Tarefas que exigem credenciais de usuário-raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) no *Guia do usuário do IAM*. 

### Identidade federada
<a name="security_iam_authentication-federated"></a>

Como prática recomendada, exija que os usuários humanos usem a federação com um provedor de identidade para acessar Serviços da AWS usando credenciais temporárias.

Uma *identidade federada* é um usuário do seu diretório corporativo, provedor de identidade da web ou Directory Service que acessa Serviços da AWS usando credenciais de uma fonte de identidade. As identidades federadas assumem funções que oferecem credenciais temporárias.

Para o gerenciamento de acesso centralizado, recomendamos Centro de Identidade do AWS IAM. Para saber mais, consulte [O que é o IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

### Usuários e grupos do IAM
<a name="security_iam_authentication-iamuser"></a>

Um *[usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* é uma identidade com permissões específicas para uma única pessoa ou aplicação. É recomendável usar credenciais temporárias, em vez de usuários do IAM com credenciais de longo prazo. Para obter mais informações, consulte [Exigir que usuários humanos usem a federação com um provedor de identidade para acessar AWS usando credenciais temporárias](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) no *Guia do usuário do IAM*.

Um [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) especifica um conjunto de usuários do IAM e facilita o gerenciamento de permissões para grandes conjuntos de usuários. Para ter mais informações, consulte [Casos de uso de usuários do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) no *Guia do usuário do IAM*.

### Perfis do IAM
<a name="security_iam_authentication-iamrole"></a>

Uma *[perfil do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* é uma identidade com permissões específicas que oferece credenciais temporárias. Você pode assumir uma função [mudando de um usuário para uma função do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) ou chamando uma operação de AWS API AWS CLI ou. Para saber mais, consulte [Métodos para assumir um perfil](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) no *Manual do usuário do IAM*.

Os perfis do IAM são úteis para acesso de usuário federado, permissões de usuário do IAM temporárias, acesso entre contas, acesso entre serviços e aplicações em execução no Amazon EC2. Consulte mais informações em [Acesso a recursos entre contas no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) no *Guia do usuário do IAM*.

## Gerenciar o acesso usando políticas
<a name="security_iam_access-manage"></a>

Você controla o acesso AWS criando políticas e anexando-as a AWS identidades ou recursos. Uma política define permissões quando associada a uma identidade ou recurso. AWS avalia essas políticas quando um diretor faz uma solicitação. A maioria das políticas é armazenada AWS como documentos JSON. Para ter mais informações sobre documentos de política JSON, consulte [Visão geral das políticas JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) no *Guia do usuário do IAM*.

Por meio de políticas, os administradores especificam quem tem acesso a que, definindo qual **entidade principal** pode realizar **ações** em quais **recursos** e sob quais **condições**.

Por padrão, usuários e perfis não têm permissões. Um administrador do IAM cria políticas do IAM e as adiciona aos perfis, os quais os usuários podem então assumir. As políticas do IAM definem permissões, independentemente do método usado para realizar a operação.

### Políticas baseadas em identidade
<a name="security_iam_access-manage-id-based-policies"></a>

As políticas baseadas em identidade são documentos de políticas de permissão JSON que você anexa a uma identidade (usuário, grupo ou perfil). Essas políticas controlam quais ações as identidades podem realizar, em quais recursos e sob quais condições. Para saber como criar uma política baseada em identidade, consulte [Definir permissões personalizadas do IAM com as políticas gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) no *Guia do Usuário do IAM*.

As políticas baseadas em identidade podem ser políticas *em linha* (incorporadas diretamente em uma única identidade) ou *políticas gerenciadas* (políticas autônomas anexadas a várias identidades). Para saber como escolher entre uma política gerenciada e políticas em linha, consulte [Escolher entre políticas gerenciadas e políticas em linha](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) no *Guia do usuário do IAM*.

### Políticas baseadas em recursos
<a name="security_iam_access-manage-resource-based-policies"></a>

Políticas baseadas em recursos são documentos de políticas JSON que você anexa a um recurso. Entre os exemplos estão *políticas de confiança de perfil* do IAM e *políticas de bucket* do Amazon S3. Em serviços compatíveis com políticas baseadas em recursos, os administradores de serviço podem usá-las para controlar o acesso a um recurso específico. É necessário [especificar uma entidade principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) em uma política baseada em recursos.

Políticas baseadas em recursos são políticas em linha localizadas nesse serviço. Você não pode usar políticas AWS gerenciadas do IAM em uma política baseada em recursos.

### Outros tipos de política
<a name="security_iam_access-manage-other-policies"></a>

AWS oferece suporte a tipos de políticas adicionais que podem definir o máximo de permissões concedidas por tipos de políticas mais comuns:
+ **Limites de permissões**: definem o número máximo de permissões que uma política baseada em identidade pode conceder a uma entidade do IAM. Para saber mais sobre limites de permissões, consulte [Limites de permissões para identidades do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) no *Guia do usuário do IAM*.
+ **Políticas de controle de serviço (SCPs)** — Especifique as permissões máximas para uma organização ou unidade organizacional em AWS Organizations. Para saber mais, consulte [Políticas de controle de serviço](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) no *Guia do usuário do AWS Organizations *.
+ **Políticas de controle de recursos (RCPs)** — Defina o máximo de permissões disponíveis para recursos em suas contas. Para obter mais informações, consulte [Políticas de controle de recursos (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) no *Guia AWS Organizations do usuário*.
+ **Políticas de sessão**: políticas avançadas transmitidas como um parâmetro durante a criação de uma sessão temporária para um perfil ou um usuário federado. Para saber mais, consulte [Políticas de sessão](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) no *Guia do usuário do IAM*.

### Vários tipos de política
<a name="security_iam_access-manage-multiple-policies"></a>

Quando vários tipos de política são aplicáveis a uma solicitação, é mais complicado compreender as permissões resultantes. Para saber como AWS determinar se uma solicitação deve ser permitida quando vários tipos de políticas estão envolvidos, consulte [Lógica de avaliação de políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) no *Guia do usuário do IAM*.

# Como o Amazon Managed Service for Apache Flink funciona com o IAM
<a name="security_iam_service-with-iam"></a>





No Amazon MSF, o IAM é usado nos seguintes contextos diferentes:
+ [Permissões do aplicativo](#security_iam_application_permissions): controle o acesso do aplicativo a recursos externos, como Amazon S3, Amazon Kinesis Data Streams ou Amazon DynamoDB, que usam autenticação IAM.
+ [Permissões de gerenciamento de aplicativos e controle do ciclo](#security_iam_application_management) de vida: controle o uso das ações da API Amazon MSF, como,, e [CreateApplication[StartApplication[UpdateApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_UpdateApplication.html)](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_StartApplication.html)](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CreateApplication.html), que controlam o ciclo de vida do aplicativo. Para obter uma lista completa de todas as ações de API do Amazon MSF que você pode especificar no elemento `Action` de uma declaração de política do IAM, consulte [Ações definidas pelo Amazon Kinesis Analytics V2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisanalyticsv2.html#amazonkinesisanalyticsv2-actions-as-permissions) na *Referência de autorização de serviço*.

**Topics**
+ [Permissões para aplicativos](#security_iam_application_permissions)
+ [Permissões de gerenciamento de aplicativo e controle do ciclo de vida](#security_iam_application_management)
+ [Políticas baseadas em identidade para o Managed Service for Apache Flink](#security_iam_service-with-iam-id-based-policies)
+ [Políticas baseadas em recursos dentro do Managed Service for Apache Flink](#security_iam_service-with-iam-resource-based-policies)
+ [Listas de controle de acesso (ACLs) no Managed Service para Apache Flink](#security_iam_service-with-iam-acls)
+ [Perfis de serviço para o Managed Service for Apache Flink](#security_iam_service-with-iam-roles-service)
+ [Perfis vinculadas ao serviço do Managed Service for Apache Flink](#security_iam_service-with-iam-roles-service-linked)

## Permissões para aplicativos
<a name="security_iam_application_permissions"></a>

Você controla as permissões do IAM de um aplicativo Amazon MSF com o perfil do IAM atribuído ao aplicativo, como parte da configuração dele. Esse perfil do IAM determina as permissões do aplicativo para acessar outros serviços, como Amazon S3, Kinesis Data Streams ou DynamoDB, que usam o IAM para autorização.

**Atenção**  
A alteração das permissões de um perfil de serviço pode interromper a funcionalidade do Amazon MSF. Certifique-se de não remover as permissões do aplicativo para baixar o código do aplicativo do bucket do Amazon S3 e enviar registros para a Amazon. CloudWatch

Não existe suporte para atribuir permissões ao aplicativo usando [políticas baseadas em recursos](#security_iam_service-with-iam-resource-based-policies). Você não pode especificar um aplicativo Amazon MSF como entidade principal em uma política anexada ao recurso a ser acessado.

**Topics**
+ [Permissões para acessar o código e os logs do aplicativo](#security_iam_permissions_access_application_code)
+ [Prevenção do problema "confused deputy" entre serviços](#security_iam_cross_service_confused_deputy)

### Permissões para acessar o código e os logs do aplicativo
<a name="security_iam_permissions_access_application_code"></a>

O Amazon MSF também usa a função IAM do aplicativo para acessar o código do aplicativo carregado em um bucket do Amazon S3 e para gravar os registros do aplicativo no Amazon CloudWatch Logs.

Quando você cria ou atualiza o aplicativo usando o Console de gerenciamento da AWS, escolha **Criar/atualizar a função do IAM com as políticas necessárias** <role-name>na configuração do aplicativo, o Amazon MSF cria e modifica automaticamente a função do IAM atribuindo as permissões necessárias ao Amazon S3 e ao Logs. CloudWatch 

Se você criar o perfil do IAM manualmente ou se criar e gerenciar o aplicativo usando ferramentas de automação, deverá adicionar as seguintes permissões ao perfil do IAM do aplicativo.

------
#### [ JSON ]

****  

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

------

### Prevenção do problema "confused deputy" entre serviços
<a name="security_iam_cross_service_confused_deputy"></a>

Quando um aplicativo Amazon MSF chama um aplicativo diferente AWS service (Serviço da AWS), você pode fornecer permissões de acesso mais granulares. Por exemplo, se um perfil do IAM for reutilizado em vários aplicativos, um aplicativo poderá ter acesso indevido a um recurso. Isso é conhecido como [problema do deputado confuso](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html). Para obter informações sobre como o recurso acessado pode restringir o acesso a um aplicativo Amazon MSF específico, consulte [Prevenção do problema "confused deputy" entre serviços](iam-cross-service-confused-deputy-prevention.md).

## Permissões de gerenciamento de aplicativo e controle do ciclo de vida
<a name="security_iam_application_management"></a>

As ações para gerenciar o aplicativo e seu ciclo de vida, como, e [CreateApplication[StartApplication[UpdateApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_UpdateApplication.html)](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_StartApplication.html)](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CreateApplication.html), são controladas por meio de políticas baseadas em identidade associadas ao recurso que executa a ação, como um usuário do IAM, um grupo do IAM ou um recurso como chamar AWS Lambda a API do Amazon MSF.

**nota**  
A API e o SDK que controlam o ciclo de vida do aplicativo Amazon MSF são chamados de Amazon Kinesis Analytics V2, por motivos de compatibilidade com versões anteriores.

Não há suporte para a atribuição de permissões para ações do ciclo de vida do aplicativo usando políticas baseadas em recursos anexadas ao aplicativo Amazon MSF. O perfil do IAM do aplicativo não é usado para controlar o acesso às ações do ciclo de vida do aplicativo. Você não deve adicionar permissões de ciclo de vida do aplicativo ao perfil do aplicativo.

A tabela a seguir lista os recursos do IAM que você pode usar com ações de ciclo de vida de aplicativos do Amazon MSF.


| Recurso do IAM | Suporte do Amazon Managed Service for Apache Flink | 
| --- | --- | 
|  [Políticas baseadas em identidade](#security_iam_service-with-iam-id-based-policies)  |   Sim  | 
|  [Políticas baseadas em recurso](#security_iam_service-with-iam-resource-based-policies)  |  Não  | 
|  [Ações de políticas](#security_iam_service-with-iam-id-based-policies-actions)  |   Sim  | 
|  [Recursos de políticas](#security_iam_service-with-iam-id-based-policies-resources)  |   Sim  | 
|  [Chaves de condição de políticas](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |  Sim  | 
|  [ACLs](#security_iam_service-with-iam-acls)  |  Não  | 
|  [ABAC (tags em políticas)](#security_iam_service-with-iam-tags)  |   Sim  | 
|  [Credenciais temporárias](#security_iam_service-with-iam-roles-tempcreds)  |   Sim  | 
|  [Permissões de entidade principal entre serviços](#security_iam_service-with-iam-principal-permissions)  |   Sim  | 
|  [Perfis de serviço](#security_iam_service-with-iam-roles-service)  |  Não  | 
|  [Funções vinculadas ao serviço](#security_iam_service-with-iam-roles-service-linked)  |  Não  | 
+ Para uma visão de alto nível de como o Managed Service for Apache Flink e outros Serviços da AWS funcionam com a maioria dos recursos do IAM, consulte [Serviços da AWS esse trabalho com o IAM no Guia do](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) usuário do *IAM*.
+ Para mais informações sobre os recursos, ações e chaves contextuais de condição específicas do serviço que você pode usar em políticas de permissão do IAM, consulte [Ações, recursos e chaves de condição do Amazon Kinesis Analytics V2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisanalyticsv2.html) na *Referência de autorização do serviço*.

**Topics**
+ [Ações de políticas](#security_iam_service-with-iam-id-based-policies-actions)
+ [Recursos de políticas](#security_iam_service-with-iam-id-based-policies-resources)
+ [Chaves de condição de políticas](#security_iam_service-with-iam-id-based-policies-conditionkeys)
+ [ABAC](#security_iam_service-with-iam-tags)
+ [Credenciais temporárias](#security_iam_service-with-iam-roles-tempcreds)
+ [Permissões de entidade principal](#security_iam_service-with-iam-principal-permissions)

### Ações de políticas de ciclo de vida do aplicativo
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Compatível com ações de políticas:** sim

Os administradores podem usar políticas AWS JSON 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. Incluem ações em uma política para conceder permissões para executar a operação associada.

As ações de política no Amazon MSF usam o prefixo `kinesisanalytics` antes da ação. Amazon MSF APIs e SDKs use o `Amazon Kinesis Analytics V2` prefixo.

Para especificar várias ações em uma única declaração, separe-as com vírgulas. O exemplo a seguir mostra a sintaxe para especificar ações políticas do Amazon MSF.

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

Também é possível especificar várias ações usando curingas (\$1). Por exemplo, para especificar todas as ações que começam com a palavra `Describe`, inclua a ação a seguir:

```
"Action": "kinesisanalytics:Describe*"
```

Para ver uma lista completa de todas as ações da API do Amazon MSF que você pode especificar no elemento `Action` de uma declaração de política do IAM, consulte [Ações definidas pelo Amazon Kinesis Analytics V2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisanalyticsv2.html#amazonkinesisanalyticsv2-actions-as-permissions).

Para ver exemplos de políticas baseadas em identidade do Amazon MSF, consulte [Exemplos de políticas baseadas em identidade](security_iam_id-based-policy-examples.md).

### Recursos de políticas de ciclo de vida do aplicativo
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Compatível com recursos de políticas:** sim

Os administradores podem usar políticas AWS JSON 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 de política JSON `Resource` especifica o objeto ou os objetos aos quais a ação se aplica. Como prática recomendada, especifique um recurso usando seu [nome do recurso da Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Para ações que não oferecem compatibilidade com permissões em nível de recurso, use um curinga (\$1) para indicar que a instrução se aplica a todos os recursos.

```
"Resource": "*"
```

As permissões para ações do ciclo de vida do aplicativo Amazon MSF são definidas para **cada aplicativo**. O elemento `Resource` JSON em uma política do IAM define o aplicativo Amazon MSF ao qual as permissões se aplicam.

Você pode atribuir permissão a um único aplicativo especificando o ARN dele ou a um grupo de aplicativos usando curingas. O exemplo a seguir mostra a sintaxe do elemento `Resource`.

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

Você também pode atribuir permissões para controlar um subconjunto de aplicativos usando curingas. Por exemplo, você pode atribuir permissões para controlar todos os aplicativos cujo nome começa com um prefixo específico.

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

### Chaves de condição de política do ciclo de vida do aplicativo
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Compatível com chaves de condição de política específicas de serviço:** sim

Os administradores podem usar políticas AWS JSON 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 `Condition` especifica quando as instruções são executadas com base em critérios definidos. É possível criar expressões condicionais que usem [agentes de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), como “igual a” ou “menor que”, para fazer a condição da política corresponder aos valores na solicitação. Para ver todas as chaves de condição AWS globais, consulte as [chaves de contexto de condição AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) no *Guia do usuário do IAM*.

É possível usar chaves de condição para controlar permissões para ações do ciclo de vida do aplicativo do Amazon MSF. Para ver uma lista das chaves de condição do Managed Service for Apache Flink, consulte [Chaves de condição para o Amazon Managed Service for Apache Flink](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskinesisanalytics.html#awskinesisanalytics-policy-keys) na *Referência de autorização de serviço*. Para saber com quais ações e recursos você pode usar a chave de condição, consulte [Ações definidas pelo Amazon Managed Service for Apache Flink](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskinesisanalytics.html#awskinesisanalytics-actions-as-permissions).

### Controle de acesso por atributo (ABAC) com o Managed Service for Apache Flink
<a name="security_iam_service-with-iam-tags"></a>

**Compatível com ABAC (tags em políticas):** sim

É possível implementar o controle de acesso por atributo (ABAC) usando chaves de condição, que é uma estratégia de autorização que define as permissões com base em atributos. Em AWS, esses atributos são chamados de *tags*. Você pode anexar tags a entidades do IAM (usuários ou funções) e a vários AWS recursos. Marcar de entidades e atributos é a primeira etapa do ABAC. Em seguida, você cria políticas de ABAC para permitir operações quando a tag da entidade principal corresponder à tag do recurso que ela estiver tentando acessar.

O ABAC é útil em ambientes que estão crescendo rapidamente e ajuda em situações em que o gerenciamento de políticas se torna um problema.

Para controlar o acesso baseado em tags, forneça informações sobre as tags no [elemento de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de uma política usando as `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` ou chaves de condição `aws:TagKeys`. Se um serviço for compatível com as três chaves de condição para cada tipo de recurso, o valor será **Sim** para o serviço. Se um serviço for compatível com as três chaves de condição somente para alguns tipos de recursos, o valor será **Parcial** 
+ Para acessar mais informações sobre o ABAC, consulte [Definir permissões com base em atributos com autorização ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html).
+ Para ver um tutorial com as etapas de configuração do ABAC, consulte o [tutorial do IAM: Definir permissões para acessar AWS recursos com base em tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html).

### Usar credenciais temporárias
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Compatível com credenciais temporárias:** sim

As ações do ciclo de vida do aplicativo do Amazon MSF oferecem suporte a credenciais temporárias.

Você está usando credenciais temporárias se fizer login Console de gerenciamento da AWS usando qualquer método, exceto um nome de usuário e senha. Por exemplo, quando você acessa AWS usando o link de login único (SSO) da sua empresa, esse processo cria automaticamente credenciais temporárias. Você também cria automaticamente credenciais temporárias quando faz login no console como usuário e, em seguida, alterna perfis. Para obter mais informações sobre como alternar funções, consulte [Alternar de um usuário para um perfil do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html).

Você pode criar manualmente credenciais temporárias usando a AWS API AWS CLI ou. Essas credenciais temporárias podem então ser usadas para acessar o AWS. Recomendamos gerar credenciais temporárias dinamicamente em vez de usar chaves de acesso de longo prazo. Para obter mais informações, consulte [Credenciais de segurança temporárias no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html).

### Permissões de entidade principal entre serviços
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Compatibilidade com o recurso de encaminhamento de sessões de acesso (FAS):** sim

As ações do ciclo de vida do aplicativo Amazon MSF oferecem suporte às permissões da entidade principal entre serviços.

Quando você usa um usuário ou uma função do IAM para realizar ações AWS, você é considerado principal. Ao usar alguns serviços, você pode executar uma ação que inicia outra ação em um serviço diferente. As sessões de acesso direto (FAS) usam as permissões do principal chamando um AWS service (Serviço da AWS), combinadas com a solicitação AWS service (Serviço da AWS) de fazer solicitações aos serviços posteriores. As solicitações do FAS são feitas somente quando um serviço recebe uma solicitação que requer interações com outros Serviços da AWS ou com recursos para ser concluída. Nesse caso, você precisa ter permissões para executar ambas as ações. Para obter detalhes da política ao fazer solicitações de FAS, consulte [Sessões de acesso direto](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html).

## Políticas baseadas em identidade para o Managed Service for Apache Flink
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Compatível com políticas baseadas em identidade:** sim

As políticas baseadas em identidade são documentos de políticas de permissões JSON que podem ser anexados a uma identidade, como usuário do IAM, grupo de usuários ou perfil. Essas políticas controlam quais ações os usuários e perfis podem realizar, em quais recursos e em que condições. Para saber como criar uma política baseada em identidade, consulte [Definir permissões personalizadas do IAM com as políticas gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) no *Guia do Usuário do IAM*.

Com as políticas baseadas em identidade do IAM, é possível especificar ações e recursos permitidos ou negados, assim como as condições sob as quais as ações são permitidas ou negadas. Para saber mais sobre todos os elementos que podem ser usados em uma política JSON, consulte [Referência de elemento de política JSON do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) no *Guia do usuário do IAM*.

### Exemplos de políticas baseadas em identidade para o Managed Service for Apache Flink
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Para visualizar exemplos de políticas baseadas em identidade do Managed Service for Apache Flink, consulte [Exemplos de políticas baseadas em identidade do Amazon Managed Service for Apache Flink](security_iam_id-based-policy-examples.md).

## Políticas baseadas em recursos dentro do Managed Service for Apache Flink
<a name="security_iam_service-with-iam-resource-based-policies"></a>

No momento, o Amazon Managed Service for Apache Flink não oferece suporte ao controle de acesso baseado em recurso.

## Listas de controle de acesso (ACLs) no Managed Service para Apache Flink
<a name="security_iam_service-with-iam-acls"></a>

**Suportes ACLs:** Não 

As listas de controle de acesso (ACLs) controlam quais diretores (membros da conta, usuários ou funções) têm permissões para acessar um recurso. ACLs são semelhantes às políticas baseadas em recursos, embora não usem o formato de documento de política JSON.

## Perfis de serviço para o Managed Service for Apache Flink
<a name="security_iam_service-with-iam-roles-service"></a>

**Compatível com perfis de serviço:** sim

 O perfil de serviço é um [perfil do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que um serviço assume para executar ações em seu nome. Um administrador do IAM pode criar, modificar e excluir um perfil de serviço do IAM. Para saber mais, consulte [Criar um perfil para delegar permissões a um AWS service (Serviço da AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) no *Guia do Usuário do IAM*. 

**Atenção**  
Alterar as permissões de um perfil de serviço pode prejudicar a funcionalidade do Managed Service for Apache Flink. Só edite os perfis de serviço quando o Managed Service for Apache Flink orientar você a fazê-lo.

## Perfis vinculadas ao serviço do Managed Service for Apache Flink
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Compatibilidade com perfis vinculados a serviços:** sim

 Uma função vinculada ao serviço é um tipo de função de serviço vinculada a um. AWS service (Serviço da AWS) O serviço pode assumir o perfil de executar uma ação em seu nome. As funções vinculadas ao serviço aparecem em você Conta da AWS e são de propriedade do serviço. Um administrador do IAM pode visualizar, mas não editar as permissões para perfis vinculados ao serviço. 

Para obter detalhes sobre como criar ou gerenciar perfis vinculados a serviços, consulte [Serviços da AWS que funcionam com o IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). Encontre um serviço na tabela que inclua um `Yes` na coluna **Perfil vinculado ao serviço**. Selecione o link **Sim** para visualizar a documentação da função vinculada a serviço desse serviço.

# Exemplos de políticas baseadas em identidade do Amazon Managed Service for Apache Flink
<a name="security_iam_id-based-policy-examples"></a>

Por padrão, os usuários e os perfis não têm permissão para criar ou modificar os recursos do Managed Service for Apache Flink. Para conceder permissão aos usuários para executar ações nos recursos que eles precisam, um administrador do IAM pode criar políticas do IAM.

Para aprender a criar uma política baseada em identidade do IAM ao usar esses documentos de política em JSON de exemplo, consulte [Criar políticas do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) no *Guia do usuário do IAM*.

*Para obter detalhes sobre ações e tipos de recursos definidos pelo Managed Service para Apache Flink, incluindo o formato do ARNs para cada um dos tipos de recursos, consulte [Ações, recursos e chaves de condição do Amazon Managed Service para Apache Flink](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskinesisanalytics.html) na Referência de autorização de serviço.*

**Topics**
+ [Práticas recomendadas de política](#security_iam_service-with-iam-policy-best-practices)
+ [Usando o console do Managed Service for Apache Flink](#security_iam_id-based-policy-examples-console)
+ [Permitir que os usuários visualizem suas próprias permissões](#security_iam_id-based-policy-examples-view-own-permissions)

## Práticas recomendadas de política
<a name="security_iam_service-with-iam-policy-best-practices"></a>

As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do Managed Service for Apache Flink em sua conta. Essas ações podem incorrer em custos para sua Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
+ **Comece com as políticas AWS gerenciadas e avance para as permissões de privilégios mínimos — Para começar a conceder permissões** aos seus usuários e cargas de trabalho, use as *políticas AWS gerenciadas* que concedem permissões para muitos casos de uso comuns. Eles estão disponíveis no seu Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo AWS cliente que sejam específicas para seus casos de uso. Para saber mais, consulte [Políticas gerenciadas pela AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou [Políticas gerenciadas pela AWS para funções de trabalho](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) no *Guia do usuário do IAM*.
+ **Aplique permissões de privilégio mínimo**: ao definir permissões com as políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Você faz isso definindo as ações que podem ser executadas em recursos específicos sob condições específicas, também conhecidas como *permissões de privilégio mínimo*. Para saber mais sobre como usar o IAM para aplicar permissões, consulte [Políticas e permissões no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) no *Guia do usuário do IAM*.
+ **Use condições nas políticas do IAM para restringir ainda mais o acesso**: é possível adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, é possível escrever uma condição de política para especificar que todas as solicitações devem ser enviadas usando SSL. Você também pode usar condições para conceder acesso às ações de serviço se elas forem usadas por meio de uma ação específica AWS service (Serviço da AWS), como CloudFormation. Para saber mais, consulte [Elementos da política JSON do IAM: condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) no *Guia do usuário do IAM*.
+ **Use o IAM Access Analyzer para validar suas políticas do IAM a fim de garantir permissões seguras e funcionais**: o IAM Access Analyzer valida as políticas novas e existentes para que elas sigam a linguagem de política do IAM (JSON) e as práticas recomendadas do IAM. O IAM Access Analyzer oferece mais de cem verificações de política e recomendações práticas para ajudar a criar políticas seguras e funcionais. Para saber mais, consulte [Validação de políticas do IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) no *Guia do Usuário do IAM*.
+ **Exigir autenticação multifator (MFA**) — Se você tiver um cenário que exija usuários do IAM ou um usuário root, ative Conta da AWS a MFA para obter segurança adicional. Para exigir MFA quando as operações de API forem chamadas, adicione condições de MFA às suas políticas. Para saber mais, consulte [Configuração de acesso à API protegido por MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) no *Guia do Usuário do IAM*.

Para saber mais sobre as práticas recomendadas do IAM, consulte [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*.

## Usando o console do Managed Service for Apache Flink
<a name="security_iam_id-based-policy-examples-console"></a>

Para acessar o console do Amazon Managed Service for Apache Flink, você deve ter um conjunto mínimo de permissões. Essas permissões devem autorizar você a listar e visualizar detalhes sobre os recursos do Managed Service for Apache Flink na sua Conta da AWS. Caso crie uma política baseada em identidade mais restritiva que as permissões mínimas necessárias, o console não funcionará como pretendido para entidades (usuários ou perfis) com essa política.

Você não precisa permitir permissões mínimas do console para usuários que estão fazendo chamadas somente para a API AWS CLI ou para a AWS API. Em vez disso, permita o acesso somente a ações que correspondam à operação de API que estiverem tentando executar.

Para garantir que usuários e funções ainda possam usar o console do Managed Service for Apache Flink, anexe também o Managed Service for Apache Flink `ConsoleAccess` ou a política `ReadOnly` AWS gerenciada às entidades. Para obter informações, consulte [Adicionar permissões a um usuário](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) no *Guia do usuário do IAM*.

## Permitir que os usuários visualizem suas próprias permissões
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Este exemplo mostra como criar uma política que permita que os usuários do IAM visualizem as políticas gerenciadas e em linha anexadas a sua identidade de usuário. Essa política inclui permissões para concluir essa ação no console ou programaticamente usando a API AWS CLI ou AWS .

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```







# Solução de problemas de identidade e acesso para o Amazon Managed Service for Apache Flink
<a name="security_iam_troubleshoot"></a>

Use as seguintes informações para ajudar a diagnosticar e corrigir problemas comuns que podem ser encontrados ao trabalhar com o Managed Service for Apache Flink e o IAM.

**Topics**
+ [Não tenho autorização para executar uma ação no Managed Service for Apache Flink](#security_iam_troubleshoot-no-permissions)
+ [Não estou autorizado a realizar iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Quero permitir que pessoas fora da minha AWS conta acessem meus recursos do Managed Service for Apache Flink](#security_iam_troubleshoot-cross-account-access)

## Não tenho autorização para executar uma ação no Managed Service for Apache Flink
<a name="security_iam_troubleshoot-no-permissions"></a>

Se isso Console de gerenciamento da AWS indicar que você não está autorizado a realizar uma ação, entre em contato com o administrador para obter ajuda. O administrador é a pessoa que forneceu o seu nome de usuário e senha.

O erro do exemplo a seguir ocorre quando o usuário `mateojackson` tenta usar o console para visualizar detalhes sobre um recurso do `my-example-widget` fictício, mas não tem as permissões fictícias do `Kinesis Analytics:GetWidget`.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: Kinesis Analytics:GetWidget on resource: my-example-widget
```

Neste caso, Mateo pede ao administrador para atualizar suas políticas e permitir o acesso ao recurso `my-example-widget` usando a ação `Kinesis Analytics:GetWidget`.

## Não estou autorizado a realizar iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Se você receber uma mensagem de erro informando que não tem autorização para executar a ação `iam:PassRole`, as suas políticas deverão ser atualizadas para permitir a passagem de um perfil para o Managed Service for Apache Flink.

Alguns Serviços da AWS permitem que você passe uma função existente para esse serviço em vez de criar uma nova função de serviço ou uma função vinculada ao serviço. Para fazer isso, é preciso ter permissões para passar o perfil para o serviço.

O erro de exemplo a seguir ocorre quando uma usuária do IAM chamada `marymajor` tenta usar o console para executar uma ação no Managed Service for Apache Flink. No entanto, a ação exige que o serviço tenha permissões concedidas por um perfil de serviço. Mary não tem permissões para passar o perfil para o serviço.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Nesse caso, as políticas de Mary devem ser atualizadas para permitir que ela realize a ação `iam:PassRole`.

Se precisar de ajuda, entre em contato com seu AWS administrador. Seu administrador é a pessoa que forneceu suas credenciais de login.

## Quero permitir que pessoas fora da minha AWS conta acessem meus recursos do Managed Service for Apache Flink
<a name="security_iam_troubleshoot-cross-account-access"></a>

É possível criar um perfil que os usuários de outras contas ou pessoas fora da organização podem usar para acessar seus recursos. É possível especificar quem é confiável para assumir o perfil. Para serviços que oferecem suporte a políticas baseadas em recursos ou listas de controle de acesso (ACLs), você pode usar essas políticas para conceder às pessoas acesso aos seus recursos.

Para saber mais, consulte:
+ Para saber se um Managed Service for Apache Flink oferece suporte a esses recursos, consulte [Como o Amazon Managed Service for Apache Flink funciona com o IAM](security_iam_service-with-iam.md).
+ Para saber como fornecer acesso aos seus recursos em todos os Contas da AWS que você possui, consulte Como [fornecer acesso a um usuário do IAM em outro Conta da AWS que você possui](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) no *Guia do usuário do IAM*.
+ Para saber como fornecer acesso aos seus recursos a terceiros Contas da AWS, consulte Como [fornecer acesso Contas da AWS a terceiros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) no *Guia do usuário do IAM*.
+ Para saber como conceder acesso por meio da federação de identidades, consulte [Conceder acesso a usuários autenticados externamente (federação de identidades)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) no *Guia do usuário do IAM*.
+ Para saber a diferença entre perfis e políticas baseadas em recurso 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) no *Guia do usuário do IAM*.

# Prevenção do problema "confused deputy" entre serviços
<a name="iam-cross-service-confused-deputy-prevention"></a>

Em AWS, a representação entre serviços pode ocorrer quando um serviço (o serviço de chamada) chama outro serviço (o serviço chamado). O serviço de chamada pode ser manipulado de modo a atuar nos recursos de outro cliente, mesmo sendo que ele não deveria ter as permissões adequadas, resultando em um problema de “confused deputy”.

Para evitar que delegados confusos, AWS fornece ferramentas que ajudam você a proteger seus dados em todos os serviços usando diretores de serviços que receberam acesso aos recursos em sua conta. Esta seção se concentra na prevenção de confused deputies entre serviços, específica ao Managed Service for Apache Flink. No entanto, você pode saber mais sobre esse tópico na seção [O problema do “confused deputy”](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) do *Guia do usuário do IAM*. 

No contexto do Managed Service for Apache Flink, recomendamos usar [as chaves de contexto de condição SourceAccount global aws: SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) [e aws:](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) na política de confiança de sua função para limitar o acesso à função somente às solicitações geradas pelos recursos esperados.

Use `aws:SourceArn` se quiser que apenas um recurso seja associado ao acesso entre serviços. Use `aws:SourceAccount` se quiser permitir que qualquer recurso nessa conta seja associado ao uso entre serviços.

O valor de `aws:SourceArn` deve ser o ARN do recurso usado pelo Managed Service for Apache Flink, que é especificado com o seguinte formato: `arn:aws:kinesisanalytics:region:account:resource`.

A abordagem recomendada para o problema do confused deputy é usar a chave de contexto de condição global `aws:SourceArn` com o ARN com recursos completos.

Se você não souber o ARN completo do recurso ou estiver especificando vários recursos, use a chave `aws:SourceArn` com caracteres curingas (\$1) para as partes desconhecidas do ARN. Por exemplo: `arn:aws:kinesisanalytics::111122223333:*`.

As políticas de perfis que você fornece ao Managed Service for Apache Flink, assim como as políticas de confiança dos perfis gerados para você, podem fazer uso dessas chaves.

Para se proteger contra o problema do confused deputy, execute as seguintes tarefas: 

**Para se proteger contra o problema do confused deputy**

1. Faça login no AWS Management Console e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

1. Selecione **Perfis** e, em seguida, selecione o perfil que você deseja modificar.

1. Selecione **Edit trust policy** (Editar política de confiança).

1. Na página **Editar política de confiança**, substitua a política JSON padrão por uma política que usa uma ou ambas as chaves de contexto de condição global `aws:SourceArn` e `aws:SourceAccount`. Veja os exemplos de políticas a seguir:

1. Selecione **Update policy**.

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Principal":{
               "Service":"kinesisanalytics.amazonaws.com"
            },
            "Action":"sts:AssumeRole",
            "Condition":{
               "StringEquals":{
                  "aws:SourceAccount":"Account ID"
               },
               "ArnEquals":{
                  "aws:SourceArn":"arn:aws:kinesisanalytics:us-east-1:123456789012:application/my-app"
               }
            }
         }
      ]
   }
   ```

------