Usar funções vinculadas ao serviço para o CloudWatch
O Amazon CloudWatch usa funções vinculadas 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 vinculada diretamente ao CloudWatch. As funções vinculadas ao serviço são predefinidas pelo CloudWatch e incluem todas as permissões que o serviço requer para chamar outros produtos da AWS em seu nome.
A função vinculada ao serviço do CloudWatch facilita as configurações de alarmes do CloudWatch que podem terminar, interromper ou reinicializar uma instância do Amazon EC2 sem a necessidade de adicionar as permissões necessárias manualmente. Outra função vinculada ao serviço permite que uma conta de monitoramento acesse dados do CloudWatch de outras contas especificadas por você, para criar painéis entre contas e entre regiões.
O CloudWatch define as permissões dessas funções vinculadas ao serviço e, a menos que definido de outra forma, somente o CloudWatch poderá assumir a função. 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.
É possível excluir as funções somente depois de primeiro excluir seus recursos relacionados. Essa restrição protege seus recursos do CloudWatch, pois não é possível remover acidentalmente as permissões para acessar os recursos.
Para obter informações sobre outros serviços compatíveis com funções vinculadas a serviços, consulte Serviços da AWS compatíveis com o IAM e procure os serviços que contenham Sim na coluna Funções vinculadas ao serviço. Escolha um Sim com um link para visualizar a documentação do perfil vinculado a esse serviço.
Permissões de função vinculada ao serviço para ações do EC2 de alarmes do CloudWatch
O CloudWatch usa a função vinculada ao serviço chamada AWSServiceRoleForCloudWatchEvents: o CloudWatch usa essa função vinculada ao serviço para executar ações de alarmes do Amazon EC2.
A função vinculada ao serviço AWSServiceRoleForCloudWatchEvents se apoia no serviço do CloudWatch Events abaixo para assumir a função. O CloudWatch Events invoca as ações de terminar, interromper ou reinicializar as instâncias quando chamado pelo alarme.
A política de permissões de função vinculada ao serviço AWSServiceRoleForCloudWatchEvents permite que o CloudWatch Events conclua estas ações nas instâncias do Amazon EC2:
-
ec2:StopInstances
-
ec2:TerminateInstances
-
ec2:RecoverInstances
-
ec2:DescribeInstanceRecoveryAttribute
-
ec2:DescribeInstances
-
ec2:DescribeInstanceStatus
A política de permissões de função vinculada ao serviço AWSServiceRoleForCloudWatchCrossAccount permite que o CloudWatch conclua as seguintes ações:
-
sts:AssumeRole
Permissões de perfis vinculados ao serviço para o CloudWatch Application Signals
O CloudWatch Application Signals usa o perfil vinculado ao serviço denominado AWSServiceRoleForCloudWatchApplicationSignals: o CloudWatch usa esse perfil vinculado ao serviço para coletar dados do CloudWatch Logs, dados de rastreamento do X-Ray, dados de métricas do CloudWatch e dados de marcação de aplicações que você habilitou para o CloudWatch Application Signals.
O perfil vinculado ao serviço AWSServiceRoleForCloudWatchApplicationSignals confia no CloudWatch Application Signals para assumir o perfil. O Application Signals coleta dados de logs, rastreamentos, métricas e tags usando sua conta.
O AWSServiceRoleForCloudWatchApplicationSignals possui uma política do IAM anexada, e essa política é denominada CloudWatchApplicationSignalsServiceRolePolicy. Essa política concede permissão ao CloudWatch Application Signals para coletar dados de monitoramento e de marcação de outros serviços da AWS relevantes. Ela inclui permissões para que o Application Signals conclua as seguintes ações:
-
xray:GetServiceGraph
-
logs:StartQuery
-
logs:GetQueryResults
-
cloudwatch:GetMetricData
-
cloudwatch:ListMetrics
-
tag:GetResources
O conteúdo completo da CloudWatchApplicationSignalsServiceRolePolicy é o seguinte:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "XRayPermission", "Effect": "Allow", "Action": [ "xray:GetServiceGraph" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "CWLogsPermission", "Effect": "Allow", "Action": [ "logs:StartQuery", "logs:GetQueryResults" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/appsignals/*:*", "arn:aws:logs:*:*:log-group:/aws/application-signals/data:*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "CWListMetricsPermission", "Effect": "Allow", "Action": [ "cloudwatch:ListMetrics" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "CWGetMetricDataPermission", "Effect": "Allow", "Action": [ "cloudwatch:GetMetricData" ], "Resource": [ "*" ] }, { "Sid": "TagsPermission", "Effect": "Allow", "Action": [ "tag:GetResources" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }
Permissões de função vinculada ao serviço para ações do Systems Manager OpsCenter de alarmes do CloudWatch
O CloudWatch usa a função vinculada ao serviço chamada AWSServiceRoleForCloudWatchAlarms_ActionSSM: o CloudWatch usa essa função vinculada ao serviço para executar ações do Systems Manager OpsCenter quando o alarme do CloudWatch passa para o estado ALARM.
A função vinculada ao serviço AWSServiceRoleForCloudWatchAlarms_ActionSSM se apoia no serviço do CloudWatch abaixo para assumir a função. Os alarmes do CloudWatch invocam as ações do Systems Manager OpsCenter quando chamado pelo alarme.
A política de permissões de função vinculada ao serviço AWSServiceRoleForCloudWatchAlarms_ActionSSM permite que o Systems Manager conclua as seguintes ações:
-
ssm:CreateOpsItem
Permissões de função vinculada ao serviço para ações do Systems Manager Incident Manager de alarmes do CloudWatch
O CloudWatch usa a função vinculada ao serviço chamada AWSServiceRoleForCloudWatchAlarms_ActionSSMIncidents: o CloudWatch usa essa função vinculada ao serviço para iniciar incidentes do Incident Manager quando o alarme do CloudWatch passa para o estado ALARM.
A função vinculada ao serviço AWSServiceRoleForCloudWatchAlarms_ActionSSMIncidents se apoia no serviço do CloudWatch abaixo para assumir a função. Os alarmes do CloudWatch invocam a ação do Systems Manager Incident Manager quando chamado pelo alarme.
A política de permissões de função vinculada ao serviço AWSServiceRoleForCloudWatchAlarms_ActionSSMIncidents permite que o Systems Manager conclua as seguintes ações:
-
ssm-incidents:StartIncident
Permissões de função vinculada ao serviço para o CloudWatch entre contas e entre regiões
O CloudWatch usa a função vinculada ao serviço chamada AWSServiceRoleForCloudWatchCrossAccount: o CloudWatch usa essa função para acessar os dados do CloudWatch em outras contas da AWS especificadas. O SLR fornece apenas a permissão da função assume para permitir que o serviço do CloudWatch assuma a função na conta de compartilhamento. É a função de compartilhamento que fornece acesso aos dados.
A política de permissões de função vinculada ao serviço AWSServiceRoleForCloudWatchCrossAccount permite que o CloudWatch conclua as seguintes ações:
-
sts:AssumeRole
A função vinculada ao serviço AWSServiceRoleForCloudWatchCrossAccount se apoia no serviço do CloudWatch para assumir a função.
Permissões de perfil vinculado ao serviço do Insights de Performance de banco de dados do CloudWatch
O CloudWatch Application Insights usa o perfil vinculado ao serviço chamado AWSServiceRoleForCloudWatchMetrics_DbPerfInsights. O CloudWatch usa essa perfil para recuperar métricas de Insights de Performance para criar alarmes e capturas instantâneas.
O perfil vinculado ao serviço ao serviço AWSServiceRoleForCloudWatchMetrics_DbPerfInsights tem a política do IAM AWSServiceRoleForCloudWatchMetrics_DbPerfInsightsServiceRolePolicy
anexada. O conteúdo dessa política está listado como a seguir:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "pi:GetResourceMetrics" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }
O perfil vinculado ao serviço AWSServiceRoleForCloudWatchMetrics_DbPerfInsights confia no serviço do CloudWatch para assumir o perfil.
Criar uma função vinculada ao serviço para o CloudWatch
Não é necessário criar manualmente nenhuma dessas funções vinculadas ao serviço. A primeira vez que você cria um alarme no AWS Management Console, na CLI do IAM ou na API do IAM, o CloudWatch cria AWSServiceRoleForCloudWatchEvents e AWSServiceRoleForCloudWatchAlarms_ActionSSM para você.
Na primeira vez que você habilita a descoberta de serviços e de topologias, o Application Signals cria um AWSServiceRoleForCloudWatchApplicationSignals para você.
Quando você habilita uma conta para ser uma conta de monitoramento da funcionalidade entre contas e entre regiões, o CloudWatch cria AWSServiceRoleForCloudWatchCrossAccount para você.
Quando você cria pela primeira vez um alarme que usa a função matemática métrica DB_PERF_INSIGHTS
, o CloudWatch cria AWSServiceRoleForCloudWatchMetrics_DBPerfInsights 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 para o CloudWatch
O CloudWatch não permite editar os perfis AWSServiceRoleForCloudWatchEvents, AWSServiceRoleForCloudWatchAlarms_ActionSSM, AWSServiceRoleForCloudWatchCrossAccount ou AWSServiceRoleForCloudWatchMetrics_DbPerfInsights. 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)
-
No painel de navegação do console do IAM, escolha Perfis.
-
Escolha o nome da função a ser modificada.
-
No extremo direito da Descrição da função, escolha Editar.
-
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)
-
(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 comomyrole
. -
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
--descriptiondescription
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)
-
(Opcional) Para visualizar a descrição atual de uma função, use o comando a seguir:
-
Para atualizar a descrição de uma função, use o comando a seguir:
Excluir uma função vinculada a serviço para o CloudWatch
Se você não tem mais alarmes que automaticamente interrompem, encerram ou reinicializam as instâncias do EC2, recomendamos que você exclua a função AWSServiceRoleForCloudWatchEvents.
Se você não tem mais alarmes que executam ações do Systems Manager OpsCenter, recomendamos excluir a função AWSServiceRoleForCloudWatchAlarms_ActionSSM.
Se você excluir todos os alarmes que usam a função matemática métrica DB_PERF_INSIGHTS
, é recomendável excluir o perfil vinculado ao serviço AWSServiceRoleForCloudWatchMetrics_DbPerfInsights.
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
Abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No painel de navegação, escolha Perfis. Escolha o nome (não a caixa de seleção) da função AWSServiceRoleForCloudWatchEvents.
-
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 CloudWatch está usando a função AWSServiceRoleForCloudWatchEvents, tente excluir a função. 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)
Abra o console do IAM em https://console.aws.amazon.com/iam/
. -
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.
-
Em Ações de função, escolha Excluir função.
-
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.
-
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)
-
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
-
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
, ouFAILED
. 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)
-
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. -
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
, ouFAILED
. Se a exclusão falhar, a chamada informará o motivo de falha para que você possa solucionar o problema.
Atualizações do CloudWatch para funções vinculadas ao serviço da AWS
Veja detalhes sobre atualizações em políticas gerenciadas pela AWS para o CloudWatch desde que esse serviço começou a monitorar essas alterações. Para obter alertas automáticos sobre alterações feitas nesta página, inscreva-se no feed RSS na página Document history (Histórico de documentos) do CloudWatch.
Alteração | Descrição | Data |
---|---|---|
AWSServiceRoleForCloudWatchApplicationSignals: atualização nas permissões da política de perfil vinculado ao serviço |
O CloudWatch adicionou mais grupos de log ao escopo das permissões |
24 de abril de 2024 |
AWSServiceRoleForCloudWatchApplicationSignals: novo perfil vinculado ao serviço |
O CloudWatch adicionou esse novo perfil vinculado ao serviço para permitir que o CloudWatch Application Signals colete dados do CloudWatch Logs, dados de rastreamento do X-Ray, dados de métricas do CloudWatch e dados de marcação de aplicações que você habilitou para o CloudWatch Application Signals. |
9 de novembro de 2023 |
AWSServiceRoleForCloudWatchMetrics_DbPerfInsights: novo perfil vinculado ao serviço |
O CloudWatch adicionou esse novo perfil vinculado ao serviço para permitir que o CloudWatch busque métricas de Insights de Performance para alarmes e captura de instantâneos. Uma política do IAM está anexada a esse perfil, e a política concede permissão ao CloudWatch para buscar métricas de Insights de Performance em seu nome. |
13 de setembro de 2023 |
AWSServiceRoleForCloudWatchAlarms_ActionSSMIncidents: nova função vinculada ao serviço |
O CloudWatch adicionou uma nova função vinculada ao serviço para permitir que o CloudWatch crie incidentes no AWS Systems Manager Incident Manager. |
26 de abril de 2021 |
O CloudWatch começou a monitorar alterações |
O CloudWatch começou a rastrear alterações para seus perfis vinculados ao serviço. |
26 de abril de 2021 |