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
Em AWS, a representaçã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 chamadas pode ser manipulado para agir sobre os recursos de outro cliente, mesmo que não deva ter as permissões adequadas, resultando no confuso problema do delegado.
Para evitar isso, o AWS fornece ferramentas que ajudam você a proteger seus dados para todos os serviços com entidades principais de serviço que receberam acesso aos recursos em sua conta.
Recomendamos o uso das chaves de contexto de condição global aws:SourceArn
e aws:SourceAccount
nas políticas de recursos para limitar as permissões que o Amazon Rekognition concede a outro serviço para o recurso.
Se o valor de aws:SourceArn
não contiver o ID da conta, como um ARN de bucket do Amazon S3, você deverá usar as duas chaves para limitar as permissões. Se você usar as duas chaves e o valor aws:SourceArn
contiver a ID da conta, o valor aws:SourceAccount
e a conta no valor aws:SourceArn
deverão usar a mesma ID da conta quando usados na mesma declaração de política.
Use aws:SourceArn
se quiser que apenas um recurso seja associado ao acesso entre serviços. Use aws:SourceAccount
se quiser permitir que qualquer recurso nessa conta seja associado ao uso entre serviços.
O valor de aws:SourceArn
deve ser o ARN do recurso usado pelo Rekognition, que é especificado com o seguinte formato: arn:aws:rekognition:region:account:resource
.
O valor de arn:User ARN
deve ser o ARN do usuário que chamará a operação de análise de vídeo (o usuário que assume uma função).
A abordagem recomendada para o problema do deputado confuso é usar a chave de contexto de condição global do aws:SourceArn
com o ARN completo do recurso.
Se você não souber o ARN completo do recurso ou se estiver especificando vários recursos, use a chave com caracteres curinga aws:SourceArn
(*
) para as partes desconhecidas do ARN. Por exemplo, arn:aws:
. rekognition
:*:111122223333:*
Para se proteger contra o confuso problema do deputado, execute as seguintes etapas:
-
No painel de navegação do console do IAM, escolha a opção Perfis . O console exibirá as funções da sua conta atual.
-
Escolha o nome da função que você deseja modificar. A função que você modifica deve ter a política de permissões do AmazonRekognitionServiceRole. Selecione a guia Relações de confiança.
-
Escolha Editar política de confiança.
-
Na página Editar política de confiança, substitua a política JSON padrão por uma política que utilize uma ou ambas as chaves de contexto de condição global
aws:SourceArn
eaws:SourceAccount
. Veja os exemplos de políticas a seguir. -
Escolha Update policy.
Os exemplos a seguir são políticas de confiança que mostram como você pode usar as chaves de contexto de condição global aws:SourceAccount
e aws:SourceArn
e as chaves de contexto no Amazon Rekognition para evitar o confuso problema do delegado.
Se você estiver trabalhando armazenado e transmitindo vídeos, poderá usar uma política como a seguinte em seu perfil do IAM:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"rekognition.amazonaws.com", "AWS":"arn:User ARN" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"Account ID" }, "StringLike":{ "aws:SourceArn":"arn:aws:rekognition:region:111122223333:streamprocessor/*" } } } ] }
Se você estiver trabalhando exclusivamente com vídeo armazenado, poderá usar uma política como a seguinte em sua função do IAM (observe que você não precisa incluir o argumento StringLike
que especifica o streamprocessor
):
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"rekognition.amazonaws.com", "AWS":"arn:User ARN" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"Account ID" } } } ] }