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á.
Introdução ao modo de permissões padrão no Amazon QLDB
Utilize esta seção para começar a usar o modo de permissões padrão do Amazon QLDB. Esta seção fornece uma tabela de referência para ajudá-lo a escrever uma política baseada em identidade no AWS Identity and Access Management (IAM) para ações partiQL e recursos de tabela no QLDB. Também inclui um step-by-step tutorial para criar políticas de permissões no IAM e instruções para encontrar um ARN de tabela e criar tags de tabela no QLDB.
Tópicos
O modo de permissões STANDARD
O QLDB agora suporta STANDARD
um modo de permissões para recursos contábeis. O modo de permissões que permite o controle do acesso com granularidade mais fina para ledgers, tabelas e comandos PartiQL. Por padrão, esse modo nega todas as solicitações do usuário para executar comandos do PartiQL em qualquer tabela nesse ledger.
nota
Anteriormente, o único modo de permissões disponível para um ledger era ALLOW_ALL
. O modo ALLOW_ALL
permite o controle de acesso com granularidade em nível de API para ledger do e continua sendo suportado, mas não recomendado, para ledger do QLDB. Esse modo permite aos usuários com permissão de API SendCommand
executar todos os comandos PartiQL em qualquer tabela no ledger especificada pela política de permissões (portanto, “permitir todos” os comandos PartiQL).
Você pode alterar o modo de permissões dos ledgers existentes de ALLOW_ALL
para STANDARD
. Para ter mais informações, consulte Migrar para o modo de permissões padrão.
Para permitir comandos no modo padrão, você deve criar uma política de permissões no IAM para recursos de tabela específicos e ações do PartiQL. Isso é um acréscimo à permissão da API SendCommand
para o ledger. Para facilitar as políticas nesse modo, o QLDB introduziu um conjunto de ações do IAM para comandos partiQL e Amazon Resource Names ARNs () para tabelas QLDB. Para obter mais informações sobre modelo de objeto de dados do QLDB, consulte Principais conceitos e terminologia no Amazon QLDB.
Referência de permissões PartiQL
A tabela a seguir lista cada comando do QLDB partiQL, as ações correspondentes do IAM para as quais você deve conceder permissões para executar o comando AWS e os recursos para os quais você pode conceder as permissões. Você especifica as ações no campo Action
da política e o valor do recurso no campo Resource
da política.
Importante
-
As políticas do IAM que concedem permissões para esses comandos do PartiQL só se aplicam ao seu ledger se o modo de permissões
STANDARD
estiver atribuído ao ledger. Essas políticas não são aplicáveis aos ledgers no modo de permissõesALLOW_ALL
.Para saber como especificar o modo de permissões ao criar ou atualizar um ledger, consulte Operações básicas para ledgers do Amazon QLDB ou Etapa 1: criar um novo ledger em Conceitos básicos do console.
-
Para executar qualquer comando do PartiQL em um ledger, você também deve conceder permissão à ação da API
SendCommand
para o recurso contábil. Isso é um acréscimo às ações do PartiQL e aos recursos da tabela que estão listados na tabela a seguir. Para obter mais informações, consulte Executar transações de dados.
Command | Permissões obrigatórias (ações de IAM) | Recursos | Ações dependentes |
---|---|---|---|
CRIAR TABELA | qldb:PartiQLCreateTable |
|
qldb:TagResource (para marcar na criação) |
DESCARTAR TABELA | qldb:PartiQLDropTable |
|
|
UNDROP TABLE | qldb:PartiQLUndropTable |
|
|
CREATE INDEX | qldb:PartiQLCreateIndex |
|
|
DROP INDEX | qldb:PartiQLDropIndex |
|
|
DELETE | qldb:PartiQLDelete |
|
qldb:PartiQLSelect |
FROM-REMOVE (para documentos inteiros) | |||
INSERT | qldb:PartiQLInsert |
|
|
UPDATE | qldb:PartiQLUpdate |
|
qldb:PartiQLSelect |
FROM (INSERIR, REMOVER ou DEFINIR) | |||
REDACT_REVISION (procedimento armazenado) | qldb:PartiQLRedact |
|
|
qldb:PartiQLSelect |
|
||
qldb:PartiQLSelect |
|
||
qldb:PartiQLHistoryFunction |
|
Para exemplos de documentos de política do IAM que concedem permissões para esses comandos partiQL, acesse Tutorial de início rápido: Criação de políticas de permissões ou consulte Exemplos de políticas baseadas em identidade para o Amazon QLDB.
Encontrar um ID de tabela e um ARN
Você pode encontrar um ID de tabela usando o AWS Management Console ou consultando a tabela information_schema.user_tables. Para visualizar os detalhes da tabela no console ou consultar essa tabela do catálogo do sistema, você deve ter permissão SELECT
no recurso do catálogo do sistema. Por exemplo, para encontrar o ID da tabela Vehicle
, você pode executar a seguinte instrução.
SELECT * FROM information_schema.user_tables WHERE name = 'Vehicle'
Esta consulta devolve resultados em um formato semelhante ao seguinte exemplo:
{
tableId: "Au1EiThbt8s0z9wM26REZN",
name: "Vehicle",
indexes: [
{ indexId: "Djg2nt0yIs2GY0T29Kud1z", expr: "[VIN]", status: "ONLINE" },
{ indexId: "4tPW3fUhaVhDinRgKRLhGU", expr: "[LicensePlateNumber]", status: "BUILDING" }
],
status: "ACTIVE"
}
Para conceder permissões para executar instruções partiQL em uma tabela, você especifica um recurso de tabela no seguinte formato ARN.
arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}/table/${table-id}
Veja a seguir um exemplo de um ARN de tabela para ID de tabela Au1EiThbt8s0z9wM26REZN
.
arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/Au1EiThbt8s0z9wM26REZN
Também é possível usar o console do QLDB para criar uma tabela ARN.
Para encontrar o ARN de uma tabela (console)
-
No painel de navegação, escolha Ledgers.
-
Na lista de Ledgers, escolha o nome do livro cujo ARN da tabela você deseja encontrar.
-
Na página de detalhes do ledger, na guia Tabelas, localize o nome da tabela cujo ARN você deseja encontrar. Para copiar o ARN, escolha o ícone de cópia (
) ao lado dele.
Tabelas de marcação
Você já pode marcar os recursos da tabela. Para gerenciar tags para tabelas existentes, use as operações TagResource
da API AWS Management Console ou ListTagsForResource
e. UntagResource
Para obter mais informações, consulte Como marcar recursos do Amazon QLDB.
nota
Os recursos de tabela não herdam as tags de seu recurso de ledger raiz.
Atualmente, a marcação de tabelas na criação é suportada apenas para ledgers no modo de permissões STANDARD
.
Você também pode definir tags de tabela ao criar a tabela usando o console do QLDB ou especificando-as em uma instrução PartiQL CREATE TABLE
. O exemplo a seguir cria uma tabela chamada Vehicle
com a tag environment=production
.
CREATE TABLE Vehicle WITH (aws_tags = `{'environment': 'production'}`)
Marcar tabelas na criação requer acesso às ações qldb:PartiQLCreateTable
e qldb:TagResource
.
Ao marcar os recursos no momento da criação, você elimina a necessidade de executar scripts personalizados de marcação após a criação do recurso. Depois que uma tabela é marcada, você pode controlar o acesso à tabela com base nessas tags. Por exemplo, você pode conceder acesso total somente a tabelas que tenham uma tag específica. Para ver um exemplo de política JSON, consulte Acesso total a todas as ações com base nas tags da tabela.
Você também pode usar o console do QLDB para definir as tags da tabela enquanto cria a tabela.
Para marcar uma tabela na criação (console)
-
No painel de navegação, escolha Ledgers.
-
Na lista de Ledgers, escolha o nome do livro no qual você deseja criar a tabela.
-
Na página de detalhes do ledger, na guia Tabelas, escolha Criar tabela.
-
Na página Criar tabela, faça o seguinte:
-
Nome da tabela: escolha um nome da tabela.
-
Tags: adicione metadados à tabela anexando tags como pares chave-valor. Você pode adicionar tags à sua tabela para ajudar a organizá-las e identificá-las.
Escolha Adicionar tag e, em seguida, insira os pares de valores-chave, conforme apropriado.
-
-
Quando estiver de acordo com as configurações, escolha Create table (Criar tabela).
Tutorial de início rápido: Criação de políticas de permissões
Este tutorial orienta você pelas etapas para criar políticas de permissões no IAM para um ledger do Amazon QLDB no modo de permissões STANDARD
. Em seguida, você pode atribuir as permissões aos seus usuários, grupos ou perfis.
Para ver mais exemplos de documentos de política do IAM que concedem permissões para comandos e recursos de tabela do PartiQL, consulte Exemplos de políticas baseadas em identidade para o Amazon QLDB.
Tópicos
Pré-requisitos
Antes de iniciar, certifique-se de fazer o seguinte:
-
Siga as instruções de AWS configuração emAcessar o Amazon QLDB, caso ainda não tenha feito isso. Essas etapas incluem a inscrição AWS e a criação de um usuário administrativo.
-
Crie um novo ledger e escolha o modo de
STANDARD
permissões para o ledger. Para saber como, consulte Etapa 1: criar um novo ledger em Conceitos básicos do console ou Operações básicas para ledgers do Amazon QLDB.
Criar uma política somente de leitura
Para usar o editor de políticas JSON para criar uma política somente para leitura para todas as tabelas em um ledger no modo de permissões padrão, faça o seguinte:
Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/
. -
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.
-
Na parte superior da página, escolha Criar política.
-
Selecione a guia JSON.
-
Copie e cole o documento de política JSON abaixo. Este exemplo de política concede acesso somente para leitura a todas as tabelas em um ledger.
Para usar essa política
us-east-1
, substitua e123456789012
,myExampleLedger
no exemplo, por suas próprias informações.{ "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBSendCommandPermission", "Effect": "Allow", "Action": "qldb:SendCommand", "Resource": "arn:aws:qldb:
us-east-1
:123456789012
:ledger/myExampleLedger
" }, { "Sid": "QLDBPartiQLReadOnlyPermissions", "Effect": "Allow", "Action": [ "qldb:PartiQLSelect", "qldb:PartiQLHistoryFunction" ], "Resource": [ "arn:aws:qldb:us-east-1
:123456789012
:ledger/myExampleLedger
/table/*", "arn:aws:qldb:us-east-1
:123456789012
:ledger/myExampleLedger
/information_schema/user_tables" ] } ] } -
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.
-
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 uma política de acesso total
Para criar uma política de acesso total para todas as tabelas em um ledger do QLDB no modo de permissões padrão, faça o seguinte:
-
Repita as etapas anteriores usando o seguinte documento de política. Este exemplo de política concede acesso a todos os comandos do PartiQL para todas as tabelas em um ledger, usando curingas (*) para cobrir todas as ações do PartiQL e todos os recursos em um ledger.
Atenção
Este é um exemplo de uso de um caractere curinga (*) para permitir todas as ações PartiQL, incluindo operações administrativas e de leitura/gravação em todas as tabelas em um livro contábil do QLDB. Em vez disso, é uma prática recomendada especificar explicitamente cada ação a ser concedida, e apenas o que esse usuário, função ou grupo precisa.
Para usar essa política
us-east-1
, substitua e123456789012
,myExampleLedger
no exemplo, por suas próprias informações.{ "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBSendCommandPermission", "Effect": "Allow", "Action": "qldb:SendCommand", "Resource": "arn:aws:qldb:
us-east-1
:123456789012
:ledger/myExampleLedger
" }, { "Sid": "QLDBPartiQLFullPermissions", "Effect": "Allow", "Action": [ "qldb:PartiQL*" ], "Resource": [ "arn:aws:qldb:us-east-1
:123456789012
:ledger/myExampleLedger
/table/*", "arn:aws:qldb:us-east-1
:123456789012
:ledger/myExampleLedger
/information_schema/user_tables" ] } ] }
Criação de uma política somente para leitura para uma tabela específica
Para criar uma política de acesso somente leitura para uma tabela específica em um ledger do QLDB no modo de permissões padrão, faça o seguinte:
-
Encontre o ARN da tabela usando o AWS Management Console ou consultando a tabela do catálogo do sistema.
information_schema.user_tables
Para obter instruções, consulte Encontrar um ID de tabela e um ARN. -
Use o ARN da tabela para criar uma política que permita acesso somente leitura à tabela. Para fazer isso, repita as etapas anteriores usando o documento de política a seguir.
Esse exemplo de política concede acesso somente para leitura à tabela especificada. Nesse exemplo, o ID da tabela é
Au1EiThbt8s0z9wM26REZN
. Para usar essa política, substituaus-east-1
123456789012
,myExampleLedger
,, eAu1EiThbt8s0z9wM26REZN
no exemplo por suas próprias informações.{ "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBSendCommandPermission", "Effect": "Allow", "Action": "qldb:SendCommand", "Resource": "arn:aws:qldb:
us-east-1
:123456789012
:ledger/myExampleLedger
" }, { "Sid": "QLDBPartiQLReadOnlyPermissions", "Effect": "Allow", "Action": [ "qldb:PartiQLSelect", "qldb:PartiQLHistoryFunction" ], "Resource": [ "arn:aws:qldb:us-east-1
:123456789012
:ledger/myExampleLedger
/table/Au1EiThbt8s0z9wM26REZN
" ] } ] }
Atribuir permissões
Depois de criar uma política de permissões do QLDB, você atribui as permissões da seguinte forma.
Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:
-
Usuários e grupos em AWS IAM Identity Center:
Crie um conjunto de permissões. Siga as instruções em Criação de um conjunto de permissões no Guia do usuário do AWS IAM Identity Center .
-
Usuários gerenciados no IAM com provedor de identidades:
Crie um perfil para a federação de identidades. Siga as instruções em Criando um perfil para um provedor de identidades de terceiros (federação) no Guia do Usuário do IAM.
-
Usuários do IAM:
-
Crie um perfil que seu usuário possa assumir. Siga as instruções em Criação de um perfil para um usuário do IAM no Guia do usuário do IAM.
-
(Não recomendado) Vincule uma política diretamente a um usuário ou adicione um usuário a um grupo de usuários. Siga as instruções em Adição de permissões a um usuário (console) no Guia do usuário do IAM.
-