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á.
Exemplo: aplicativo AppStream 2.0: política de bucket do Amazon S3, multisserviços, prevenção delegada confusa
Quando você armazena dados em um bucket do Amazon S3, o bucket pode ser exposto a problemas de “confused deputy”. Isso pode deixar dados, como frotas elásticas, blocos de aplicações, scripts de configuração, ícones de aplicações e scripts de sessão, vulneráveis a agentes mal-intencionados.
Para evitar problemas de “confused deputy”, você pode especificar a condição aws:SourceAccount
ou a condição aws:SourceArn
na política de bucket do Amazon S3 para ELASTIC-FLEET-EXAMPLE-BUCKET
.
As políticas de recursos a seguir mostram como evitar o problema de “confused deputy” com uma das seguintes opções:
-
O
aws:SourceAccount
com o ID AWS da sua conta -
A chave global de contexto de condição
aws:SourceArn
AppStream Atualmente, o 2.0 não oferece suporte à prevenção delegada confusa para ícones de aplicativos. O serviço só oferece suporte a VHD arquivos e scripts de configuração. Se você tentar incluir condições adicionais para os ícones de aplicação, os ícones não serão exibidos para os usuários finais.
No exemplo a seguir, a política de bucket só permite o acesso aos recursos AppStream 2.0 da frota Elastic na conta do proprietárioELASTIC_FLEET_EXAMPLE_BUCKET
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "appstream.amazonaws.com" }, "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::
ELASTIC-FLEET-EXAMPLE-BUCKET
/vhd-folder/*", "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET
/scripts/*" ], "Condition": { "StringEquals": { "aws:SourceAccount": "your Conta da AWS ID
" } } }, { "Sid": "AllowRetrievalPermissionsToS3AppIconsForAppStream", "Effect": "Allow", "Principal": { "Service": "appstream.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET
/app-icons/*" } ] }
Você também pode usar a condição aws:SourceArn
para limitar o acesso a recursos específicos.
nota
Se você não souber a totalidade ARN de um recurso ou quiser especificar vários recursos, use a chave de condição de contexto aws:SourceArn
global com curingas (*) para as partes desconhecidas doARN.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "appstream.amazonaws.com" }, "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::
ELASTIC-FLEET-EXAMPLE-BUCKET
/vhd-folder/*", "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET
/scripts/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:{aws-partition}:appstream:{your region name
}:{your AWS account ID
}:app-block/*" } } }, { "Sid": "AllowRetrievalPermissionsToS3AppIconsForAppStream", "Effect": "Allow", "Principal": { "Service": "appstream.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET
/app-icons/*" } ] }
Você também pode usar as condições aws:SourceArn
e aws:SourceAccount
para limitar o acesso a contas e recursos específicos.
nota
Se você não souber a totalidade ARN de um recurso ou se quiser especificar vários recursos, use a chave de condição de contexto aws:SourceArn
global com curingas (*) para as partes desconhecidas doARN.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "appstream.amazonaws.com" }, "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::
ELASTIC-FLEET-EXAMPLE-BUCKET
/vhd-folder/*", "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET
/scripts/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:{aws partition}:appstream:{your region name
}:{your AWS account ID
}:app-block/*" }, "StringEquals": { "aws:SourceAccount": "your AWS account ID
" } } }, { "Sid": "AllowRetrievalPermissionsToS3AppIconsForAppStream", "Effect": "Allow", "Principal": { "Service": "appstream.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET
/app-icons/*" } ] }