Exemplos de políticas baseadas em identidade do AWS X-Ray - AWS X-Ray

Exemplos de políticas baseadas em identidade do AWS X-Ray

Por padrão, usuários e funções não têm permissão para criar ou modificar recursos do X-Ray. Eles também não podem executar tarefas usando o AWS Management Console, a AWS CLI ou uma API da AWS. Um administrador deve criar as políticas do IAM que concedam aos usuários e aos perfis permissões para executar operações de API específicas nos recursos especificados que precisam. O administrador deve anexar essas políticas aos usuários ou grupos que exigem essas permissões.

Para saber como criar uma política baseada em identidade do IAM usando esses exemplos de documentos de política JSON, consulte Criar políticas na guia JSON no Guia do usuário do IAM.

Melhores práticas de política

As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do X-Ray em sua conta. Essas ações podem incorrer em custos para seus Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:

  • Comece com as políticas gerenciadas pela AWS e avance para as permissões de privilégio mínimo –- para começar a conceder permissões a seus usuários e workloads, use as políticas gerenciadas pela AWS, que concedem permissões para muitos casos de uso comuns. Elas estão disponíveis em seus Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo cliente AWS específicas para seus casos de uso. Para obter mais informações, consulte Políticas gerenciadas pela AWS ou Políticas gerenciadas pela AWS para funções de trabalho no Guia do Usuário do IAM.

  • Aplique permissões de privilégio mínimo –- ao definir permissões com as políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Você faz isso definindo as ações que podem ser executadas em atributos específicos sob condições específicas, também conhecidas como permissões de privilégio mínimo. Para obter mais informações sobre como usar o IAM para aplicar permissões, consulte Políticas e permissões no IAM no Guia do Usuário do IAM.

  • Use condições nas políticas do IAM para restringir ainda mais o acesso –- você pode adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, você pode gravar uma condição de política para especificar que todas as solicitações devem ser enviadas usando SSL. Você também pode usar condições para conceder acesso a ações de serviço, se elas forem usadas por meio de um AWS service (Serviço da AWS) específico, como o AWS CloudFormation. Para obter mais informações, consulte Elementos da política JSON do IAM: Condição no Guia do usuário do IAM.

  • Use o IAM Access Analyzer para validar suas políticas do IAM a fim de garantir permissões seguras e funcionais –- o IAM Access Analyzer valida as políticas novas e existentes para que elas sigam a linguagem de política do IAM (JSON) e as práticas recomendadas do IAM. O IAM Access Analyzer oferece mais de 100 verificações de política e recomendações acionáveis para ajudá-lo a criar políticas seguras e funcionais. Para obter mais informações, consulte Validação de políticas do IAM Access Analyzer no Guia do Usuário do IAM.

  • Exigir autenticação multifator (MFA) –- se houver um cenário que exija usuários do IAM ou um usuário raiz em sua Conta da AWS, ative a MFA para obter segurança adicional. Para exigir MFA quando as operações de API forem chamadas, adicione condições de MFA às suas políticas. Para obter mais informações, consulte Configuração de acesso à API protegido por MFA no Guia do Usuário do IAM.

Para obter mais informações sobre as práticas recomendadas do IAM, consulte Práticas Recomendadas de Segurança no IAM no Guia do Usuário do IAM.

Usar o console do X-Ray

Para acessar o console do AWS X-Ray, você deve ter um conjunto mínimo de permissões. Essas permissões devem autorizar você a listar e visualizar detalhes sobre os recursos do X-Ray na sua Conta da AWS. Se você criar uma política baseada em identidade que seja mais restritiva do que as permissões mínimas necessárias, o console não funcionará como pretendido para entidades (usuários ou perfis) com essa política.

Para garantir que essas entidades ainda possam usar o console do X-Ray, adicione a política AWS gerenciada pela AWSXRayReadOnlyAccess às entidades. Essa política é descrita com mais detalhes nas Políticas gerenciadas do IAM para X-Ray. Para obter mais informações, consulte Adicionar permissões a um usuário no Guia do usuário do IAM.

Não é necessário conceder permissões mínimas do console para usuários que fazem chamadas somente à AWS CLI ou à API do AWS. Em vez disso, permita o acesso somente às ações que correspondem à operação da API que você está tentando executar.

Permitir que os usuários visualizem suas próprias permissões

Este exemplo mostra como criar uma política que permita que os usuários do IAM visualizem as políticas gerenciadas e em linha anexadas a sua identidade de usuário. Essa política inclui permissões para concluir essa ação no console ou de forma programática usando a AWS CLI ou a AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Gerenciar o acesso a grupos e regras de amostragem do X-Ray com base em tags

Você pode usar condições em sua política baseada em identidade para controlar o acesso a grupos e regras de amostragem do X-Ray baseadas em tags. O exemplo de política a seguir pode ser usado para negar a um perfil de usuário as permissões para criar, excluir ou atualizar grupos com as tags stage:prod ou stage:preprod. Para obter mais informações sobre a marcação de regras de amostragem e grupos do X-Ray, consulte Marcar grupos e regras de amostragem do X-Ray.

Para negar a um usuário o acesso para criar, atualizar ou excluir um grupo com uma tag stage:prod ou stage:preprod, atribua ao usuário um perfil com uma política semelhante à apresentada abaixo.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllXRay", "Effect": "Allow", "Action": "xray:*", "Resource": "*" }, { "Sid": "DenyCreateGroupWithStage", "Effect": "Deny", "Action": [ "xray:CreateGroup" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/stage": [ "preprod", "prod" ] } } }, { "Sid": "DenyUpdateGroupWithStage", "Effect": "Deny", "Action": [ "xray:UpdateGroup", "xray:DeleteGroup" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/stage": [ "preprod", "prod" ] } } } ] }

Para negar a criação de uma regra de amostragem, use aws:RequestTag para indicar tags que não podem ser passadas como parte de uma solicitação de criação. Para negar a atualização ou exclusão de uma regra de amostragem, use aws:ResourceTag para negar ações com base nas tags desses recursos.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllXRay", "Effect": "Allow", "Action": "xray:*", "Resource": "*" }, { "Sid": "DenyCreateSamplingRuleWithStage", "Effect": "Deny", "Action": "xray:CreateSamplingRule", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/stage": [ "preprod", "prod" ] } } }, { "Sid": "DenyUpdateSamplingRuleWithStage", "Effect": "Deny", "Action": [ "xray:UpdateSamplingRule", "xray:DeleteSamplingRule" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/stage": [ "preprod", "prod" ] } } } ] }

Você pode anexar essas políticas (ou combiná-las em uma única política e, em seguida, anexar a política) aos usuários da sua conta. Para que o usuário faça alterações em um grupo ou regra de amostragem, ambos não devem ser marcados com stage=prepod ou stage=prod. A chave da tag de condição Stage corresponde a Stage e a stage porque os nomes das chaves de condição não fazem distinção entre maiúsculas e minúsculas. Para obter mais informações sobre o uso de bloco de condição, consulte Elementos de política JSON do IAM: Condition no Guia do usuário do IAM.

Um usuário com um perfil que tenha a política anexada a seguir não pode adicionar a tag role:admin aos recursos e não pode remover tags de um recurso role:admin associado a ela.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllXRay", "Effect": "Allow", "Action": "xray:*", "Resource": "*" }, { "Sid": "DenyRequestTagAdmin", "Effect": "Deny", "Action": "xray:TagResource", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/role": "admin" } } }, { "Sid": "DenyResourceTagAdmin", "Effect": "Deny", "Action": "xray:UntagResource", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/role": "admin" } } } ] }

Políticas gerenciadas do IAM para X-Ray

Para facilitar a concessão de permissões, o IAM permite políticas gerenciadas para cada serviço. Um serviço pode atualizar essas políticas gerenciadas com novas permissões quando libera APIs novas. O AWS X-Ray fornece políticas gerenciadas para somente leitura, somente gravação e casos de uso do administrador.

  • AWSXrayReadOnlyAccess: leia as permissões para usar o console do X-Ray, a AWS CLI ou o SDK da AWS e obter dados de rastreamento, mapas de serviço, insights e configuração do X-Ray por meio da API do X-Ray. Inclui as permissões oam:ListSinks e oam:ListAttachedSinks do Observability Access Manager (OAM) para possibilitar que o console visualize rastreamentos compartilhados das contas de origem como parte da observabilidade entre contas do CloudWatch. As ações de API BatchGetTraceSummaryById e GetDistinctTraceGraphs não devem ser chamadas pelo seu código e não estão incluídas na AWS CLI e nos SDKs da AWS.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:GetSamplingRules", "xray:GetSamplingTargets", "xray:GetSamplingStatisticSummaries", "xray:BatchGetTraces", "xray:BatchGetTraceSummaryById", "xray:GetDistinctTraceGraphs", "xray:GetServiceGraph", "xray:GetTraceGraph", "xray:GetTraceSummaries", "xray:GetGroups", "xray:GetGroup", "xray:ListTagsForResource", "xray:ListResourcePolicies", "xray:GetTimeSeriesServiceStatistics", "xray:GetInsightSummaries", "xray:GetInsight", "xray:GetInsightEvents", "xray:GetInsightImpactGraph", "oam:ListSinks" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "oam:ListAttachedLinks" ], "Resource": "arn:aws:oam:*:*:sink/*" } }
  • AWSXRayDaemonWriteAccess: permissões de gravação para usar o daemon do X-Ray, a AWS CLI ou o SDK da AWS para carregar documentos de segmentos e telemetria na API do X-Ray. Inclui permissões de leitura para obter regras de amostragem e relatar resultados de amostragem.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets", "xray:GetSamplingStatisticSummaries" ], "Resource": [ "*" ] } ] }
  • AWSXrayCrossAccountSharingConfiguration: concede permissões para criar, gerenciar e visualizar links do Observability Access Manager e compartilhar recursos do X-Ray entre contas. Usado para permitir a observabilidade entre contas do CloudWatch entre contas de origem e de monitoramento.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:Link", "oam:ListLinks" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "oam:DeleteLink", "oam:GetLink", "oam:TagResource" ], "Resource": "arn:aws:oam:*:*:link/*" }, { "Effect": "Allow", "Action": [ "oam:CreateLink", "oam:UpdateLink" ], "Resource": [ "arn:aws:oam:*:*:link/*", "arn:aws:oam:*:*:sink/*" ] } ] }
  • AWSXrayFullAccess: permissão para usar todas as APIs do X-Ray, incluindo permissões de leitura, permissões de gravação e a permissão para definir configurações de chaves de criptografia e regras de amostragem. Inclui as permissões oam:ListSinks e oam:ListAttachedSinks do Observability Access Manager (OAM) para possibilitar que o console visualize rastreamentos compartilhados das contas de origem como parte da observabilidade entre contas do CloudWatch.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:*", "oam:ListSinks" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "oam:ListAttachedLinks" ], "Resource": "arn:aws:oam:*:*:sink/*" } ] }
Como adicionar uma política gerenciada a um usuário, grupo ou perfil do IAM
  1. Abra o console do IAM.

  2. Abra o perfil associado ao perfil de instância, um usuário do IAM ou um grupo do IAM.

  3. Em Permissions (Permissões), anexe a política gerenciada.

Atualizações do X-Ray para políticas gerenciadas pela AWS

Visualize detalhes sobre atualizações em políticas gerenciadas pela AWS para o X-Ray desde o momento em que esse serviço começou a rastrear essas alterações. Para receber alertas automáticos sobre alterações realizadas nesta página, inscreva-se no feed RSS na página Histórico de documentos.

Alteração Descrição Data

Políticas gerenciadas pelo IAM para X-Ray: adição da nova política AWSXrayCrossAccountSharingConfiguration e atualização das políticas AWSXrayReadOnlyAccess e AWSXrayFullAccess.

O X-Ray adicionou as permissões oam:ListSinks e oam:ListAttachedSinks do Observability Access Manager (OAM) a essas políticas para permitir que o console visualize rastreamentos compartilhados das contas de origem como parte da observabilidade entre contas do CloudWatch.

27 de novembro de 2022

Políticas gerenciadas pelo IAM para X-Ray: atualização da política AWSXrayReadOnlyAccess.

O X-Ray adicionou uma ação de API, ListResourcePolicies.

15 de novembro de 2022

Usar o console do X-Ray: atualização da política AWSXrayReadOnlyAccess

O X-Ray adicionou duas novas ações de API, BatchGetTraceSummaryById e GetDistinctTraceGraphs.

Essas ações não devem ser chamadas pelo código. Por isso, essas ações de API não são incluídas na AWS CLI e nos SDKs da AWS.

11 de novembro de 2022

Especificar um recurso dentro de uma política do IAM

Você pode controlar o acesso a recursos usando uma política do IAM. Para ações que aceitam permissões em nível de recurso, você usa um nome do recurso da Amazon (ARN) para identificar o recurso ao qual a política se aplica.

Todas as ações do X-Ray podem ser usadas em uma política do IAM para conceder ou negar a usuários permissão para usar essa ação. Contudo, nem todas as ações do X-Ray aceitam permissões em nível de recurso, que possibilitam especificar os recursos nos quais uma ação pode ser realizada.

Para ações que não aceitam permissões em nível de recurso, você deve usar “*” como o recurso.

As seguintes ações do X-Ray não aceitam permissões em nível de recurso:

  • CreateGroup

  • GetGroup

  • UpdateGroup

  • DeleteGroup

  • CreateSamplingRule

  • UpdateSamplingRule

  • DeleteSamplingRule

A seguir, veja um exemplo de uma política de permissões baseada em identidade para uma ação do CreateGroup. O exemplo mostra o uso de um ARN relacionado ao nome do grupo local-users com o ID exclusivo como um caractere curinga. Como o ID exclusivo é gerado quando o grupo é criado, não é possível prevê-lo na política com antecedência. Ao usar GetGroup, UpdateGroup ou DeleteGroup, você pode defini-lo como um curinga ou o exato ARN, incluindo ID.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:CreateGroup" ], "Resource": [ "arn:aws:xray:eu-west-1:123456789012:group/local-users/*" ] } ] }

A seguir, veja um exemplo de uma política de permissões baseada em identidade para uma ação do CreateSamplingRule.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:CreateSamplingRule" ], "Resource": [ "arn:aws:xray:eu-west-1:123456789012:sampling-rule/base-scorekeep" ] } ] }
nota

O ARN de uma regra de amostragem é definido por seu nome. Ao contrário dos ARNs do grupo, as regras de amostragem não possuem ID gerado exclusivamente.