Criar um usuário e uma política do IAM
As práticas recomendadas de segurança da AWS determinam o uso de permissões granulares para controlar o acesso a recursos diferentes. O AWS Identity and Access Management (IAM) permite gerenciar usuários e permissões de usuário na AWS. 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 normalmente necessárias para um produtor e um consumidor do Kinesis Data Streams.
| Ações | Recurso | Finalidade |
|---|---|---|
DescribeStream, DescribeStreamSummary,
DescribeStreamConsumer |
Fluxo de dados do Kinesis | Antes de tentar gravar registros, a aplicação de produção verifica se o fluxo existe e está ativo, se os fragmentos estão contidos no fluxo e se o fluxo tem um consumidor. |
SubscribeToShard,
RegisterStreamConsumer |
Fluxo de dados do Kinesis | Faz a inscrição e registra um consumidor em um fragmento de fluxo de dados do Kinesis. |
PutRecord, PutRecords |
Fluxo de dados do Kinesis | Gravar registros no Kinesis Data Streams. |
| Ações do | Recurso | Finalidade |
|---|---|---|
DescribeStream |
Fluxo de dados do Kinesis | Antes de tentar ler registros, a aplicação de consumo verifica se o fluxo existe e está ativo e se os fragmentos estão contidos no fluxo. |
GetRecords, GetShardIterator
|
Fluxo de dados do Kinesis | Ler registros em um fragmento do Kinesis Data Streams. |
CreateTable, DescribeTable,
GetItem, PutItem, Scan,
UpdateItem |
Tabela do Amazon DynamoDB | Se for desenvolvido usando a Kinesis Client Library (KCL), o consumidor precisará de permissões para uma tabela do DynamoDB a fim de monitorar o estado de processamento da aplicação. O primeiro consumidor iniciado cria a tabela. |
DeleteItem |
Tabela do Amazon DynamoDB | Para operações de divisão/mesclagem que o consumidor executa nos fragmentos do Kinesis Data Streams. |
PutMetricData |
Log do Amazon CloudWatch | A KCL também faz upload de métricas para o CloudWatch, que são úteis para monitorar a aplicação. |
Para essa aplicação, crie uma única política do IAM que conceda 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
-
Localize o Nome de recurso da Amazon (ARN) para o novo fluxo. Esse ARN pdoe ser encontrado listado como ARN do fluxo na parte superior da guia Detalhes. O formato do ARN é o seguinte:
arn:aws:kinesis:region:account:stream/name- região
-
O código da região da , por exemplo,
us-west-2. Para obter mais informações, consulte Conceitos de região e zona de disponibilidade. - conta
-
O ID da conta da AWS, conforme mostrado em Configurações da conta
. - nome
-
Nome do fluxo de Criar um fluxo de dados, que é
StockTradeStream.
-
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/nameA 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. -
No console do IAM, em Políticas (https://console.aws.amazon.com/iam/home#policies
), escolha Criar política. Se este for o primeiro contato com políticas do IAM, escolha Conceitos básicos e Criar política. -
Escolha Selecionar ao lado de Gerador de políticas.
-
Escolha Amazon Kinesis como o serviço da AWS.
-
Selecione
DescribeStream,GetShardIterator,GetRecords,PutRecordePutRecordscomo ações permitidas. -
Digite o ARN criado na Etapa 1.
-
Use Adicionar instrução para cada um dos seguintes:
Serviço da AWS Ações ARN Amazon DynamoDB CreateTable,DeleteItem,DescribeTable,GetItem,PutItem,Scan,UpdateItemO ARN criado 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çãoPutMetricDataé invocada. -
Escolha Próxima etapa.
-
Altere Nome da política para
StockTradeStreamPolicy, revise o código e selecione Criar política.
O documento de política resultante deve ser algo como o exemplo a seguir:
Para criar um usuário do IAM
Abra o console do IAM, em https://console.aws.amazon.com/iam/
. -
Na página Usuários, selecione Adicionar usuário.
-
Para User name, digite
StockTradeStreamUser. -
Em Tipo de acesso, selecione Aceso programático e, em seguida, selecione Próximo: permissões.
-
Escolha Anexar políticas existentes diretamente.
-
Pesquise a política criada por nome. Selecione a caixa à esquerda do nome da política e selecione Próximo: revisão.
-
Revise os detalhes e o resumo e, em seguida, selecione Criar usuário.
-
Copie o ID da chave de acesso e salve-o de forma privada. Em Chave de acesso secreta, selecione Mostrar e salve a chave de forma privada também.
-
Cole as chaves de acesso e chaves secretas em um arquivo local em lugar seguro de acesso restrito. 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 keyaws_secret_access_key=secret access key
Para anexar uma política do IAM a um usuário
-
No console do IAM, abra Políticas
e selecione Ações da política. -
Selecione
StockTradeStreamPolicye Anexar. -
Selecione
StockTradeStreamUsere Anexar política.
Próximas etapas
Fazer download e compilação do código de implementação