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á.
AWS Transfer Family exemplos de políticas baseadas em tags
Veja a seguir exemplos de como controlar o acesso aos AWS Transfer Family recursos com base em tags.
Usar tags para controlar o acesso aos recursos do AWS Transfer Family
Condições nas políticas do IAM são parte da sintaxe que você usa para especificar permissões para recursos do AWS Transfer Family . Você pode controlar o acesso aos AWS Transfer Family recursos (como usuários, servidores, funções e outras entidades) com base nas tags desses recursos. As tags são pares de chave-valor. Para obter mais informações sobre como marcar recursos, consulte Como marcar AWS recursos no. Referência geral da AWS
Em AWS Transfer Family, os recursos podem ter tags e algumas ações podem incluir tags. Ao criar uma política do IAM, é possível usar chaves de condição de tag para controlar o seguinte:
-
Quais usuários podem realizar ações em um AWS Transfer Family recurso, com base nas tags que o recurso tem.
-
Quais tags podem ser transmitidas na solicitação de uma ação.
-
Se chaves de tags específicas podem ser usadas em uma solicitação.
Ao usar o controle de acesso baseado em tags, é possível aplicar um controle mais preciso do que no nível da API. Você também pode aplicar um controle mais dinâmico do que usando o controle de acesso baseado em recursos. É possível criar políticas do IAM que permitem ou não uma operação baseada em tags fornecidas na solicitação (tags de solicitação). Você também pode criar políticas do IAM baseadas em tags no recurso em que estão sendo operadas (tags de recurso). Em geral, as tags de recursos são para tags que já estão nos recursos, e as tags de solicitação são para quando você adiciona ou remove tags de um recurso.
Para obter a sintaxe e a semântica completas das chaves de condição de tag, consulte Controlar o acesso a recursos AWS usando tags no Guia do usuário do IAM. Para obter detalhes sobre a especificação de políticas do IAM com o API Gateway, consulte Controlar o acesso a uma API com permissões do IAM no Guia do desenvolvedor do API Gateway.
Exemplo 1: negar ações com base em tags de recurso
É possível negar que uma ação seja executada em um recurso com base em tags. O exemplo de política a seguir nega as operações TagResource, UntagResource, StartServer, StopServer, DescribeServer e DescribeUser se o recurso do usuário ou do servidor estiver marcado com a chave stage e o valor prod.
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "transfer:TagResource", "transfer:UntagResource", "transfer:StartServer", "transfer:StopServer", "transfer:DescribeServer", "transfer:DescribeUser" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/stage": "prod" } } } ] }
Exemplo 2: permitir ações com base em tags de recursos
É possível permitir que uma ação seja executada em um recurso com base em tags. O exemplo de política a seguir permite as operações TagResource, UntagResource, StartServer, StopServer, DescribeServer e DescribeUser se o recurso do usuário ou do servidor estiver marcado com a chave stage e o valor prod.
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "transfer:TagResource", "transfer:UntagResource", "transfer:StartServer", "transfer:StopServer", "transfer:DescribeServer", "transfer:DescribeUser" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/stage": "prod" } } } ] }
Exemplo 3: negar a criação de um usuário ou servidor com base em tags de solicitação
O exemplo de política a seguir contém duas declarações. A primeira declaração nega a operação CreateServer em todos os recursos se a chave do centro de custo da tag não tiver um valor.
A segunda declaração nega a operação CreateServer se a chave do centro de custo da tag contiver qualquer outro valor além de 1, 2 ou 3.
nota
Essa política permite criar ou excluir um recurso que contém uma chave chamada costcenter e um valor de 1, 2 ou 3.
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "transfer:CreateServer" ], "Resource": [ "*" ], "Condition": { "Null": { "aws:RequestTag/costcenter": "true" } } }, { "Effect": "Deny", "Action": "transfer:CreateServer", "Resource": [ "*" ], "Condition": { "ForAnyValue:StringNotEquals": { "aws:RequestTag/costcenter": [ "1", "2", "3" ] } } } ] }