O Amazon Managed Service para Apache Flink (Amazon MSF) era conhecido anteriormente como Amazon Kinesis Data Analytics for Apache Flink.
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á.
Como o Amazon Managed Service for Apache Flink funciona com o IAM
No Amazon MSF, você usa o IAM nos seguintes contextos diferentes:
-
Permissões do aplicativo: controle o acesso do aplicativo a recursos externos, como Amazon S3, Amazon Kinesis Data Streams ou Amazon DynamoDB, que usam autenticação do IAM.
-
Permissões de gerenciamento de aplicativos e controle do ciclo de vida: controle o uso das ações da API Amazon MSF, como,, e CreateApplicationStartApplicationUpdateApplication, 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
Action
elemento de uma declaração de política do IAM, consulte Ações definidas pelo Amazon Kinesis Analytics V2 na Referência de autorização de serviço.
Tópicos
Permissões de gerenciamento de aplicativos e controle do ciclo de vida
Políticas baseadas em identidade para o Managed Service for Apache Flink
Políticas baseadas em recursos dentro do Managed Service for Apache Flink
Listas de controle de acesso (ACLs) no Managed Service para Apache Flink
Perfis vinculadas ao serviço do Managed Service for Apache Flink
Permissões do aplicativo
Você controla as permissões do IAM de um aplicativo Amazon MSF com a função do IAM atribuída ao aplicativo, como parte da configuração do aplicativo. Essa função 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
Alterar as permissões de uma função 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 há suporte para atribuir permissões ao aplicativo usando políticas baseadas em recursos. Você não pode especificar um aplicativo Amazon MSF como principal em uma política anexada ao recurso a ser acessado.
Tópicos
Permissões para acessar o código e os registros do aplicativo
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 AWS Management Console, 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 a função do IAM manualmente ou se criar e gerenciar o aplicativo usando ferramentas de automação, deverá adicionar as seguintes permissões à função do IAM do aplicativo.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadCode", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::
bucket-name
/path-to-application-code
" ] }, { "Sid": "ListCloudwatchLogGroups", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:region
:account-id
:log-group:*" ] }, { "Sid": "ListCloudwatchLogStreams", "Effect": "Allow", "Action": [ "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:region
:account-id
:log-group:/aws/kinesis-analytics/application-name
:log-stream:*" ] }, { "Sid": "PutCloudwatchLogs", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region
:account-id
:log-group:/aws/kinesis-analytics/application-name
:log-stream:kinesis-analytics-log-stream" ] } ] }
Prevenção contra o ataque do “substituto confuso” em todos os serviços
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 uma função do IAM for reutilizada em vários aplicativos, um aplicativo poderá ter acesso a um recurso ao qual não deveria ter acesso. Isso é conhecido como o problema confuso do deputado. Para obter informações sobre como o recurso acessado pode restringir o acesso a um aplicativo Amazon MSF específico, consultePrevenção contra o ataque do “substituto confuso” em todos os serviços.
Permissões de gerenciamento de aplicativos e controle do ciclo de vida
As ações para gerenciar o aplicativo e seu ciclo de vida, como, e CreateApplicationStartApplicationUpdateApplication, 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.
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 não é suportada. A função IAM do aplicativo não é usada 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 à função do aplicativo.
A tabela a seguir lista os recursos do IAM que você pode usar com as ações do ciclo de vida do aplicativo Amazon MSF.
Recurso do IAM | Suporte do Amazon Managed Service for Apache Flink |
---|---|
Sim |
|
Não |
|
Sim |
|
Sim |
|
Sim |
|
Não |
|
Sim |
|
Sim |
|
Sim |
|
Não |
|
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 usuário do IAM.
-
Para obter informações sobre os recursos, ações e chaves de contexto de condições específicos do serviço que você pode usar nas políticas de permissão do IAM, consulte Ações, recursos e chaves de condição para o Amazon Kinesis Analytics V2 na Referência de autorização de serviço.
Tópicos
Ações de política de ciclo de vida do aplicativo
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. As ações de política geralmente têm o mesmo nome da operação de AWS API associada. Existem algumas exceções, como ações somente de permissão, que não têm uma operação de API correspondente. Algumas operações também exigem várias ações em uma política. Essas ações adicionais são chamadas de ações dependentes.
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 kinesisanalytics
prefixo 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 de política do Amazon MSF.
"Action" : [ "kinesisanalytics:
action1
", "kinesisanalytics:action2
" ]
Também é possível especificar várias ações usando curingas (*). 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 Amazon MSF que você pode especificar no Action
elemento de uma declaração de política do IAM, consulte Ações definidas pelo Amazon Kinesis Analytics V2.
Para ver exemplos de políticas baseadas em identidade do Amazon MSF, consulte. Exemplos de políticas baseadas em identidade
Recursos da política de ciclo de vida do aplicativo
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. As instruções devem incluir um elemento Resource
ou NotResource
. Como prática recomendada, especifique um recurso usando seu nome do recurso da Amazon (ARN). Isso pode ser feito para ações que oferecem compatibilidade com um tipo de recurso específico, conhecido como permissões em nível de recurso.
Para ações que não oferecem compatibilidade com permissões em nível de recurso, como operações de listagem, use um curinga (*) 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 do aplicativo ou a um grupo de aplicativos usando curingas. O exemplo a seguir mostra a sintaxe do Resource
elemento.
"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 comece com um prefixo específico.
"Resouce" : "arn:
partition
:kinesisanalytics:Region
:account
:application/application-name-prefix*
Chaves de condição da política de ciclo de vida do aplicativo
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
(ou bloco Condition
) permite que você especifique condições nas quais uma instrução estiver em vigor. O elemento Condition
é opcional. É possível criar expressões condicionais que usem agentes de condição, como “igual a” ou “menor que”, para fazer a condição da política corresponder aos valores na solicitação.
Se você especificar vários elementos de Condition
em uma declaração ou várias chaves em um único elemento de Condition
, a AWS os avaliará usando uma operação lógica AND
. Se você especificar vários valores para uma única chave de condição, AWS avalia a condição usando uma OR
operação lógica. Todas as condições devem ser atendidas antes que as permissões da instrução sejam concedidas.
Você também pode usar variáveis de espaço reservado ao especificar condições. Por exemplo, é possível conceder a um usuário do IAM permissão para acessar um recurso somente se ele estiver marcado com seu nome de usuário do IAM. Para obter mais informações, consulte Elementos da política do IAM: variáveis e tags no Guia do usuário do IAM.
AWS suporta chaves de condição globais e chaves de condição específicas do serviço. Para ver todas as chaves de condição AWS globais, consulte as chaves de contexto de condição AWS global no Guia do usuário do IAM.
Você pode usar chaves de condição para controlar as permissões para as ações do ciclo de vida do aplicativo 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 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.
Controle de acesso por atributo (ABAC) com o Managed Service for Apache Flink
Compatível com ABAC (tags em políticas): sim
Usando chaves de condição, você pode implementar o controle de acesso baseado em atributos (ABAC), que é uma estratégia de autorização que define 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 ABAC para permitir operações quando a tag do diretor coincide com a tag do recurso que ele está 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 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 obter mais informações sobre o ABAC, consulte Definir permissões com base em atributos com autorização do ABAC.
-
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.
Usar credenciais temporárias
Compatível com credenciais temporárias: sim
As ações do ciclo de vida do aplicativo Amazon MSF oferecem suporte a credenciais temporárias.
Você está usando credenciais temporárias se fizer login AWS Management Console 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 a troca de funções, consulte Alternar de um usuário para uma função do IAM (console).
Você pode criar manualmente credenciais temporárias usando a AWS API AWS CLI ou. Em seguida, você pode usar essas credenciais temporárias para acessar AWS. Recomendamos que você gere 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.
Permissões de entidade principal entre serviços
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 principais entre serviços.
Quando você usa um usuário ou uma função do IAM para realizar ações AWS, você é considerado um 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.
Políticas baseadas em identidade para o Managed Service for Apache Flink
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 você pode anexar 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 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. Você não pode especificar a entidade principal em uma política baseada em identidade porque ela se aplica ao usuário ou perfil ao qual ela está anexada. 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 no Guia do usuário do IAM.
Exemplos de políticas baseadas em identidade para o Managed Service for Apache Flink
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.
Políticas baseadas em recursos dentro do Managed Service for Apache Flink
Atualmente, o Amazon Managed Service para Apache Flink não oferece suporte ao controle de acesso baseado em recursos.
Listas de controle de acesso (ACLs) no Managed Service para Apache Flink
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
Compatível com perfis de serviço: sim
O perfil de serviço é um perfil do IAM 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 obter mais informações, consulte Criar um perfil para delegar permissões a um AWS service (Serviço da AWS) 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
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 presumir o perfil para 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 funções vinculadas 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. 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.