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 paraAWSDite o uso de permissões granular 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 gravar registros, o produtor verifica se o stream existe e está ativo, se os fragmentos estão contidos no stream e se o stream tem um consumidor.
SubscribeToShard, RegisterStreamConsumer Fluxo de dados do Kinesis Faz a inscrição e registra um consumidor em um estilhaço de fluxo de dados do Kinesis.
PutRecord, PutRecords Fluxo de dados do Kinesis Grave 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 stream existe e está ativo e se os estilhaços estão contidos no stream.
GetRecords, GetShardIterator Fluxo de dados do Kinesis Ler registros de um estilhaço do Kinesis Data Streams.
CreateTable, DescribeTable, GetItem, PutItem, Scan, UpdateItem Tabela do Amazon DynamoDB Se o consumidor é desenvolvido usando a Kinesis Client Library (KCL), ele precisa de permissões para uma tabela do DynamoDB para rastrear o estado de processamento do aplicativo. O primeiro consumidor iniciado cria a tabela.
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.

Para esse aplicativo, você cria uma única política do IAM que concede todas as permissões anteriores. Na prática, talvez convenha considerar a criação de duas políticas, uma para produtores e uma para consumidores.

Para criar uma política do IAM
  1. Localize o Nome de recurso da Amazon (ARN) para o novo stream. 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

    Có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

    Nome do stream de Etapa 1: Criar um streaming de dados, que é StockTradeStream.

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

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

    A região e a conta são do mesmo local que a etapa anterior, mas desta vez name é o nome da tabela criada e usada pelo aplicativo de consumidor. A KCL usada pelo consumidor usa o nome do aplicativo como o nome da tabela. Use o nome do aplicativo que será usado mais tarde, StockTradesProcessor.

  3. No console do IAM, emPolí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. Digite o ARN criado na Etapa 1.

  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 que você criou na etapa 2
    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 algo como o exemplo a seguir:

{ "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 que você criou. Selecione a caixa à esquerda do nome da política e, depois, 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, abraPolí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: Baixar e criar o código de implementação