Crie políticas de autorização para a IAM função - 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á.

Crie políticas de autorização para a IAM função

Anexe uma política de autorização à IAM função que corresponde ao cliente. Em uma política de autorização, você especifica quais ações permitir ou proibir para o perfil. Se seu cliente estiver em uma EC2 instância da Amazon, associe a política de autorização à IAM função dessa EC2 instância da Amazon. Como alternativa, você pode configurar seu cliente para usar um perfil nomeado e, em seguida, associar a política de autorização ao perfil desse perfil nomeado. Configurar clientes para controle de IAM acesso descreve como configurar um cliente para usar um perfil nomeado.

Para obter informações sobre como criar uma IAM política, consulte Criação de IAM políticas.

Veja a seguir um exemplo de política de autorização para um cluster chamado MyTestCluster. Para entender a semântica dos elementos Action e Resource, consulte Semântica das ações e IAM recursos da política de autorização.

Importante

As alterações que você faz em uma IAM política são refletidas no IAM APIs e AWS CLI imediatamente. No entanto, a implementação da alteração da política pode levar um tempo considerável. Na maioria dos casos, as mudanças na política entram em vigor em menos de um minuto. Às vezes, as condições da rede podem aumentar o atraso.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kafka-cluster:Connect", "kafka-cluster:AlterCluster", "kafka-cluster:DescribeCluster" ], "Resource": [ "arn:aws:kafka:us-east-1:0123456789012:cluster/MyTestCluster/abcd1234-0123-abcd-5678-1234abcd-1" ] }, { "Effect": "Allow", "Action": [ "kafka-cluster:*Topic*", "kafka-cluster:WriteData", "kafka-cluster:ReadData" ], "Resource": [ "arn:aws:kafka:us-east-1:0123456789012:topic/MyTestCluster/*" ] }, { "Effect": "Allow", "Action": [ "kafka-cluster:AlterGroup", "kafka-cluster:DescribeGroup" ], "Resource": [ "arn:aws:kafka:us-east-1:0123456789012:group/MyTestCluster/*" ] } ] }

Para saber como criar uma política com elementos de ação que correspondam aos casos de uso comuns do Apache Kafka, como produzir e consumir dados, consulte Casos de uso comuns da política de autorização de clientes.

Para as versões 2.8.0 e superiores do Kafka, a WriteDataIdempotentlypermissão está obsoleta (-679). KIP enable.idempotence = true é usado por padrão. Portanto, para as versões 2.8.0 e superiores do Kafka, IAM não oferece a mesma funcionalidade do Kafka. ACLs Não é possível atribuir WriteDataIdempotently a um tópico apenas fornecendo acesso WriteData a esse tópico. Isso não afeta o caso quando WriteData é fornecido aos ALLtópicos. Nesse caso, WriteDataIdempotently é permitido. Isso se deve às diferenças na implementação da IAM lógica e na forma como os Kafka ACLs são implementados.

Para contornar isso, recomendamos o uso de uma política semelhante ao exemplo abaixo:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kafka-cluster:Connect", "kafka-cluster:AlterCluster", "kafka-cluster:DescribeCluster", "kafka-cluster:WriteDataIdempotently" ], "Resource": [ "arn:aws:kafka:us-east-1:0123456789012:cluster/MyTestCluster/abcd1234-0123-abcd-5678-1234abcd-1" ] }, { "Effect": "Allow", "Action": [ "kafka-cluster:*Topic*", "kafka-cluster:WriteData", "kafka-cluster:ReadData" ], "Resource": [ "arn:aws:kafka:us-east-1:0123456789012:topic/MyTestCluster/abcd1234-0123-abcd-5678-1234abcd-1/TestTopic" ] } ] }

Nesse caso, WriteData permite gravações em TestTopic, enquanto WriteDataIdempotently permite gravações idempotentes no cluster. É importante observar que WriteDataIdempotently é uma permissão no nível de cluster. Não é possível usá-la no nível de tópico. Se WriteDataIdempotently estiver restrita ao nível do tópico, essa política não funcionará.