Como AWS X-Ray funciona com IAM - AWS X-Ray

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

Como AWS X-Ray funciona com IAM

Antes de usar IAM para gerenciar o acesso ao X-Ray, você deve entender quais IAM recursos estão disponíveis para uso com o X-Ray. Para obter uma visão geral de como o X-Ray e outros Serviços da AWS trabalham comIAM, consulte Serviços da AWS That Work with IAM no Guia do IAM Usuário.

Você pode usar AWS Identity and Access Management (IAM) para conceder permissões de X-Ray a usuários e recursos computacionais em sua conta. IAMcontrola o acesso ao serviço X-Ray no API nível para aplicar as permissões de maneira uniforme, independentemente de qual cliente (console AWS CLI) seus usuários empregam. AWS SDK

Para usar o console X-Ray para visualizar mapas e segmentos de rastreamento, você só precisa de permissões de leitura. Para habilitar o acesso ao console, adicione a política AWSXrayReadOnlyAccess gerenciada ao seu IAM usuário.

Para desenvolvimento e testes locais, crie uma IAM função com permissões de leitura e gravação. Assuma o perfil e armazene as credenciais temporárias do perfil. Você pode usar essas credenciais com o daemon X-Ray AWS CLI, o e. AWS SDK Para obter mais informações, consulte Uso de credenciais de segurança temporárias com a AWS CLI.

Para implantar seu aplicativo instrumentado em AWS, crie uma IAM função com permissões de gravação e atribua-a aos recursos que executam seu aplicativo. AWSXRayDaemonWriteAccessinclui permissão para fazer upload de rastreamentos e algumas permissões de leitura para apoiar o uso de regras de amostragem.

As políticas de leitura e gravação não incluem a permissão para definir as configurações de chaves de criptografia e as regras de amostragem. Use AWSXrayFullAccess para acessar essas configurações ou adicionar configurações APIs em uma política personalizada. Para a criptografia e a descriptografia com uma chave gerenciada pelo cliente criada por você, também será preciso obter permissão para usar a chave.

Políticas baseadas em identidade do X-Ray

Com políticas IAM baseadas em identidade, você pode especificar ações e recursos permitidos ou negados, bem como as condições sob as quais as ações são permitidas ou negadas. O X-Ray oferece suporte a ações, recursos e chaves de condição específicos. Para saber mais sobre todos os elementos que você usa em uma JSON política, consulte Referência IAM JSON de elementos de política no Guia do IAM usuário.

Ações

Os administradores podem usar AWS JSON políticas para especificar quem tem acesso ao quê. Ou seja, qual entidade principal pode executar ações em quais recursos, e em que condições.

O Action elemento de uma JSON política descreve as ações que você pode usar para permitir ou negar acesso em uma política. As ações de política geralmente têm o mesmo nome da AWS API operação associada. Há algumas exceções, como ações somente com permissão que não têm uma operação correspondente. API Algumas operações também exigem várias ações em uma política. Essas ações adicionais são chamadas de ações dependentes.

Incluem ações em uma política para conceder permissões para executar a operação associada.

As ações de políticas no X-Ray usam o seguinte prefixo antes da ação: xray:. Por exemplo, para conceder permissão a alguém para recuperar detalhes de recursos do grupo com a GetGroup API operação X-Ray, você inclui a xray:GetGroup ação em sua política. As instruções de política devem incluir um elemento Action ou NotAction. O X-Ray define um conjunto próprio de ações que descrevem as tarefas que você pode executar com esse serviço.

Para especificar várias ações em uma única instrução, separe-as com vírgulas, como segue:

"Action": [ "xray:action1", "xray:action2"

Você também pode especificar várias ações usando caracteres curinga (*). Por exemplo, para especificar todas as ações que começam com a palavra Get, inclua a seguinte ação:

"Action": "xray:Get*"

Para ver uma lista das ações do X-Ray, consulte Actions Defined by AWS X-Ray no Guia IAM do Usuário.

Recursos

Os administradores podem usar AWS JSON políticas para especificar quem tem acesso ao quê. Ou seja, qual entidade principal pode executar ações em quais recursos, e em que condições.

O elemento Resource JSON de política especifica o objeto ou objetos aos quais a ação se aplica. As instruções devem incluir um elemento Resource ou NotResource. Como prática recomendada, especifique um recurso usando seu Amazon Resource Name (ARN). Isso pode ser feito para ações que oferecem compatibilidade com um tipo de recurso específico, conhecido como permissões em nível de recurso.

Para ações que não oferecem compatibilidade com permissões em nível de recurso, como operações de listagem, use um curinga (*) para indicar que a instrução se aplica a todos os recursos.

"Resource": "*"

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

Todas as ações do X-Ray podem ser usadas em uma IAM política para conceder ou negar aos 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 nome ARN relacionado ao grupo local-users com o ID exclusivo como curinga. Como o ID exclusivo é gerado quando o grupo é criado, não é possível prevê-lo na política com antecedência. Ao usarGetGroup,UpdateGroup, ouDeleteGroup, você pode definir isso como um curinga ou o exatoARN, 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

A ARN de uma regra de amostragem é definida por seu nome. Diferentemente do grupoARNs, as regras de amostragem não têm um ID gerado exclusivamente.

Para ver uma lista dos tipos de recursos do X-Ray e seusARNs, consulte Resources Defined by AWS X-Ray no Guia IAM do Usuário. Para saber com quais ações você pode especificar cada recurso, consulte Ações definidas por AWS X-Ray. ARN

Chaves de condição

O X-Ray não fornece nenhuma chave de condição específica ao serviço, mas permite o uso de algumas chaves de condição globais. Para ver todas as chaves de condição AWS globais, consulte Chaves de contexto de condição AWS global no Guia IAM do usuário.

Exemplos

Para visualizar exemplos de políticas baseadas em identidade do X-Ray, consulte AWS X-Ray exemplos de políticas baseadas em identidade.

Políticas baseadas em recursos do X-Ray

O X-Ray oferece suporte a políticas baseadas em recursos para Serviço da AWS integração atual e futura, como o Amazon SNS Active Tracing. As políticas baseadas em recursos do X-Ray podem ser atualizadas por outros AWS Management Console s ou por meio do AWS SDK ou. CLI Por exemplo, o SNS console da Amazon tenta configurar automaticamente uma política baseada em recursos para enviar rastreamentos para o X-Ray. O documento de política a seguir fornece um exemplo de configuração manual da política baseada em recursos do X-Ray.

exemplo Exemplo de política baseada em recursos do X-Ray para rastreamento ativo da Amazon SNS

Este exemplo de documento de política especifica as permissões que a Amazon SNS precisa para enviar dados de rastreamento para o X-Ray:

{ Version: "2012-10-17", Statement: [ { Sid: "SNSAccess", Effect: Allow, Principal: { Service: "sns.amazonaws.com", }, Action: [ "xray:PutTraceSegments", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], Resource: "*", Condition: { StringEquals: { "aws:SourceAccount": "account-id" }, StringLike: { "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name" } } } ] }

Use o CLI para criar uma política baseada em recursos que conceda à Amazon SNS permissões para enviar dados de rastreamento para o X-Ray:

aws xray put-resource-policy --policy-name MyResourcePolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "SNSAccess", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": [ "xray:PutTraceSegments", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "StringLike": { "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name" } } } ] }'

Para usar esses exemplos, substitua Partição, região, account-id e nome do tópico com sua AWS partição específica, região, ID da conta e nome do SNS tópico da Amazon. Para permitir que todos os SNS tópicos da Amazon enviem dados de rastreamento para o X-Ray, substitua o nome do tópico por*.

Autorização baseada em tags do X-Ray

Você pode anexar tags a grupos ou regras de amostragem do X-Ray ou passar tags em uma solicitação para o X-Ray. Para controlar o acesso baseado em tags, forneça informações sobre as tags no elemento de condição de uma política usando as chaves de condição xray:ResourceTag/key-name, aws:RequestTag/key-name ou aws:TagKeys. Para obter mais informações sobre recursos de marcação do X-Ray, consulte Marcar grupos e regras de amostragem do X-Ray.

Para visualizar um exemplo de política baseada em identidade para limitar o acesso a um recurso baseado em tags desse recurso, consulte Gerenciar o acesso a grupos e regras de amostragem do X-Ray com base em tags.

Executar o aplicativo localmente

A aplicação instrumentada envia dados de rastreamento para o daemon do X-Ray. O daemon armazena em buffer documentos segmentados e os carrega em lote no serviço X-Ray. O daemon precisa de permissões de gravação para carregar os dados de rastreamento e telemetria no serviço X-Ray.

Ao executar o daemon localmente, crie uma IAM função, assuma a função e armazene credenciais temporárias em variáveis de ambiente ou em um arquivo nomeado credentials em uma pasta chamada .aws na sua pasta de usuário. Para obter mais informações, consulte Uso de credenciais de segurança temporárias com a AWS CLI.

exemplo ~/.aws/credentials
[default] aws_access_key_id={access key ID} aws_secret_access_key={access key} aws_session_token={AWS session token}

Se você já configurou as credenciais para uso com o AWS SDK ou AWS CLI, o daemon pode usá-las. Caso haja vários perfis disponíveis, o daemon usa o perfil padrão.

Executando seu aplicativo em AWS

Ao executar seu aplicativo em AWS, use uma função para conceder permissão à EC2 instância da Amazon ou à função Lambda que executa o daemon.

Como criar uma função a ser usada com o X-Ray
  1. Abra o console de IAM.

  2. Escolha Perfis.

  3. Escolha Criar nova função.

  4. Em Nome da função, digite xray-application. Escolha Next Step.

  5. Em Tipo de função, escolha Amazon EC2.

  6. Anexe a política gerenciada a seguir para oferecer à aplicação acesso aos Serviços da AWS.

    • AWSXRayDaemonWriteAccess— Concede permissão ao daemon X-Ray para carregar dados de rastreamento.

    Se seu aplicativo usa o AWS SDK para acessar outros serviços, adicione políticas que concedam acesso a esses serviços.

  7. Escolha Next Step.

  8. Selecione Criar função.

Permissões de usuário para criptografia

Por padrão, o X-Ray criptografa todos os dados de rastreamento, e é possível configurá-lo para usar uma chave gerenciada por você. Se você escolher uma chave gerenciada pelo AWS Key Management Service cliente, precisará garantir que a política de acesso da chave permita que você conceda permissão ao X-Ray para usá-la para criptografar. Outros usuários em sua conta também precisam acessar a chave para visualizar dados de rastreamento criptografados no console do X-Ray.

Para obter uma chave gerenciada pelo cliente, configure sua chave com uma política de acesso que permita as ações a seguir.

  • O usuário que configura a chave no X-Ray deve ter permissão para chamar kms:CreateGrant e kms:DescribeKey.

  • Os usuários que podem acessar os dados de rastreamento criptografados tem permissão para chamar kms:Decrypt.

Quando você adiciona um usuário ao grupo Usuários principais na seção de configuração de chaves do IAM console, ele tem permissão para essas duas operações. A permissão só precisa ser definida na política de chaves, então você não precisa de nenhuma AWS KMS permissão para seus usuários, grupos ou funções. Para obter mais informações, consulte Usando políticas de chaves no Guia do AWS KMS desenvolvedor.

Para criptografia padrão, ou se você escolher o AWS gerenciado CMK (aws/xray), a permissão é baseada em quem tem acesso ao X-RayAPIs. Quem tiver acesso à PutEncryptionConfig, incluindo na AWSXrayFullAccess, poderá alterar a configuração de criptografia. Para evitar que um usuário altere a chave de criptografia, não lhe dê permissão para usar a PutEncryptionConfig.