

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

# Usando funções vinculadas a serviços para o Guru DevOps
<a name="using-service-linked-roles"></a>

O Amazon DevOps Guru usa funções AWS Identity and Access Management [vinculadas a serviços](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) (IAM). Uma função vinculada a serviços é um tipo exclusivo de função do IAM vinculada diretamente ao DevOps Guru. As funções vinculadas ao serviço são predefinidas pelo DevOps Guru e incluem todas as permissões que o serviço exige para chamar a AWS CloudTrail Amazon CloudWatch,,, e o AWS X-Ray AWS Organizations em seu nome. AWS CodeDeploy

Uma função vinculada ao serviço facilita a configuração do DevOps Guru porque você não precisa adicionar manualmente as permissões necessárias. DevOpsO Guru define as permissões de suas funções vinculadas ao serviço e, a menos que seja definido de outra forma, somente o DevOps Guru pode assumir suas funções. As permissões definidas incluem as políticas de confiança e de permissões, e essa política de permissões não pode ser anexada a nenhuma outra entidade do IAM.

Você só pode excluir um perfil vinculado a serviço depois de excluir os recursos relacionados. Isso protege seus recursos do DevOps Guru porque você não pode remover inadvertidamente a permissão para acessar os recursos.

## Permissões de função vinculadas ao serviço para o Guru DevOps
<a name="slr-permissions"></a>

DevOpsO Guru usa a função vinculada ao serviço chamada. `AWSServiceRoleForDevOpsGuru` Essa é uma política AWS gerenciada com permissões específicas que o DevOps Guru precisa executar em sua conta.

A função vinculada ao serviço `AWSServiceRoleForDevOpsGuru` confia no seguinte serviço para assumir a função:
+ `devops-guru.amazonaws.com`

A política de permissões de função `AmazonDevOpsGuruServiceRolePolicy` permite que o DevOps Guru conclua as seguintes ações nos recursos especificados.

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"autoscaling:DescribeAutoScalingGroups",
				"cloudtrail:LookupEvents",
				"cloudwatch:GetMetricData",
				"cloudwatch:ListMetrics",
				"cloudwatch:DescribeAnomalyDetectors",
				"cloudwatch:DescribeAlarms",
				"cloudwatch:ListDashboards",
				"cloudwatch:GetDashboard",
				"cloudformation:GetTemplate",
				"cloudformation:ListStacks",
				"cloudformation:ListStackResources",
				"cloudformation:DescribeStacks",
				"cloudformation:ListImports",
				"codedeploy:BatchGetDeployments",
				"codedeploy:GetDeploymentGroup",
				"codedeploy:ListDeployments",
				"config:DescribeConfigurationRecorderStatus",
				"config:GetResourceConfigHistory",
				"events:ListRuleNamesByTarget",
				"xray:GetServiceGraph",
				"organizations:ListRoots",
				"organizations:ListChildren",
				"organizations:ListDelegatedAdministrators",
				"pi:GetResourceMetrics",
				"tag:GetResources",
				"lambda:GetFunction",
				"lambda:GetFunctionConcurrency",
				"lambda:GetAccountSettings",
				"lambda:ListProvisionedConcurrencyConfigs",
				"lambda:ListAliases",
				"lambda:ListEventSourceMappings",
				"lambda:GetPolicy",
				"ec2:DescribeSubnets",
				"application-autoscaling:DescribeScalableTargets",
				"application-autoscaling:DescribeScalingPolicies",
				"sqs:GetQueueAttributes",
				"kinesis:DescribeStream",
				"kinesis:DescribeLimits",
				"dynamodb:DescribeTable",
				"dynamodb:DescribeLimits",
				"dynamodb:DescribeContinuousBackups",
				"dynamodb:DescribeStream",
				"dynamodb:ListStreams",
				"elasticloadbalancing:DescribeLoadBalancers",
				"elasticloadbalancing:DescribeLoadBalancerAttributes",
				"rds:DescribeDBInstances",
				"rds:DescribeDBClusters",
				"rds:DescribeOptionGroups",
				"rds:DescribeDBClusterParameters",
				"rds:DescribeDBInstanceAutomatedBackups",
				"rds:DescribeAccountAttributes",
				"logs:DescribeLogGroups",
				"logs:DescribeLogStreams",
				"s3:GetBucketNotification",
				"s3:GetBucketPolicy",
				"s3:GetBucketPublicAccessBlock",
				"s3:GetBucketTagging",
				"s3:GetBucketWebsite",
				"s3:GetIntelligentTieringConfiguration",
				"s3:GetLifecycleConfiguration",
				"s3:GetReplicationConfiguration",
				"s3:ListAllMyBuckets",
				"s3:ListStorageLensConfigurations",
				"servicequotas:GetServiceQuota",
				"servicequotas:ListRequestedServiceQuotaChangeHistory",
				"servicequotas:ListServiceQuotas"
			],
			"Resource": "*"
		},
		{
			"Sid": "AllowPutTargetsOnASpecificRule",
			"Effect": "Allow",
			"Action": [
				"events:PutTargets",
				"events:PutRule"
			],
			"Resource": "arn:aws:events:*:*:rule/DevOps-Guru-managed-*"
		},
		{
			"Sid": "AllowCreateOpsItem",
			"Effect": "Allow",
			"Action": [
				"ssm:CreateOpsItem"
			],
			"Resource": "*"
		},
		{
			"Sid": "AllowAddTagsToOpsItem",
			"Effect": "Allow",
			"Action": [
				"ssm:AddTagsToResource"
			],
			"Resource": "arn:aws:ssm:*:*:opsitem/*"
		},
		{
			"Sid": "AllowAccessOpsItem",
			"Effect": "Allow",
			"Action": [
				"ssm:GetOpsItem",
				"ssm:UpdateOpsItem"
			],
			"Resource": "*",
			"Condition": {
				"StringEquals": {
					"aws:ResourceTag/DevOps-GuruInsightSsmOpsItemRelated": "true"
				}
			}
		},
		{
			"Sid": "AllowCreateManagedRule",
			"Effect": "Allow",
			"Action": "events:PutRule",
			"Resource": "arn:aws:events:*:*:rule/DevOpsGuruManagedRule*"
		},
		{
			"Sid": "AllowAccessManagedRule",
			"Effect": "Allow",
			"Action": [
				"events:DescribeRule",
				"events:ListTargetsByRule"
			],
			"Resource": "arn:aws:events:*:*:rule/DevOpsGuruManagedRule*"
		},
		{
			"Sid": "AllowOtherOperationsOnManagedRule",
			"Effect": "Allow",
			"Action": [
				"events:DeleteRule",
				"events:EnableRule",
				"events:DisableRule",
				"events:PutTargets",
				"events:RemoveTargets"
			],
			"Resource": "arn:aws:events:*:*:rule/DevOpsGuruManagedRule*",
			"Condition": {
				"StringEquals": {
					"events:ManagedBy": "devops-guru.amazonaws.com"
				}
			}
		},
		{
			"Sid": "AllowTagBasedFilterLogEvents",
			"Effect": "Allow",
			"Action": [
				"logs:FilterLogEvents"
			],
			"Resource": "arn:aws:logs:*:*:log-group:*",
			"Condition": {
				"StringEquals": {
					"aws:ResourceTag/DevOps-Guru-Analysis": "true"
				}
			}
		},
		{
			"Sid": "AllowAPIGatewayGetIntegrations",
			"Effect": "Allow",
			"Action": "apigateway:GET",
			"Resource": [
				"arn:aws:apigateway:*::/restapis/??????????",
				"arn:aws:apigateway:*::/restapis/*/resources",
				"arn:aws:apigateway:*::/restapis/*/resources/*/methods/*/integration"
			]
		}
	]
}
```

------

## Criação de uma função vinculada a serviços para o Guru DevOps
<a name="create-slr"></a>

Não é necessário criar manualmente um perfil vinculado ao serviço. Quando você cria um insight na Console de gerenciamento da AWS, na ou na AWS API AWS CLI, o DevOps Guru cria a função vinculada ao serviço para você. 

**Importante**  
Essa função vinculada ao serviço pode aparecer em sua conta se você tiver concluído uma ação em outro serviço que usa os recursos suportados por essa função; por exemplo, ela pode aparecer se você adicionou o DevOps Guru a um repositório do. AWS CodeCommit

## Editando uma função vinculada ao serviço para o Guru DevOps
<a name="edit-slr"></a>

DevOpsO Guru não permite que você edite a função vinculada ao `AWSServiceRoleForDevOpsGuru` serviço. Depois que criar um perfil vinculado ao serviço, você não poderá alterar o nome do perfil, pois várias entidades podem fazer referência a ele. No entanto, será possível editar a descrição do perfil usando o IAM. Para saber mais, consulte [Editar uma função vinculada a serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) no *Guia do usuário do IAM*.

## Excluindo uma função vinculada ao serviço para o Guru DevOps
<a name="delete-slr"></a>

Se você não precisar mais usar um recurso ou serviço que requer um perfil vinculado ao serviço, é recomendável excluí-lo. Dessa forma, você não tem uma entidade não utilizada que não seja monitorada ativamente ou mantida. Porém, você deve se desassociar de todos os repositórios antes de poder exclui-la manualmente. 

**nota**  
Se o serviço DevOps Guru estiver usando a função quando você tentar excluir os recursos, a exclusão poderá falhar. Se isso acontecer, espere alguns minutos e tente a operação novamente.

**Como excluir manualmente o perfil vinculado ao serviço usando o IAM**

Use o console do IAM AWS CLI, o ou a AWS API para excluir a função `AWSServiceRoleForDevOpsGuru` vinculada ao serviço. Para saber mais, consulte [Excluir um perfil vinculado ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) no *Guia do usuário do IAM*.