Como o Amazon MSK funciona com o IAM - Amazon Managed Streaming for Apache Kafka

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 MSK funciona com o IAM

Antes de usar o IAM para gerenciar o acesso ao Amazon MSK, você deve entender quais recursos do IAM estão disponíveis para uso com o Amazon MSK. Para obter uma visão de alto nível de como o Amazon MSK e outros AWS serviços funcionam com o IAM, consulte AWS Serviços que funcionam com o IAM no Guia do usuário do IAM.

Políticas baseadas em identidade do Amazon MSK

Com as políticas baseadas em identidade do IAM, é possível especificar ações ou recursos permitidos ou negados, assim como as condições sob as quais as ações são permitidas ou negadas. O Amazon MSK é compatível com ações, chaves de condição e recursos específicos. Para conhecer todos os elementos usados em uma política JSON, consulte Referência de elementos de política JSON do IAM no Guia do usuário do IAM.

Ações

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 você pode usar 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 MSK usam o seguinte prefixo antes da ação: kafka:. Por exemplo, para conceder permissão a alguém para descrever um cluster do MSK com a operação de API DescribeCluster do Amazon MSK, inclua a ação kafka:DescribeCluster na política. As instruções de política devem incluir um elemento Action ou NotAction. O Amazon MSK define seu próprio conjunto de ações que descrevem as tarefas que você pode executar com esse serviço.

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

"Action": ["kafka:action1", "kafka:action2"]

Você também pode especificar várias ações usando caracteres curinga (*). Por exemplo, para especificar todas as ações que começam com a palavra Describe, inclua a seguinte ação:

"Action": "kafka:Describe*"

Para ver uma lista de ações do Amazon MSK, consulte Ações, recursos e chaves de condição do Amazon Managed Streaming for Apache Kafka no Guia do usuário do IAM.

Recursos

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": "*"

O recurso de instância do Amazon MSK tem o seguinte ARN:

arn:${Partition}:kafka:${Region}:${Account}:cluster/${ClusterName}/${UUID}

Para obter mais informações sobre o formato dos ARNs, consulte Amazon Resource Names (ARNs) e AWS Service Namespaces.

Por exemplo, para especificar a instância CustomerMessages na instrução, use o seguinte ARN:

"Resource": "arn:aws:kafka:us-east-1:123456789012:cluster/CustomerMessages/abcd1234-abcd-dcba-4321-a1b2abcd9f9f-2"

Para especificar todas as instâncias que pertencem a uma conta específica, use o caractere curinga (*):

"Resource": "arn:aws:kafka:us-east-1:123456789012:cluster/*"

Algumas ações do Amazon MSK, como as usadas para a criação de recursos, não podem ser executadas em um recurso específico. Nesses casos, você deve utilizar o caractere curinga (*).

"Resource": "*"

Para especificar vários recursos em uma única instrução, separe os ARNs com vírgulas.

"Resource": ["resource1", "resource2"]

Para ver uma lista dos tipos de recursos do Amazon MSK e seus ARNs, consulte Recursos definidos pelo Amazon Managed Streaming for Apache Kafka no Guia do usuário do IAM. Para saber com quais ações você pode especificar o ARN de cada recurso, consulte Ações definidas pelo Amazon Managed Streaming for Apache Kafka.

Chaves de condição

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 Condition em uma instrução ou várias chaves em um único Condition elemento, 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 atributo 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.

O Amazon MSK define seu próprio conjunto de chaves de condição e também é compatível com o uso de algumas chaves de condição globais. Para ver todas as chaves de condição AWS globais, consulte Chaves de contexto de condição AWS global no Guia do usuário do IAM.

Para ver uma lista das chaves de condição do Amazon MSK, consulte Chaves de condição para o Amazon Managed Streaming for Apache Kafka no Guia do usuário do IAM. Para saber com quais ações e recursos você pode usar uma chave de condição, consulte Ações definidas pelo Amazon Managed Streaming for Apache Kafka.

Exemplos

Para visualizar exemplos de políticas baseadas em identidade do Amazon MSK, consulte Exemplos de política baseada em identidade do Amazon MSK.

Políticas baseadas em recurso do Amazon MSK

O Amazon MSK é compatível com uma política de cluster (também conhecida como política baseada em recurso) para uso com clusters do Amazon MSK. Você pode usar uma política de cluster para definir quais entidades principais do IAM têm permissões entre contas para configurar a conectividade privada com seu cluster do Amazon MSK. Quando usada com a autenticação de cliente do IAM, você também pode usar a política de cluster para definir de modo granular as permissões do plano de dados do Kafka para os clientes conectados.

Para ver um exemplo de como configurar uma política de cluster, consulte Etapa 2: anexar uma política de cluster ao cluster do MSK.

AWS políticas gerenciadas

Autorização baseada em tags do Amazon MSK

É possível anexar tags a clusters do Amazon MSK. 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 kafka:ResourceTag/key-name, aws:RequestTag/key-name ou chaves de condição aws:TagKeys. Para obter mais informações sobre a atribuição de tags a recursos do Amazon MSK, consulte Atribuir tags a um cluster do Amazon MSK.

Para visualizar um exemplo de política baseada em identidades para limitar o acesso a um cluster baseado nas tags desse cluster, consulte Como acessar clusters do Amazon MSK com base em tags.

Perfis do IAM para o Amazon MSK

Um perfil do IAM é uma entidade dentro da sua conta da Amazon Web Services que tem permissões específicas.

Usar credenciais temporárias com o Amazon MSK

É possível usar credenciais temporárias para fazer login com federação, assumir um perfil do IAM ou assumir um perfil entre contas. Você obtém credenciais de segurança temporárias chamando operações de AWS STS API, como AssumeRoleou GetFederationToken.

A Amazon MSK é compatível com o uso de credenciais temporárias.

Funções vinculadas a serviço

Os perfis vinculados a serviço permitem que os serviços da Amazon Web Services acessem recursos em outros serviços para concluir uma ação em seu nome. Os perfis vinculados a serviço aparecem em sua conta do IAM e são de propriedade do serviço. Um administrador do pode visualizar, mas não pode editar as permissões para funções vinculadas ao serviço.

O Amazon ECS MSK é compatível com perfis vinculados a serviço. Para obter detalhes sobre como criar ou gerenciar perfis vinculados a serviço do Amazon MSK, consulte Uso de perfis vinculados a serviço para o Amazon MSK.