Usar tags com as 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á.

Usar tags com as políticas do IAM

Você pode aplicar permissões em nível de recurso com base em tags nas IAM políticas que você usa para ações. AWS IoT API Isso oferece a você mais controle sobre quais recursos um usuário pode criar, modificar ou usar. Você usa o Condition elemento (também chamado de Condition bloco) com as seguintes chaves e valores de contexto de condição em uma IAM política para controlar o acesso do usuário (permissões) com base nas 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 usada (ou não usada) ao fazer uma API solicitação para criar ou modificar um recurso que permita tags.

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

nota

As chaves e valores de contexto da condição em uma IAM política 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 IAM JSON políticas desse guia tem sintaxe detalhada, descrições e exemplos dos elementos, variáveis e lógica de avaliação das JSON políticas emIAM.

O exemplo de política a seguir aplica duas restrições baseadas em tags para as ações ThingGroup. Um IAM usuário restrito por esta 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").

{ "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.