Permissões de fluxo no QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

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

Permissões de fluxo no QLDB

Antes de criar um fluxo do Amazon QLDB, você deve fornecer ao QLDB permissões de gravação para seu recurso especificado do Amazon Kinesis Data Streams. Se você estiver usando um cliente gerenciado AWS KMS key para criptografia do lado do servidor do seu fluxo do Kinesis, você também deve fornecer ao QLDB permissões para usar sua chave de criptografia simétrica especificada. O Kinesis Data Streams não é compatível com chaves KMS assimétricas.

Para fornecer ao seu fluxo do QLDB as permissões necessárias, você pode fazer com que o QLDB assuma um perfil de serviço do IAM com as políticas de permissões apropriadas. O perfil de serviço é um perfil do IAMhttps://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html que um serviço assume para realizar ações em seu nome. Um administrador do IAM pode criar, modificar e excluir um perfil de serviço do IAM. Para obter mais informações, consulte Criar um perfil para delegar permissões a um AWS service (Serviço da AWS) no Guia do usuário do IAM.

nota

Para transmitir uma função ao QLDB ao solicitar um fluxo de diário, você deve ter permissões para realizar a ação iam:PassRole no recurso do perfil do IAM. Isso é um acréscimo à permissão qldb:StreamJournalToKinesis no sub-recurso de fluxo do QLDB.

Para saber como controlar o acesso ao QLDB usando o IAM, consulte Como o Amazon QLDB funciona com o IAM. Para ver um exemplo de política do QLDB, consulte Exemplos de políticas baseadas em identidade para o Amazon QLDB.

Neste exemplo, você cria uma função que permite que o QLDB grave registros de dados em um fluxo de dados do Kinesis em seu nome. Para obter mais informações, consulte Criar um perfil para delegar permissões a um AWS service (Serviço da AWS) no Guia do usuário do IAM.

Se você estiver transmitindo um diário do QLDB pela primeira vez, primeiro crie uma função do IAM com as políticas apropriadas, fazendo o seguinte. Conta da AWS Ou você pode usar o console do QLDB para criar automaticamente a função para você. Caso contrário, você poderá escolher uma função que você criou anteriormente.

Criação de uma política de permissões

Complete as etapas a seguir para criar políticas de permissão para o fluxo do QLDB. Este exemplo mostra uma política do Kinesis Data Streams que concede permissões ao QLDB para gravar registros de dados no fluxo de dados especificado do Kinesis. Se aplicável, o exemplo também mostra uma política de chave que permite que o QLDB use sua chave KMS de criptografia simétrica.

Para obter mais informações sobre Kineis Data Streams, consulte Controlar acesso aos recursos do Amazon Kinesis Data Streams usando o IAM e Permissões para usar chaves KMS gerada pelo usuário no Guia do desenvolvedor do Amazon Kinesis Data Streams. Para saber mais sobre as AWS KMS principais políticas, consulte Como usar políticas de chaves AWS KMS no Guia do AWS Key Management Service desenvolvedor.

nota

Seu stream de dados do Kinesis e sua chave KMS devem estar na mesma conta e na mesma conta do seu livro Região da AWS contábil do QLDB.

Para usar o editor de políticas JSON para criar uma política
  1. Faça login AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. Na coluna de navegação à esquerda, selecione Políticas.

    Se essa for a primeira vez que você escolhe Políticas, a página Bem-vindo às políticas gerenciadas será exibida. Escolha Começar.

  3. Na parte superior da página, escolha Criar política.

  4. Selecione a guia JSON.

  5. Insira um documento de política JSON.

    • Se você estiver usando uma chave KMS gerenciada pelo cliente para criptografia do lado do servidor do seu fluxo do Kinesis, use o seguinte exemplo de documento de política. Para usar essa política, substitua us-east-1, 123456789012 e 1234abcd-12ab-34cd-56ef-1234567890ab no exemplo por kinesis-stream-namesuas próprias informações.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBStreamKinesisPermissions", "Action": [ "kinesis:PutRecord*", "kinesis:DescribeStream", "kinesis:ListShards" ], "Effect": "Allow", "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/kinesis-stream-name" }, { "Sid": "QLDBStreamKMSPermission", "Action": [ "kms:GenerateDataKey" ], "Effect": "Allow", "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }
    • Ou, use o seguinte exemplo de documento de política. Para usar essa política, substitua us-east-1, 123456789012 e, no exemplo, por suas próprias informações. kinesis-stream-name

      { "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBStreamKinesisPermissions", "Action": [ "kinesis:PutRecord*", "kinesis:DescribeStream", "kinesis:ListShards" ], "Effect": "Allow", "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/kinesis-stream-name" } ] }
  6. Escolha Revisar política.

    nota

    Você pode alternar entre as guias Editor visual e JSON sempre que quiser. No entanto, se você fizer alterações ou escolher Revisar política na guia Editor visual, o IAM pode reestruturar sua política de forma a otimizá-la para o editor visual. Para obter mais informações, consulte Restruturação de política no Manual do usuário do IAM.

  7. Na página Review policy (Revisar política), insira um Name (Nome) e uma Description (Descrição) opcional para a política que você está criando. Revise o Resumo da política para ver as permissões que são concedidas pela política. Em seguida, escolha Criar política para salvar seu trabalho.

Criar um perfil do IAM

Depois de criar uma política de permissões para seu fluxo do QLDB, você pode criar um perfil do IAM e anexar sua política a ele.

Para criar um perfil de serviço para QLDB (console do IAM)
  1. Faça login AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação do console do IAM, escolha Funções e, em seguida, Criar função.

  3. Em Tipo de Entidade Confiável, escolha AWS service (Serviço da AWS).

  4. Para Serviço ou caso de uso, escolha QLDB e, em seguida, escolha o caso de uso do QLDB.

  5. Escolha Próximo.

  6. Selecione a caixa ao lado da política que você criou nas etapas anteriores.

  7. (Opcional) Defina um limite de permissões. Esse é um atributo avançado que está disponível para perfis de serviço, mas não para perfis vinculados ao serviço.

    1. Abra a seção Definir limite de permissões e escolha Usar um limite de permissões para controlar o número máximo de permissões do perfil.

      O IAM inclui uma lista das políticas AWS gerenciadas e gerenciadas pelo cliente em sua conta.

    2. Selecione a política a ser usada para o limite de permissões.

  8. Escolha Próximo.

  9. Insira um nome de perfil ou um sufixo de nome de perfil para ajudar a identificar a finalidade do perfil.

    Importante

    Quando nomear um perfil, observe o seguinte:

    • Os nomes das funções devem ser exclusivos dentro de você Conta da AWS e não podem ser diferenciados por maiúsculas e minúsculas.

      Por exemplo, não crie dois perfis denominados PRODROLE e prodrole. Quando usado em uma política ou como parte de um ARN, o nome de perfil diferencia maiúsculas de minúsculas. No entanto, quando exibido para os clientes no console, como durante o processo de login, o nome de perfil diferencia maiúsculas de minúsculas.

    • Não é possível editar o nome do perfil depois de criá-lo porque outras entidades podem referenciar o perfil.

  10. (Opcional) Em Descrição, insira uma descrição para o perfil.

  11. (Opcional) Para editar os casos de uso e as permissões do perfil, escolha Editar nas seções Etapa 1: selecionar entidades confiáveis ou Etapa 2: adicionar permissões.

  12. (Opcional) Para ajudar a identificar, organizar ou pesquisar o perfil, adicione tags como pares de chave-valor. Para obter mais informações sobre o uso de tags no IAM, consulte Marcar recursos do IAM no Guia do usuário do IAM.

  13. Reveja a função e escolha Criar função.

O documento JSON a seguir é um exemplo de política de confiança que permite ao QLDB assumir um perfil do IAM com permissões específicas anexadas.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "qldb.amazonaws.com" }, "Action": [ "sts:AssumeRole" ], "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:qldb:us-east-1:123456789012:stream/myExampleLedger/*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }
nota

O exemplo a seguir mostra como é possível usar as chaves de contexto de condição globais aws:SourceArn e aws:SourceAccount para evitar o problema de substituto confuso. Com essa política de confiança, o QLDB pode assumir a função de qualquer fluxo de QLDB na conta 123456789012 somente para o ledger myExampleLedger.

Para ter mais informações, consulte Prevenção contra o ataque do “substituto confuso” em todos os serviços.

Depois de criar seu perfil do IAM, retorne ao console do QLDB e atualize a página Criar fluxo de QLDB para que ele possa encontrar sua nova função.