

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 DevOps Guru 的服務連結角色
<a name="using-service-linked-roles"></a>

Amazon DevOps Guru 使用 AWS Identity and Access Management (IAM)[ 服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服務連結角色是直接連結至 DevOps Guru 的唯一 IAM 角色類型。服務連結角色是由 DevOps Guru 預先定義，並包含服務代表您呼叫 AWS CloudTrail、Amazon CloudWatch AWS CodeDeploy、 AWS X-Ray、 和 AWS Organizations 所需的所有許可。

服務連結角色可讓您更輕鬆地設定 DevOps Guru，因為您不必手動新增必要的許可。DevOps Guru 定義其服務連結角色的許可，除非另有定義，否則只有 DevOps Guru 可以擔任其角色。定義的許可包括信任政策和許可政策，且該許可政策無法附加至其他 IAM 實體。

您必須先刪除角色的相關資源，才能刪除服務連結角色。這可保護您的 DevOps Guru 資源，因為您不會不小心移除存取資源的許可。

## DevOps Guru 的服務連結角色許可
<a name="slr-permissions"></a>

DevOps Guru 使用名為 的服務連結角色`AWSServiceRoleForDevOpsGuru`。這是 AWS 受管政策，具有 DevOps Guru 在您的 帳戶中執行所需的範圍許可。

`AWSServiceRoleForDevOpsGuru` 服務連結角色信任下列服務來擔任此角色：
+ `devops-guru.amazonaws.com`

角色許可政策`AmazonDevOpsGuruServiceRolePolicy`允許 DevOps Guru 對指定的資源完成下列動作。

------
#### [ 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"
			]
		}
	]
}
```

------

## 為 DevOps Guru 建立服務連結角色
<a name="create-slr"></a>

您不需要手動建立服務連結角色，當您在 AWS 管理主控台、 AWS CLI或 AWS API 中建立洞見時，DevOps Guru 會為您建立服務連結角色。

**重要**  
如果您在另一個使用此角色支援之功能的 服務中完成動作，則此服務連結角色會出現在您的帳戶中；例如，如果您從 將 DevOps Guru 新增至儲存庫，則它可能會顯示 AWS CodeCommit。

## 編輯 DevOps Guru 的服務連結角色
<a name="edit-slr"></a>

DevOps Guru 不允許您編輯`AWSServiceRoleForDevOpsGuru`服務連結角色。因為有各種實體可能會參考服務連結角色，所以您無法在建立角色之後變更角色名稱。然而，您可使用 IAM 來編輯角色描述。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[編輯服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 刪除 DevOps Guru 的服務連結角色
<a name="delete-slr"></a>

若您不再使用需要服務連結角色的功能或服務，我們建議您刪除該角色。如此一來，您就沒有未主動監控或維護的未使用實體。不過，您必須先取消與所有儲存庫的關聯，才能手動將其刪除。

**注意**  
如果您嘗試刪除資源時 DevOps Guru 服務正在使用 角色，刪除可能會失敗。若此情況發生，請等待數分鐘後並再次嘗試操作。

**使用 IAM 手動刪除服務連結角色**

使用 IAM 主控台 AWS CLI、 或 AWS API 來刪除`AWSServiceRoleForDevOpsGuru`服務連結角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[刪除服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。