Como a Amazon QLDB trabalha com IAM - Banco de dados Amazon Quantum Ledger (AmazonQLDB)

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

Como a Amazon QLDB trabalha com IAM

Antes de usar IAM para gerenciar o acesso aoQLDB, saiba quais IAM recursos estão disponíveis para usoQLDB.

Importante

Aviso de fim do suporte: os clientes existentes poderão usar a Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte Migrar um Amazon QLDB Ledger para o Amazon Aurora Postgre. SQL

Para obter uma visão geral de como QLDB e outros Serviços da AWS funcionam com a maioria dos IAM recursos, consulte Serviços da AWS esse trabalho IAM no Guia do IAM usuário.

Políticas baseadas em identidade para o QLDB

Compatível com políticas baseadas em identidade: Sim

Políticas baseadas em identidade são documentos de políticas de JSON permissões que você pode anexar a uma identidade, como um IAM usuário, grupo de usuários ou função. Essas políticas controlam quais ações os usuários e perfis podem realizar, em quais recursos e em que condições. Para saber como criar uma política baseada em identidade, consulte Definir IAM permissões personalizadas com políticas gerenciadas pelo cliente no Guia do IAMusuário.

Com políticas IAM baseadas em identidade, você pode especificar ações e recursos permitidos ou negados, bem como as condições sob as quais as ações são permitidas ou negadas. Você não pode especificar a entidade principal em uma política baseada em identidade porque ela se aplica ao usuário ou perfil ao qual ela está anexada. Para saber mais sobre todos os elementos que você pode usar em uma JSON política, consulte a referência IAM JSON de elementos de política no Guia IAM do usuário.

Exemplos de políticas baseadas em identidade para o QLDB

Para ver exemplos de políticas QLDB baseadas em identidade, consulte. Exemplos de políticas baseadas em identidade para a Amazon QLDB

Políticas baseadas em recursos no QLDB

Suporte a políticas baseadas em recursos: não

Políticas baseadas em recursos são documentos JSON de política que você anexa a um recurso. Exemplos de políticas baseadas em recursos são políticas de confiança de IAM funções e políticas de bucket do Amazon S3. Em serviços que suportem políticas baseadas em recursos, os administradores de serviço podem usá-las para controlar o acesso a um recurso específico. Para o recurso ao qual a política está anexada, a política define quais ações um principal especificado pode executar nesse recurso e em que condições. Você deve especificar uma entidade principal em uma política baseada em recursos. Os diretores podem incluir contas, usuários, funções, usuários federados ou. Serviços da AWS

Para habilitar o acesso entre contas, você pode especificar uma conta ou IAM entidades inteiras em outra conta como principal em uma política baseada em recursos. Adicionar uma entidade principal entre contas à política baseada em recurso é apenas metade da tarefa de estabelecimento da relação de confiança. Quando o principal e o recurso são diferentes Contas da AWS, um IAM administrador na conta confiável também deve conceder permissão à entidade principal (usuário ou função) para acessar o recurso. Eles concedem permissão ao anexar uma política baseada em identidade para a entidade. No entanto, se uma política baseada em recurso conceder acesso a uma entidade principal na mesma conta, nenhuma política baseada em identidade adicional será necessária. Para obter mais informações, consulte Acesso a recursos entre contas IAM no Guia do IAM usuário.

Ações de políticas para o QLDB

Compatível com ações de políticas: Sim

Os administradores podem usar AWS JSON políticas para especificar quem tem acesso ao quê. Ou seja, qual entidade principal pode executar ações em quais recursos, e em que condições.

O Action elemento de uma JSON política descreve as ações que você pode usar para permitir ou negar acesso em uma política. As ações de política geralmente têm o mesmo nome da AWS API operação associada. Há algumas exceções, como ações somente de permissão que não têm uma operação correspondente. API Algumas operações também exigem várias ações em uma política. Essas ações adicionais são chamadas de ações dependentes.

Incluem ações em uma política para conceder permissões para executar a operação associada.

Para ver uma lista de QLDB ações, consulte Ações definidas pela Amazon QLDB na Referência de autorização de serviço.

As ações de política QLDB usam o seguinte prefixo antes da ação:

qldb

Para especificar várias ações em uma única instrução, separe-as com vírgulas.

"Action": [ "qldb:action1", "qldb:action2" ]

Você também pode especificar várias ações usando caracteres-curinga (*). Por exemplo, para especificar todas as ações que começam com a palavra Describe, inclua a seguinte ação:

"Action": "qldb:Describe*"

Para interagir com os dados QLDB transacionais API (QLDBSessão) executando instruções partiQL em um livro contábil, você deve conceder permissão para a ação da seguinte maneira. SendCommand

"Action": "qldb:SendCommand"

Para ledgers no modo de permissões STANDARD, consulte as permissões adicionais necessárias Referência de permissões PartiQL para cada comando partiQL.

Para ver exemplos de políticas QLDB baseadas em identidade, consulte. Exemplos de políticas baseadas em identidade para a Amazon QLDB

Recursos políticos para QLDB

Compatível com recursos de políticas: Sim

Os administradores podem usar AWS JSON políticas para especificar quem tem acesso ao quê. Ou seja, qual entidade principal pode executar ações em quais recursos, e em que condições.

O elemento Resource JSON de política especifica o objeto ou objetos aos quais a ação se aplica. As instruções devem incluir um elemento Resource ou NotResource. Como prática recomendada, especifique um recurso usando seu Amazon Resource Name (ARN). Isso pode ser feito para ações que oferecem compatibilidade com um tipo de recurso específico, conhecido como permissões em nível de recurso.

Para ações que não oferecem compatibilidade com permissões em nível de recurso, como operações de listagem, use um curinga (*) para indicar que a instrução se aplica a todos os recursos.

"Resource": "*"

Para ver uma lista dos tipos de QLDB recursos e seusARNs, consulte Recursos definidos pela Amazon QLDB na Referência de autorização de serviço. Para saber com quais ações você pode especificar cada recurso, consulte Ações definidas pela Amazon QLDB. ARN

EmQLDB, os recursos primários são livros contábeis. QLDBtambém oferece suporte a tipos de recursos adicionais: tabelas e fluxos. No entanto, você pode criar tabelas e fluxos somente no contexto de um ledger existente.

Uma QLDB tabela é uma visão materializada de uma coleção não ordenada de revisões de documentos do diário do livro contábil. No modo de STANDARD permissões de um livro contábil, você deve criar IAM políticas que concedam permissões para executar instruções partiQL nesse recurso de tabela. Com permissões em um recurso de tabela, você pode executar instruções que acessam o estado atual da tabela. Você também pode consultar o histórico de revisões da tabela usando a função history() incorporada. Para saber mais, consulte Introdução ao modo de permissões padrão na Amazon QLDB.

nota

A instrução CREATE TABLE cria uma tabela com um ID exclusivo e o nome da tabela fornecido. O nome da tabela fornecido deve ser exclusivo entre todas as tabelas ativas. No entanto, QLDB permite que você desative tabelas, então pode haver várias tabelas inativas que compartilham o mesmo nome de tabela. Portanto, os recursos de tabela ARNs se referem ao ID exclusivo atribuído pelo sistema em vez do nome da tabela definido pelo usuário.

Cada ledger também fornece um recurso de catálogo definido pelo sistema que você pode consultar para listar todas as tabelas e índices em um ledger. Para obter mais informações sobre o modelo QLDB de objeto de dados, consulteConceitos e terminologia fundamentais na Amazon QLDB.

Esses recursos têm características exclusivas ARNs associadas a eles, conforme mostrado na tabela a seguir.

Tipo de recurso ARN
ledger arn:${Partition}:qldb:${Region}:${Account}:ledger/${LedgerName}
table arn:${Partition}:qldb:${Region}:${Account}:ledger/${LedgerName}/table/${TableId}
catalog arn:${Partition}:qldb:${Region}:${Account}:ledger/${LedgerName}/information_schema/user_tables
stream arn:${Partition}:qldb:${Region}:${Account}:stream/${LedgerName}/${StreamId}

Por exemplo, para especificar o myExampleLedger recurso em sua declaração, use o seguinteARN.

"Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger"

Para especificar vários recursos em uma única instrução, separe-os ARNs com vírgulas.

"Resource": [ "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger1", "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger2" ]

Para ver exemplos de políticas QLDB baseadas em identidade, consulte. Exemplos de políticas baseadas em identidade para a Amazon QLDB

Chaves de condição de políticas para QLDB

Compatível com chaves de condição de política específicas de serviço: Sim

Os administradores podem usar AWS JSON políticas para especificar quem tem acesso ao quê. Ou seja, qual entidade principal pode executar ações em quais recursos, e em que condições.

O elemento Condition (ou bloco Condition) permite que você especifique condições nas quais uma instrução estiver em vigor. O elemento Condition é opcional. É possível criar expressões condicionais que usem agentes de condição, como “igual a” ou “menor que”, para fazer a condição da política corresponder aos valores na solicitação.

Se você especificar vários elementos Condition em uma instrução ou várias chaves em um único Condition elemento, a AWS os avaliará usando uma operação lógica AND. Se você especificar vários valores para uma única chave de condição, AWS avalia a condição usando uma OR operação lógica. Todas as condições devem ser atendidas antes que as permissões da instrução sejam concedidas.

Você também pode usar variáveis de espaço reservado ao especificar condições. Por exemplo, você pode conceder permissão a um IAM usuário para acessar um recurso somente se ele estiver marcado com o nome de IAM usuário. Para obter mais informações, consulte elementos de IAM política: variáveis e tags no Guia IAM do usuário.

AWS suporta chaves de condição globais e chaves de condição específicas do serviço. Para ver todas as chaves de condição AWS globais, consulte as chaves de contexto de condição AWS global no Guia IAM do usuário.

Para ver uma lista de chaves de QLDB condição, consulte Chaves de condição da Amazon QLDB na Referência de autorização de serviço. Para saber com quais ações e recursos você pode usar uma chave de condição, consulte Ações definidas pela Amazon QLDB.

As ações PartiQLDropIndex e PartiQLDropTable oferecem suporte à chave de condição qldb:Purge. Essa condição filtra o acesso pelo valor de purge especificado em uma instrução do PartiQL DROP. No entanto, QLDB atualmente suporta apenas purge = true DROP INDEX declarações e purge = false DROP TABLE declarações. Outras QLDB ações oferecem suporte a algumas chaves de condição globais.

Para ver exemplos de políticas QLDB baseadas em identidade, consulte. Exemplos de políticas baseadas em identidade para a Amazon QLDB

Listas de controle de acesso (ACLs) em QLDB

SuportesACLs: Não

As listas de controle de acesso (ACLs) controlam quais diretores (membros da conta, usuários ou funções) têm permissões para acessar um recurso. ACLssão semelhantes às políticas baseadas em recursos, embora não usem o formato de documento JSON de política.

Controle de acesso baseado em atributos () ABAC com QLDB

Suportes ABAC (tags nas políticas): Sim

O controle de acesso baseado em atributos (ABAC) é uma estratégia de autorização que define permissões com base em atributos. Em AWS, esses atributos são chamados de tags. Você pode anexar tags a IAM entidades (usuários ou funções) e a muitos AWS recursos. Marcar entidades e recursos é a primeira etapa doABAC. Em seguida, você cria ABAC políticas para permitir operações quando a tag do diretor corresponde à tag do recurso que ele está tentando acessar.

ABACé útil em ambientes que estão crescendo rapidamente e ajuda em situações em que o gerenciamento de políticas se torna complicado.

Para controlar o acesso baseado em tags, forneça informações sobre as tags no elemento de condição de uma política usando as aws:ResourceTag/key-name, aws:RequestTag/key-name ou chaves de condição aws:TagKeys.

Se um serviço oferecer suporte às três chaves de condição para cada tipo de recurso, o valor será Sim para o serviço. Se um serviço oferecer suporte às três chaves de condição somente para alguns tipos de recursos, o valor será Parcial

Para obter mais informações sobreABAC, consulte Definir permissões com ABAC autorização no Guia IAM do usuário. Para ver um tutorial com etapas de configuraçãoABAC, consulte Usar controle de acesso baseado em atributos (ABAC) no Guia do IAMusuário.

Para obter mais informações sobre a marcação de QLDB recursos, consulteMarcação de recursos da Amazon QLDB.

Para visualizar um exemplo de política baseada em identidade para limitar o acesso a um recurso baseado em tags desse recurso, consulte Atualizando QLDB livros contábeis com base em etiquetas.

Usar credenciais temporárias com QLDB

Compatível com credenciais temporárias: Sim

Alguns Serviços da AWS não funcionam quando você faz login usando credenciais temporárias. Para obter informações adicionais, incluindo quais Serviços da AWS funcionam com credenciais temporárias, consulte Serviços da AWS esse trabalho IAM no Guia do IAM usuário.

Você está usando credenciais temporárias se fizer login AWS Management Console usando qualquer método, exceto um nome de usuário e senha. Por exemplo, quando você acessa AWS usando o link de login único (SSO) da sua empresa, esse processo cria automaticamente credenciais temporárias. Você também cria automaticamente credenciais temporárias quando faz login no console como usuário e, em seguida, alterna perfis. Para obter mais informações sobre a troca de funções, consulte Alternar de um usuário para uma IAM função (console) no Guia IAM do usuário.

Você pode criar manualmente credenciais temporárias usando o AWS CLI ou AWS API. Em seguida, você pode usar essas credenciais temporárias para acessar AWS. AWS recomenda que você gere credenciais temporárias dinamicamente em vez de usar chaves de acesso de longo prazo. Para obter mais informações, consulte Credenciais de segurança temporárias emIAM.

Permissões de entidade principal entre serviços para o QLDB

Suporta sessões de acesso direto (FAS): Não

Quando você usa um IAM usuário ou uma função para realizar ações em AWS, você é considerado principal. Ao usar alguns serviços, você pode executar uma ação que inicia outra ação em um serviço diferente. FASusa as permissões do diretor chamando um AWS service (Serviço da AWS), combinadas com a solicitação AWS service (Serviço da AWS) para fazer solicitações aos serviços posteriores. FASas solicitações são feitas somente quando um serviço recebe uma solicitação que requer interações com outros Serviços da AWS ou com recursos para ser concluída. Nesse caso, você precisa ter permissões para executar ambas as ações. Para obter detalhes da política ao fazer FAS solicitações, consulte Encaminhar sessões de acesso.

Funções de serviço para QLDB

Compatível com perfis de serviço: Sim

Uma função de serviço é uma IAMfunção que um serviço assume para realizar ações em seu nome. Um IAM administrador pode criar, modificar e excluir uma função de serviço internamenteIAM. Para obter mais informações, consulte Criar uma função para delegar permissões a um AWS service (Serviço da AWS) no Guia do IAM usuário.

Atenção

Alterar as permissões de uma função de serviço pode interromper QLDB a funcionalidade. Edite as funções de serviço somente quando QLDB fornecer orientação para fazer isso.

QLDBsuporta funções de serviço para as StreamJournalToKinesis API operações ExportJournalToS3 e, conforme descrito na seção a seguir.

Escolhendo uma IAM função em QLDB

Ao exportar ou transmitir blocos de diárioQLDB, você deve escolher uma função que permita QLDB gravar objetos em um determinado destino em seu nome. Se você já criou uma função de serviço, QLDB fornece uma lista de funções para escolher. É importante escolher uma função que permita o acesso para gravar em seu bucket específico do Amazon S3 para uma exportação ou em seu recurso específico do Amazon Kinesis Data Streams para um fluxo. Para obter mais informações, consulte Permissões de exportação de diário em QLDB ou Permissões de transmissão em QLDB.

nota

Para passar uma função QLDB ao solicitar uma exportação ou transmissão de diário, você deve ter permissões para realizar a iam:PassRole ação no recurso da IAM função. Isso é um acréscimo às permissões para atuar qldb:ExportJournalToS3 no recurso QLDB contábil ou qldb:StreamJournalToKinesis no sub-recurso de QLDB fluxo.

Funções vinculadas ao serviço para o QLDB

Compatível com perfis vinculados ao serviço: Não

Uma função vinculada ao serviço é um tipo de função de serviço vinculada a um. AWS service (Serviço da AWS) O serviço pode assumir o perfil para executar uma ação em seu nome. As funções vinculadas ao serviço aparecem em você Conta da AWS e são de propriedade do serviço. Um IAM administrador pode visualizar, mas não editar, as permissões das funções vinculadas ao serviço.

Para obter detalhes sobre como criar ou gerenciar funções vinculadas a serviços, consulte Serviços da AWS trabalhar com. IAM Encontre um serviço na tabela que inclua um Yes na coluna Função vinculada ao serviço. Escolha o link Sim para visualizar a documentação do perfil vinculado a serviço desse serviço.