Políticas para controle de acesso baseado em etiquetas - Amazon EMR

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

Políticas para controle de acesso baseado em etiquetas

Você pode usar condições em sua política baseada em identidade para controlar o acesso a aplicativos e execuções de trabalhos com base em tags.

Os exemplos a seguir demonstram diferentes cenários e formas de usar operadores de condição com chaves de condição EMR sem servidor. Essas declarações IAM de política são destinadas apenas para fins de demonstração e não devem ser usadas em ambientes de produção. Há várias maneiras de combinar declarações de políticas para conceder e negar permissões de acordo com seus requisitos. Para obter mais informações sobre IAM políticas de planejamento e teste, consulte o Guia IAM do usuário.

Importante

Recusar, explicitamente, permissões para ações de uso de tags é uma consideração importante. Isso evita que os usuários façam a marcação de um recurso e, assim, concedam a si mesmos permissões que você não pretendia conceder. Se as ações de marcação de um recurso não forem negadas, um usuário poderá modificar as etiquetas e driblar a intenção das políticas baseadas em etiquetas. Para obter um exemplo de política que nega ações de marcação, consulte Negação de acesso para adição ou remoção de etiquetas.

Os exemplos abaixo demonstram políticas de permissões baseadas em identidade que são usadas para controlar as ações permitidas com aplicativos sem EMR servidor.

Ações permitidas somente em recursos com valores de etiquetas específicos

No exemplo de política a seguir, o operador de StringEquals condição tenta corresponder dev ao valor do departamento de tag. Se o departamento de tags não tiver sido adicionado ao aplicativo ou não contiver o valordev, a política não se aplica e as ações não são permitidas por essa política. Se nenhuma outra declaração de política permitir as ações, o usuário só poderá trabalhar com aplicativos que tenham essa tag com esse valor.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:GetApplication" ], "Resource": "*", "Condition": { "StringEquals": { "emr-serverless:ResourceTag/department": "dev" } } } ] }

Você também pode especificar vários valores de tag usando um operador de condição. Por exemplo, para permitir ações em aplicativos nos quais a department tag contém o valor dev outest, você pode substituir o bloco de condições no exemplo anterior pelo seguinte.

"Condition": { "StringEquals": { "emr-serverless:ResourceTag/department": ["dev", "test"] } }

Marcação obrigatória na criação de um recurso

No exemplo abaixo, a tag precisa ser aplicada ao criar o aplicativo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:CreateApplication" ], "Resource": "*", "Condition": { "StringEquals": { "emr-serverless:RequestTag/department": "dev" } } } ] }

A declaração de política a seguir permite que um usuário crie um aplicativo somente se o aplicativo tiver uma department tag que possa conter qualquer valor.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:CreateApplication" ], "Resource": "*", "Condition": { "Null": { "emr-serverless:RequestTag/department": "false" } } } ] }

Negação de acesso para adição ou remoção de etiquetas

Essa política impede que um usuário adicione ou remova tags em aplicativos EMR sem servidor com uma department tag cujo valor não seja. dev

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "emr-serverless:TagResource", "emr-serverless:UntagResource" ], "Resource": "*", "Condition": { "StringNotEquals": { "emr-serverless:ResourceTag/department": "dev" } } } ] }