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á.
Prevenção do problema do substituto confuso entre serviços
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
O problema de "confused deputy" é uma questão de segurança em que uma entidade que não tem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executá-la. Em AWS, a falsificação de identidade entre serviços pode resultar no problema confuso do deputado.
A personificação entre serviços pode ocorrer quando um serviço (o serviço de chamada) chama outro serviço (o serviço chamado). O serviço de chamada pode ser manipulado de modo a usar suas permissões para atuar nos recursos de outro cliente de uma forma na qual ele não deveria ter permissão para acessar. Para evitar o confuso problema do deputado, AWS fornece ferramentas que ajudam você a proteger seus dados para todos os serviços com diretores de serviços que receberam acesso aos recursos em sua conta.
Recomendamos usar as chaves aws:SourceArn
de contexto de condição aws:SourceAccount
global nas políticas de recursos para limitar as permissões que a Amazon QLDB concede a outro serviço ao recurso. Se você utilizar ambas as chaves de contexto de condição global, o valor aws:SourceAccount
e a conta no valor aws:SourceArn
deverão utilizar o mesmo ID de conta quando utilizados na mesma instrução de política.
A tabela a seguir lista os valores possíveis StreamsJournalToKinesis
QLDBAPIdas operações ExportJournalToS3
e. aws:SourceArn
Essas operações estão no escopo desse problema de segurança porque elas chamam AWS Security Token Service (AWS STS) para assumir uma IAM função que você especificar.
APIoperação | Serviço chamado | leis: SourceArn |
---|---|---|
ExportJournalToS3 |
AWS STS (AssumeRole ) |
Permite QLDB assumir a função de qualquer QLDB recurso na conta:
Atualmente, QLDB só suporta esse caractere curinga ARN para exportações de periódicos. |
StreamsJournalToKinesis |
AWS STS (AssumeRole ) |
Permite QLDB assumir a função de um QLDB fluxo específico:
Observação: você só pode especificar um ID de stream ARN após a criação do recurso de stream. Usando issoARN, você pode permitir que a função seja usada somente para um único QLDB stream. Permite assumir QLDB a função de qualquer QLDB fluxo de um livro contábil:
Permite QLDB assumir a função de qualquer QLDB fluxo na conta:
Permite QLDB assumir a função de qualquer QLDB recurso na conta:
|
A maneira mais eficaz de se proteger contra o confuso problema do deputado é usar a chave de contexto ARN de condição aws:SourceArn
global com todo o recurso. Se você não souber a totalidade ARN do recurso ou se estiver especificando vários recursos, use a chave de condição de contexto aws:SourceArn
global com caracteres curinga (*
) para as partes desconhecidas do ARN —por exemplo,. arn:aws:qldb:us-east-1:
123456789012
:*
O exemplo de política de confiança a seguir para uma IAM função mostra como você pode usar as chaves de contexto de condição aws:SourceAccount
global aws:SourceArn
e as chaves de contexto para evitar o confuso problema adjunto. Com essa política de confiança, QLDB pode assumir a função de qualquer QLDB fluxo na conta myExampleLedger
somente 123456789012
para o livro contábil.
Para usar essa política, substitua us-east-1
,
123456789012
e myExampleLedger
no exemplo com suas próprias informações.
{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "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
" } } } }