本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 DevOpsGuru 的服務連結角色
Amazon DevOpsGuru 使用 AWS Identity and Access Management (IAM) 服務連結角色 。服務連結角色是直接連結至 DevOpsGuru 的唯一IAM角色類型。服務連結角色由 DevOpsGuru 預先定義,並包含服務代表您呼叫 AWS CloudTrail、Amazon CloudWatch、 AWS CodeDeploy、 AWS X-Ray和 AWS Organizations 所需的所有許可。
服務連結角色可讓您更輕鬆地設定 DevOpsGuru,因為您不需要手動新增必要的許可。 DevOpsGuru 會定義其服務連結角色的許可,除非另有定義,否則只有 DevOpsGuru 才能擔任其角色。定義的許可包括信任政策和許可政策,該許可政策無法連接到任何其他IAM實體。
您必須先刪除角色的相關資源,才能刪除服務連結角色。這可保護您的 DevOpsGuru 資源,因為您不會不小心移除存取資源的許可。
DevOpsGuru 的服務連結角色許可
DevOpsGuru 使用名為 的服務連結角色AWSServiceRoleForDevOpsGuru
。這是受 AWS 管政策,具有 DevOpsGuru 需要在您的帳戶中執行的範圍許可。
AWSServiceRoleForDevOpsGuru
服務連結角色信任下列服務來擔任此角色:
-
devops-guru.amazonaws.com
角色許可政策AmazonDevOpsGuruServiceRolePolicy
允許 DevOpsGuru 對指定的資源完成下列動作。
{ "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" ] } ] }
為 DevOpsGuru 建立服務連結角色
您不需要手動建立一個服務連結角色。當您在 AWS Management Console、 AWS CLI或 中建立洞見時 AWS API, DevOpsGuru 會為您建立服務連結角色。
重要
如果您在使用此角色支援之功能的其他服務中完成動作,則此服務連結角色會出現在您的帳戶中;例如,如果您從 將 DevOpsGuru 新增至儲存庫,則可能會出現此角色 AWS CodeCommit。
編輯 DevOpsGuru 的服務連結角色
DevOpsGuru 不允許您編輯AWSServiceRoleForDevOpsGuru
服務連結角色。因為有各種實體可能會參考服務連結角色,所以您無法在建立角色之後變更角色名稱。不過,您可以使用 編輯角色的描述IAM。如需詳細資訊,請參閱 IAM 使用者指南 中的編輯服務連結角色。
刪除 DevOpsGuru 的服務連結角色
若您不再使用需要服務連結角色的功能或服務,我們建議您刪除該角色。如此一來,您就沒有未主動監控或維護的未使用實體。不過,您必須先取消與所有儲存庫的關聯,才能手動刪除儲存庫。
注意
如果 DevOpsGuru 服務在您嘗試刪除資源時使用角色,則刪除可能會失敗。若此情況發生,請等待數分鐘後並再次嘗試操作。
使用 手動刪除服務連結角色 IAM
使用IAM主控台 AWS CLI、 或 AWS API刪除AWSServiceRoleForDevOpsGuru
服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南 中的刪除服務連結角色。