Usar funções vinculadas ao serviço para o CloudWatch RUM - Amazon CloudWatch

Usar funções vinculadas ao serviço para o CloudWatch RUM

O CloudWatch RUM usa um perfil vinculado ao serviço do AWS Identity and Access Management (IAM). A função vinculada ao serviço é um tipo exclusivo de função do IAM ligada diretamente ao RUM. O perfil vinculado ao serviço é predefinido pelo RUM e inclui todas as permissões de que o serviço precisa para chamar outros serviços da AWS em seu nome.

O RUM define as permissões desses perfis vinculados ao serviço e, a menos que definido em contrário, apenas o RUM pode assumir o perfil. As permissões definidas incluem a política de confiança e a política de permissões, e essa política não pode ser anexada a nenhuma outra entidade do IAM.

Você só poderá excluir os perfis após excluir os recursos relacionados. Essa restrição protege seus recursos do RUM, pois não é possível remover acidentalmente as permissões para acessá-los.

Para obter informações sobre outros serviços compatíveis com perfis vinculados ao serviço, consulte serviços da AWS que funcionam com o IAM e procure os serviços que apresentam Sim na coluna Perfis vinculados aos serviços. Escolha um Sim com um link para visualizar a documentação da função vinculada a esse serviço.

Permissões de função vinculada ao serviço no RUM

O RUM usa a função vinculada ao serviço chamada AWSServiceRoleForCloudWatchrum: essa função permite que o RUM envie rastreamento de dados do AWS X-Ray em sua conta, para monitorar aplicações para as quais você habilita o rastreamento de X-Ray.

A função vinculada ao serviço AWSServiceRoleForCloudWatchRUM se apoia no serviço do X-Ray para assumir a função. O X-Ray envia os dados de rastreamento para a sua conta.

A função vinculada ao serviço AWSServiceRoleForCloudWatchRUM tem uma política do IAM anexada chamada AmazonCloudWatchRUMServiceRolePolicy. Essa política concede permissão ao CloudWatch RUM para publicar dados de monitoramento para outros serviços relevantes da AWS. Ela inclui permissões que permitem ao RUM concluir as ações a seguir:

  • xray:PutTraceSegments

  • cloudwatch:PutMetricData

Este é o conteúdo completo da política AmazonCloudWatchRUMServiceRolePolicy.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:PutTraceSegments" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": "cloudwatch:PutMetricData", "Resource": "*", "Condition": { "StringLike": { "cloudwatch:namespace": [ "RUM/CustomMetrics/*", "AWS/RUM" ] } } } ] }

Criar uma função vinculada ao serviço no RUM

Não é necessário criar manualmente uma função vinculada a serviço para o CloudWatch RUM. Na primeira vez que você cria um monitor de aplicações com o rastreamento de X-Ray habilitado ado ou atualiza um monitor de aplicações para usar o rastreamento de X-Ray, o RUM cria um AWSServiceRoleForCloudWatchRUM para você.

Para obter mais informações, consulte Criar uma função vinculada ao serviço no Guia do usuário do IAM.

Editar uma função vinculada ao serviço no RUM

O CloudWatch RUM não permite que você edite a função AWSServiceRoleForCloudRUM. Depois de criar essas funções, você não pode alterar seus nomes porque várias entidades podem fazer referência a elas. No entanto, você poderá editar a descrição da função usando o IAM.

Editar a descrição de uma função vinculada ao serviço (console do IAM)

Você pode usar o console do IAM para editar a descrição de uma função vinculada ao serviço.

Para editar a descrição de uma função vinculada ao serviço (console)
  1. No painel de navegação do console do IAM, escolha Perfis.

  2. Escolha o nome da função a ser modificada.

  3. No extremo direito da Descrição da função, escolha Editar.

  4. Digite uma nova descrição na caixa e escolha Save (Salvar).

Editar a descrição de uma função vinculada ao serviço (AWS CLI)

Você pode usar comandos do IAM na AWS Command Line Interface para editar a descrição de uma função vinculada ao serviço.

Para alterar a descrição de uma função vinculada ao serviço (AWS CLI)
  1. (Opcional) Para visualizar a descrição atual de a uma função, use um dos comandos a seguir:

    $ aws iam get-role --role-name role-name

    Use o nome da função, não o ARN, para fazer referência às funções com os comandos da AWS CLI. Por exemplo, se uma função tiver o seguinte nome de recurso da Amazon (ARN): arn:aws:iam::123456789012:role/myrole, você fará referência à função como myrole.

  2. Para atualizar a descrição de uma função vinculada ao serviço, use um dos seguintes comandos:

    $ aws iam update-role-description --role-name role-name --description description

Editar a descrição de uma função vinculada ao serviço (API do IAM)

Você pode usar a API do IAM para editar a descrição de uma função vinculada ao serviço.

Para alterar a descrição de uma função (API)
  1. (Opcional) Para visualizar a descrição atual de uma função, use o comando a seguir:

    GetRole

  2. Para atualizar a descrição de uma função, use o comando a seguir:

    UpdateRoleDescription

Excluir uma função vinculada ao serviço no RUM

Se você não tem mais monitores de aplicações com o X-Ray habilitados, recomendamos que você exclua a função AWSServiceRoleForCloudWatchRUM.

Dessa forma, você não tem uma entidade não utilizada que não seja monitorada ativamente ou mantida. No entanto, você deve limpar sua função vinculada ao serviço antes de excluí-la.

Limpar uma função vinculada ao serviço

Antes de você poder usar o IAM para excluir uma função vinculada ao serviço, você deve primeiro confirmar que a função não tem sessões ativas e remover quaisquer recursos usados pela função.

Para verificar se a função vinculada ao serviço tem uma sessão ativa no console do IAM
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Perfis. Escolha o nome (não a caixa de seleção) da função AWSServiceRoleForCloudWatchRUM.

  3. Na página Resumo da função selecionada, escolha Consultor de acesso e analise as atividades recentes para a função vinculada ao serviço.

    nota

    Se você não tiver certeza se o RUM está usando a função AWSServiceRoleForCloudWatchRUM, tente excluí-la. Se o serviço estiver usando a função, a exclusão falhará e você poderá visualizar as regiões da em que a função está sendo usada. Se a função está sendo usada, você deve aguardar a sessão final antes de excluir a função. Não é possível revogar a sessão de uma função vinculada a um serviço.

Excluir um perfil vinculado ao serviço (console do IAM)

É possível usar o console do IAM para excluir uma função vinculada ao serviço.

Para excluir uma função vinculada ao serviço (console)
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Perfis. Marque a caixa de seleção ao lado do nome da função que você deseja excluir, não o nome ou a linha em si.

  3. Em Ações de função, escolha Excluir função.

  4. Na caixa de diálogo de confirmação, revise os dados do último acesso ao serviço que mostram quando cada uma das funções selecionadas acessou pela última vez um produto da AWS. Isso ajuda você a confirmar se a função está ativo no momento. Para prosseguir, selecione Yes, Delete.

  5. Monitore as notificações do console do IAM para progresso da exclusão da função vinculada ao serviço. Como a exclusão da função vinculada ao serviço do IAM é assíncrona, depois que você enviar a função para exclusão, a tarefa de exclusão poderá ser concluída ou falhar. Se a tarefa falhar, escolha Visualizar detalhes ou Visualizar recursos nas notificações para saber por que a exclusão falhou. Se houve falha na exclusão porque há recursos no serviço que estão sendo usados pela função, o motivo da falha incluirá uma lista de recursos.

Excluir uma função vinculada ao serviço (AWS CLI)

Você pode usar comandos do IAM na AWS Command Line Interface para excluir uma função vinculada ao serviço.

Para excluir uma função vinculada ao serviço (AWS CLI)
  1. Como uma função vinculada ao serviço não podem ser excluída se estiver sendo usada ou tiver recursos associados, você deverá enviar uma solicitação de exclusão. Essa solicitação poderá ser negada se essas condições não forem atendidas. Você deve capturar o deletion-task-id da resposta para verificar o status da tarefa de exclusão. Digite o seguinte comando para enviar uma solicitação de exclusão de função vinculada ao serviço:

    $ aws iam delete-service-linked-role --role-name service-linked-role-name
  2. Digite o seguinte comando para verificar o estado da tarefa de exclusão:

    $ aws iam get-service-linked-role-deletion-status --deletion-task-id deletion-task-id

    O status da tarefa de exclusão pode ser NOT_STARTED, IN_PROGRESS, SUCCEEDED, ou FAILED. Se a exclusão falhar, a chamada informará o motivo de falha para que você possa solucionar o problema.

Excluir uma função vinculada ao serviço (API do IAM)

É possível usar a API do IAM para excluir uma função vinculada ao serviço.

Para excluir uma função vinculada ao serviço (API)
  1. Para enviar uma solicitação de exclusão de uma função vinculada ao serviço, chame DeleteServiceLinkedRole. Na solicitação, especifique o nome da função que você deseja excluir.

    Como uma função vinculada ao serviço não podem ser excluída se estiver sendo usada ou tiver recursos associados, você deverá enviar uma solicitação de exclusão. Essa solicitação poderá ser negada se essas condições não forem atendidas. Você deve capturar o DeletionTaskId da resposta para verificar o status da tarefa de exclusão.

  2. Para verificar o status da exclusão, chame GetServiceLinkedRoleDeletionStatus. Na solicitação, especifique o DeletionTaskId.

    O status da tarefa de exclusão pode ser NOT_STARTED, IN_PROGRESS, SUCCEEDED, ou FAILED. Se a exclusão falhar, a chamada informará o motivo de falha para que você possa solucionar o problema.