Utilização de tags com políticas do IAM - AWS IoT Core

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á.

Utilização de tags com políticas do IAM

É possível aplicar permissões em nível de recurso baseadas em tags às políticas do IAM que você usa para as ações de API do AWS IoT . Isso oferece a você mais controle sobre quais recursos um usuário pode criar, modificar ou usar. Você pode usar o elemento Condition (também chamado bloco Condition) juntamente com os seguintes valores e chaves de contexto de condição em uma política do IAM para controlar o acesso do usuário (permissões) baseado em tags de um recurso:

  • Use aws:ResourceTag/tag-key: tag-value, para permitir ou negar ações do usuário em recursos com tags específicas.

  • Use aws:RequestTag/tag-key: tag-value para exigir que uma tag específica seja (ou não seja) usada ao fazer uma solicitação de API para criar ou modificar um recurso que permite tags.

  • Use aws:TagKeys: [tag-key, ...] para exigir que um conjunto específico de chaves de tag seja (ou não seja) usado ao fazer uma solicitação de API para criar ou modificar um recurso que permite tags.

nota

As chaves e valores de contexto da condição em uma política do IAM se aplicam somente às AWS IoT ações em que um identificador de um recurso capaz de ser marcado é um parâmetro obrigatório. Por exemplo, o uso de não DescribeEndpointé permitido ou negado com base nas chaves e valores do contexto de condição porque nenhum recurso marcável (grupos de coisas, tipos de coisas, regras de tópicos, trabalhos ou perfil de segurança) é referenciado nessa solicitação. Para obter mais informações sobre AWS IoT os recursos que são marcáveis e as chaves de condição que eles suportam, leia Ações, recursos e chaves de condição para. AWS IoT

Para obter mais informações sobre o uso de tags, consulte Controlar o acesso usando tags no Guia do usuário do AWS Identity and Access Management . A seção Referência de política JSON do IAM desse guia detalhou a sintaxe, as descrições e os exemplos dos elementos, variáveis e lógica de avaliação das políticas JSON no IAM.

O exemplo de política a seguir aplica duas restrições baseadas em tags para as ações ThingGroup. Um usuário do IAM restrito por essa política:

  • Não é possível criar um grupo de objetos com a tag “env=prod” (no exemplo, veja a linha "aws:RequestTag/env" : "prod").

  • Não é possível modificar ou acessar um grupo de objetos que possui uma tag "env=prod" existente (no exemplo, consulte a linha "aws:ResourceTag/env" : "prod").

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "iot:CreateThingGroup", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/env": "prod" } } }, { "Effect": "Deny", "Action": [ "iot:CreateThingGroup", "iot:DeleteThingGroup", "iot:DescribeThingGroup", "iot:UpdateThingGroup" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/env": "prod" } } }, { "Effect": "Allow", "Action": [ "iot:CreateThingGroup", "iot:DeleteThingGroup", "iot:DescribeThingGroup", "iot:UpdateThingGroup" ], "Resource": "*" } ] }

Você também pode especificar vários valores de tag para uma determinada chave de tag, colocando-as em uma lista como esta:

"StringEquals" : { "aws:ResourceTag/env" : ["dev", "test"] }
nota

Se você permitir ou negar aos usuários o acesso a recursos com base em tags, considere negar explicitamente aos usuários a capacidade de adicionar essas tags ou removê-las dos mesmos recursos. Caso contrário, é possível que um usuário contorne suas restrições e obtenha acesso a um recurso modificando as tags.