

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 o IAM
<a name="security_iam_service-with-iam"></a>

Antes de usar o IAM para gerenciar o acesso ao X-Ray, você precisa saber quais recursos do IAM estão disponíveis para uso com o X-Ray. Para obter uma visão de alto nível de como o X-Ray e outros Serviços da AWS funcionam com o IAM, consulte [Serviços da AWS That Work with IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) no *Guia do usuário do IAM*.

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. O IAM controla o acesso ao serviço X-Ray no nível da API para aplicar as permissões de maneira uniforme, independentemente de qual cliente (console, AWS SDK AWS CLI) seus usuários empregam.

Para [usar o console do X-Ray](aws-xray-interface-console.md#xray-console) a fim de visualizar os mapas de serviço e os segmentos, você só precisa de permissões de leitura. Para habilitar o acesso ao console, adicione a `AWSXrayReadOnlyAccess` [política gerenciada](security_iam_id-based-policy-examples.md#xray-permissions-managedpolicies) ao usuário do IAM.

Para [desenvolvimento e testes locais](#xray-permissions-local), crie um perfil do IAM com permissões de leitura e gravação. [Assuma o perfil](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) e armazene as credenciais temporárias do perfil. Você pode usar essas credenciais com o daemon X-Ray AWS CLI, o e o SDK. AWS Para obter mais informações, consulte [Uso de credenciais de segurança temporárias com a AWS CLI](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html#using-temp-creds-sdk-cli).

Para [implantar seu aplicativo instrumentado AWS, crie](#xray-permissions-aws) uma função do IAM com permissões de gravação e atribua-a aos recursos que executam seu aplicativo. `AWSXRayDaemonWriteAccess`inclui permissão para fazer upload de rastreamentos e algumas permissões de leitura para apoiar o uso de [regras de amostragem](xray-console-sampling.md).

As políticas de leitura e gravação não incluem a permissão para definir as [configurações de chaves de criptografia](xray-console-encryption.md) e as regras de amostragem. Use `AWSXrayFullAccess` para acessar essas configurações ou adicionar [configurações APIs](xray-api-configuration.md) 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](#xray-permissions-encryption).

**Topics**
+ [Políticas baseadas em identidade do X-Ray](#security_iam_service-with-iam-id-based-policies)
+ [Políticas baseadas em recursos do X-Ray](#security_iam_service-with-iam-resource-based-policies)
+ [Autorização baseada em tags do X-Ray](#security_iam_service-with-iam-tags)
+ [Executar o aplicativo localmente](#xray-permissions-local)
+ [Executando seu aplicativo em AWS](#xray-permissions-aws)
+ [Permissões de usuário para criptografia](#xray-permissions-encryption)

## Políticas baseadas em identidade do X-Ray
<a name="security_iam_service-with-iam-id-based-policies"></a>

Com as políticas baseadas em identidade do IAM, é possível especificar ações e recursos permitidos ou negados, assim 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 conhecer todos os elementos usados em uma política JSON, consulte [Referência de elementos de política JSON do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) no *Guia do usuário do IAM*.

### Ações
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

Os administradores podem usar políticas AWS JSON 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 `Action` de uma política JSON descreve as ações que podem ser usadas para permitir ou negar acesso em uma política. 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 a alguém permissão para recuperar detalhes de recursos de grupo com a operação de API `GetGroup` do X-Ray, inclua a ação `xray:GetGroup` na política dessa pessoa. 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 de ações do X-Ray, consulte [Actions Defined by AWS X-Ray](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsx-ray.html) no *Guia do usuário do IAM*.

### Recursos
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Os administradores podem usar políticas AWS JSON 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 de política JSON `Resource` especifica o objeto ou os objetos aos quais a ação se aplica. Como prática recomendada, especifique um recurso usando seu [nome do recurso da Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Para ações que não oferecem compatibilidade com permissões em nível de recurso, use um curinga (\*) para indicar que a instrução se aplica a todos os recursos.

```
"Resource": "*"
```

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](https://docs.aws.amazon.com/xray/latest/api/API_Operations.html) 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.

**nota**  
O ARN de uma regra de amostragem é definido por seu nome. Diferentemente do grupo ARNs, as regras de amostragem não têm um ID gerado exclusivamente.

Para ver uma lista dos tipos de recursos do X-Ray e seus ARNs, consulte [Resources Defined by AWS X-Ray](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsx-ray.html#awsx-ray-resources-for-iam-policies) no *Guia do usuário do IAM*. Para saber com quais ações é possível especificar o ARN de cada recurso, consulte [Ações definidas pelo AWS X-Ray](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsx-ray.html).

### Chaves de condição
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) no *Guia do usuário do IAM*.

### Exemplos
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

Para visualizar exemplos de políticas baseadas em identidade do X-Ray, consulte [AWS X-Ray exemplos de políticas baseadas em identidade](security_iam_id-based-policy-examples.md).

## Políticas baseadas em recursos do X-Ray
<a name="security_iam_service-with-iam-resource-based-policies"></a>

O X-Ray oferece suporte a políticas baseadas em recursos para AWS service (Serviço da AWS) integração atual e futura, como o rastreamento ativo do [Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html). As políticas baseadas em recursos do X-Ray podem ser atualizadas por outros Console de gerenciamento da AWS ou por meio do AWS SDK ou da CLI. Por exemplo, o console do Amazon SNS 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.

**Example Exemplo de política baseada em recursos do X-Ray para rastreamento ativo do Amazon SNS**  
Este exemplo de documento de política especifica as permissões que o Amazon SNS precisa para enviar dados de rastreamento ao 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 a CLI para criar uma política baseada em recursos que conceda permissões ao Amazon SNS para enviar dados de rastreamento ao 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{{`partition`}}, {{`region`}}{{`account-id`}}, e {{`topic-name`}} por sua AWS partição, região, ID da conta e nome de tópico do Amazon SNS específicos. Para conceder permissão a todos os tópicos do Amazon SNS para enviar dados de rastreamento ao X-Ray, substitua o nome do tópico por `*`. 

## Autorização baseada em tags do X-Ray
<a name="security_iam_service-with-iam-tags"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) 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](xray-tagging.md).

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](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-manage-sampling-tags).

## Executar o aplicativo localmente
<a name="xray-permissions-local"></a>

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 do X-Ray. O daemon precisa de permissões de gravação para carregar os dados de rastreamento e telemetria no serviço do X-Ray.

Ao [executar o daemon localmente](xray-daemon-local.md), crie um perfil do IAM, [assuma o perfil](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) e armazene credenciais temporárias em variáveis de ambiente ou em um arquivo denominado `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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html#using-temp-creds-sdk-cli).

**Example \~/.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
<a name="xray-permissions-aws"></a>

Ao executar seu aplicativo em AWS, use uma função para conceder permissão à instância do Amazon EC2 ou à função Lambda que executa o daemon.
+ **Amazon Elastic Compute Cloud (Amazon EC2)**: crie um perfil do IAM e anexe-o à instância do EC2 como um [perfil de instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html).
+ **Amazon Elastic Container Service (Amazon ECS)**: crie um perfil do IAM e anexe-a às instâncias de contêiner como um [perfil do IAM da instância de contêiner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html).
+ **AWS Elastic Beanstalk (Elastic Beanstalk) — O Elastic** [Beanstalk inclui permissões de X-Ray em seu perfil de instância padrão.](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts-roles.html#concepts-roles-instance) É possível usar o perfil da instância padrão ou adicionar permissões de gravação a um perfil da instância personalizado.
+ **AWS Lambda (Lambda)** — Adicione permissões de gravação à função de execução da sua função.

**Como criar uma função a ser usada com o X-Ray**

1. Abra o [console do IAM](https://console.aws.amazon.com/iam/home).

1. Escolha **Perfis**.

1. Escolha **Criar nova função**.

1. Em **Nome da função**, digite **xray-application**. Escolha **Próxima etapa**.

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

1. Anexe a política gerenciada a seguir para oferecer ao aplicativo 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.

1. Escolha **Próxima etapa**.

1. Selecione **Criar função**.

## Permissões de usuário para criptografia
<a name="xray-permissions-encryption"></a>

Por padrão, o X-Ray criptografa todos os dados de rastreamento, e é possível [configurá-lo para usar uma chave gerenciada por você](xray-console-encryption.md). 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 têm permissão para chamar `kms:Decrypt`.

Quando você adiciona um usuário ao grupo **Usuários de chaves** na seção de configuração de chaves do console do IAM, ele tem permissão para executar ambas as 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](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html).

Para criptografia padrão, ou se você escolher a CMK AWS gerenciada (`aws/xray`), a permissão é baseada em quem tem acesso ao X-Ray APIs. Quem tiver acesso a [https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html](https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html), incluindo em `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 [https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html](https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html).