Etapa 2: Criar uma política e um usuário do IAM - Amazon Kinesis Data Streams

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

Etapa 2: Criar uma política e um usuário do IAM

Práticas Recomendadas de segurança paraAWSDitar o uso de permissões granulares para controlar o acesso a recursos diferentes.AWS Identity and Access Management O (IAM) permite gerenciar usuários e permissões de usuário noAWS. Uma Política do IAM lista explicitamente as ações permitidas e os recursos aos quais as ações são aplicáveis.

Veja a seguir as permissões mínimas comumente necessárias para um produtor e um consumidor do Kinesis Data Streams.

Produtor
Ações Recurso Finalidade
DescribeStream, DescribeStreamSummary, DescribeStreamConsumer Fluxo de dados do Kinesis Antes de tentar ler registros, o consumidor verifica se o fluxo de dados existe, se está ativo e se os estilhaços estão contidos no fluxo de dados.
SubscribeToShard, RegisterStreamConsumer Fluxo de dados do Kinesis Assina e registra os consumidores em um estilhaço.
PutRecord, PutRecords Fluxo de dados do Kinesis Grava registros no Kinesis Data Streams.
Consumidor
Ações Recurso Finalidade
DescribeStream Fluxo de dados do Kinesis Antes de tentar ler registros, o consumidor verifica se o fluxo de dados existe, se está ativo e se os estilhaços estão contidos no fluxo de dados.
GetRecords, GetShardIterator Fluxo de dados do Kinesis Lê registros de um estilhaço.
CreateTable, DescribeTable, GetItem, PutItem, Scan, UpdateItem Tabela do Amazon DynamoDB Se o consumidor é desenvolvido usando a Kinesis Client Library (KCL) (versão 1.x ou 2.x), são necessárias permissões para uma tabela do DynamoDB para rastrear o estado de processamento do aplicativo.
DeleteItem Tabela do Amazon DynamoDB Para quando o consumidor executar operações de divisão/mesclagem nos estilhaços do Kinesis Data Streams.
PutMetricData AmazôniaCloudWatchtora A KCL também faz upload de métricas para o CloudWatch, as quais são úteis para monitorar o aplicativo.

Neste tutorial, você criará uma única política do IAM que concede todas as permissões acima. Na produção, talvez você queira criar duas políticas, uma para produtores e outra para consumidores.

Para criar uma política do IAM
  1. Localize o nome de recurso da Amazon (ARN) para o novo fluxo de dados criado na etapa acima. Você pode encontrar esse ARN listado como Stream ARN (ARN do streaming) na parte superior da guia Details (Detalhes). O formato do ARN é o seguinte:

    arn:aws:kinesis:region:account:stream/name
    região

    OAWSCódigo da região; por exemplo,us-west-2. Para obter mais informações, consulte Conceitos de região e zona de disponibilidade.

    conta

    OAWSID da conta, conforme mostrado emConfigurações da conta.

    name

    O nome do fluxo de dados criado na etapa acima, que é StockTradeStream.

  2. Determine o ARN da tabela do DynamoDB a ser usada pelo consumidor (e a ser criada pela primeira instância de consumidor). Ele deve estar no seguinte formato:

    arn:aws:dynamodb:region:account:table/name

    A região e o ID da conta são idênticos aos valores no ARN do fluxo de dados que você está usando neste tutorial, mas onomeÉ o nome da tabela do DynamoDB criada e usada pelo aplicativo consumidor. A KCL usa o nome do aplicativo como nome da tabela. Nesta etapa, useStockTradesProcessorPara o nome da tabela do DynamoDB, porque esse é o nome do aplicativo usado nas etapas posteriores deste tutorial.

  3. No console do IAM, noPolíticas(https://console.aws.amazon.com/iam/home#policies), escolhaCriar política. Se esta for a primeira vez que você trabalha com políticas do IAM, escolhaComece a usar,Criar política.

  4. Escolha Select (Selecionar) ao lado de Policy Generator (Gerador de políticas).

  5. SelecioneAmazon Kinesiscomo oAWSServiço.

  6. Selecione DescribeStream, GetShardIterator, GetRecords, PutRecorde PutRecords como ações permitidas.

  7. Insira o ARN do fluxo de dados que você está usando neste tutorial.

  8. Use Add Statement (Adicionar instrução) para cada um dos seguintes:

    AWS Serviço Ações ARN
    Amazon DynamoDB CreateTable, DeleteItem, DescribeTable, GetItem, PutItem, Scan, UpdateItem O ARN da tabela do DynamoDB criada na Etapa 2 deste procedimento.
    Amazon CloudWatch PutMetricData *

    O asterisco (*) é usado quando não é necessário especificar um ARN. Nesse caso, é porque não há nenhum recurso específico no CloudWatch para o qual a ação PutMetricData é invocada.

  9. Escolha Next Step.

  10. Altere Policy Name (Nome da política) para StockTradeStreamPolicy, analise o código e escolha Create Policy (Criar política).

O documento de política resultante deve ser semelhante a:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt123", "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:PutRecord", "kinesis:PutRecords", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards", "kinesis:DescribeStreamSummary", "kinesis:RegisterStreamConsumer" ], "Resource": [ "arn:aws:kinesis:us-west-2:123:stream/StockTradeStream" ] }, { "Sid": "Stmt234", "Effect": "Allow", "Action": [ "kinesis:SubscribeToShard", "kinesis:DescribeStreamConsumer" ], "Resource": [ "arn:aws:kinesis:us-west-2:123:stream/StockTradeStream/*" ] }, { "Sid": "Stmt456", "Effect": "Allow", "Action": [ "dynamodb:*" ], "Resource": [ "arn:aws:dynamodb:us-west-2:123:table/StockTradesProcessor" ] }, { "Sid": "Stmt789", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": [ "*" ] } ] }
Para criar um usuário do IAM
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. Na página Users (Usuários), selecione Add user (Adicionar usuário).

  3. Para User name, digite StockTradeStreamUser.

  4. para oTipo de acesso, escolhaAcesso programáticoe, depois, escolhaPróximo: Permissions

  5. Selecione Attach existing policies directly.

  6. Pesquise por nome a política criada no procedimento acima (StockTradeStreamPolicy. Selecione a caixa à esquerda do nome da política e escolhaPróximo: Análise.

  7. Revise os detalhes e o resumo e, em seguida, escolha Create user (Criar usuário).

  8. Copie o Access key ID (ID da chave de acesso) e salve-o de forma privada. Em Secret access key (Chave de acesso secreta), escolha Show (Mostrar) e salve a chave de forma privada também.

  9. Cole as chaves de acesso e chaves secretas em um arquivo local em lugar seguro que somente você possa acessar. Para esse aplicativo, crie um arquivo denominado ~/.aws/credentials (com permissões restritas). O arquivo deverá estar no seguinte formato:

    [default] aws_access_key_id=access key aws_secret_access_key=secret access key
Para anexar uma política do IAM a um usuário
  1. No console do IAM, abra oPolíticase escolhaAções de políticas.

  2. Escolha StockTradeStreamPolicy e Attach (Anexar).

  3. Escolha StockTradeStreamUser e Attach Policy (Anexar política).

Próximas etapas

Etapa 3: Faça download e crie o código