的服務連結角色許可 GuardDuty - Amazon GuardDuty

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

的服務連結角色許可 GuardDuty

GuardDuty 使用名為 的服務連結角色 (SLR)AWSServiceRoleForAmazonGuardDuty。允許 SLR GuardDuty 執行下列任務。它還允許將屬於EC2執行個體的擷取中繼資料 GuardDuty 包含在 GuardDuty 可能產生的潛在威脅的調查結果中。AWSServiceRoleForAmazonGuardDuty 服務連結角色信任 guardduty.amazonaws.com 服務來擔任該角色。

許可政策有助於 GuardDuty 執行下列任務:

  • 使用 Amazon EC2動作來管理和擷取EC2執行個體、映像和網路元件的相關資訊VPCs,例如 、子網路和傳輸閘道。

  • 當您為 Amazon 啟用 GuardDuty 執行期監控與自動代理程式時,請使用 AWS Systems Manager 動作來管理 Amazon EC2執行個體上的SSM關聯EC2。當停用 GuardDuty 自動代理程式組態時,僅 GuardDuty 考慮具有包含標籤 (GuardDutyManaged:) 的EC2執行個體true

  • 使用 AWS Organizations 動作來描述關聯帳戶和組織 ID。

  • 使用 Amazon S3 動作擷取有關 S3 儲存貯體和物件的資訊。

  • 使用 AWS Lambda 動作來擷取 Lambda 函數和標籤的相關資訊。

  • 使用 Amazon EKS動作來管理和擷取EKS叢集的相關資訊,以及管理EKS叢集上的 Amazon EKS 附加元件。這些EKS動作也會擷取與 相關聯的標籤資訊 GuardDuty。

  • 在EC2啟用 的惡意軟體防護的惡意軟體防護的服務連結角色許可 EC2後IAM,使用 建立 。

  • 使用 Amazon ECS動作來管理和擷取 Amazon ECS叢集的相關資訊,並使用 管理 Amazon ECS帳戶設定guarddutyActivate。Amazon 的相關動作ECS也會擷取與 相關聯的標籤資訊 GuardDuty。

該角色使用名為 AmazonGuardDutyServiceRolePolicy 的下列 AWS 受管政策進行設定。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GuardDutyGetDescribeListPolicy", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeImages", "ec2:DescribeVpcEndpoints", "ec2:DescribeSubnets", "ec2:DescribeVpcPeeringConnections", "ec2:DescribeTransitGatewayAttachments", "organizations:ListAccounts", "organizations:DescribeAccount", "organizations:DescribeOrganization", "s3:GetBucketPublicAccessBlock", "s3:GetEncryptionConfiguration", "s3:GetBucketTagging", "s3:GetAccountPublicAccessBlock", "s3:ListAllMyBuckets", "s3:GetBucketAcl", "s3:GetBucketPolicy", "s3:GetBucketPolicyStatus", "lambda:GetFunctionConfiguration", "lambda:ListTags", "eks:ListClusters", "eks:DescribeCluster", "ec2:DescribeVpcEndpointServices", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs", "ecs:ListClusters", "ecs:DescribeClusters" ], "Resource": "*" }, { "Sid": "GuardDutyCreateSLRPolicy", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "malware-protection.guardduty.amazonaws.com" } } }, { "Sid": "GuardDutyCreateVpcEndpointPolicy", "Effect": "Allow", "Action": "ec2:CreateVpcEndpoint", "Resource": "arn:aws:ec2:*:*:vpc-endpoint/*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": "GuardDutyManaged" }, "StringLike": { "ec2:VpceServiceName": [ "com.amazonaws.*.guardduty-data", "com.amazonaws.*.guardduty-data-fips" ] } } }, { "Sid": "GuardDutyModifyDeleteVpcEndpointPolicy", "Effect": "Allow", "Action": [ "ec2:ModifyVpcEndpoint", "ec2:DeleteVpcEndpoints" ], "Resource": "arn:aws:ec2:*:*:vpc-endpoint/*", "Condition": { "Null": { "aws:ResourceTag/GuardDutyManaged": false } } }, { "Sid": "GuardDutyCreateModifyVpcEndpointNetworkPolicy", "Effect": "Allow", "Action": [ "ec2:CreateVpcEndpoint", "ec2:ModifyVpcEndpoint" ], "Resource": [ "arn:aws:ec2:*:*:vpc/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:subnet/*" ] }, { "Sid": "GuardDutyCreateTagsDuringVpcEndpointCreationPolicy", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:vpc-endpoint/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateVpcEndpoint" }, "ForAnyValue:StringEquals": { "aws:TagKeys": "GuardDutyManaged" } } }, { "Sid": "GuardDutySecurityGroupManagementPolicy", "Effect": "Allow", "Action": [ "ec2:AuthorizeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress", "ec2:RevokeSecurityGroupEgress", "ec2:DeleteSecurityGroup" ], "Resource": "arn:aws:ec2:*:*:security-group/*", "Condition": { "Null": { "aws:ResourceTag/GuardDutyManaged": false } } }, { "Sid": "GuardDutyCreateSecurityGroupPolicy", "Effect": "Allow", "Action": "ec2:CreateSecurityGroup", "Resource": "arn:aws:ec2:*:*:security-group/*", "Condition": { "StringLike": { "aws:RequestTag/GuardDutyManaged": "*" } } }, { "Sid": "GuardDutyCreateSecurityGroupForVpcPolicy", "Effect": "Allow", "Action": "ec2:CreateSecurityGroup", "Resource": "arn:aws:ec2:*:*:vpc/*" }, { "Sid": "GuardDutyCreateTagsDuringSecurityGroupCreationPolicy", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:security-group/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateSecurityGroup" }, "ForAnyValue:StringEquals": { "aws:TagKeys": "GuardDutyManaged" } } }, { "Sid": "GuardDutyCreateEksAddonPolicy", "Effect": "Allow", "Action": "eks:CreateAddon", "Resource": "arn:aws:eks:*:*:cluster/*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": "GuardDutyManaged" } } }, { "Sid": "GuardDutyEksAddonManagementPolicy", "Effect": "Allow", "Action": [ "eks:DeleteAddon", "eks:UpdateAddon", "eks:DescribeAddon" ], "Resource": "arn:aws:eks:*:*:addon/*/aws-guardduty-agent/*" }, { "Sid": "GuardDutyEksClusterTagResourcePolicy", "Effect": "Allow", "Action": "eks:TagResource", "Resource": "arn:aws:eks:*:*:cluster/*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": "GuardDutyManaged" } } }, { "Sid": "GuardDutyEcsPutAccountSettingsDefaultPolicy", "Effect": "Allow", "Action": "ecs:PutAccountSettingDefault", "Resource": "*", "Condition": { "StringEquals": { "ecs:account-setting": [ "guardDutyActivate" ] } } }, { "Sid": "SsmCreateDescribeUpdateDeleteStartAssociationPermission", "Effect": "Allow", "Action": [ "ssm:DescribeAssociation", "ssm:DeleteAssociation", "ssm:UpdateAssociation", "ssm:CreateAssociation", "ssm:StartAssociationsOnce" ], "Resource": "arn:aws:ssm:*:*:association/*", "Condition": { "StringEquals": { "aws:ResourceTag/GuardDutyManaged": "true" } } }, { "Sid": "SsmAddTagsToResourcePermission", "Effect": "Allow", "Action": [ "ssm:AddTagsToResource" ], "Resource": "arn:aws:arn:aws:ssm:*:*:association/*", "Condition":{ "ForAllValues:StringEquals": { "aws:TagKeys": [ "GuardDutyManaged" ] }, "StringEquals": { "aws:ResourceTag/GuardDutyManaged": "true" } } }, { "Sid": "SsmCreateUpdateAssociationInstanceDocumentPermission", "Effect": "Allow", "Action": [ "ssm:CreateAssociation", "ssm:UpdateAssociation" ], "Resource": "arn:aws:ssm:*:*:document/AmazonGuardDuty-ConfigureRuntimeMonitoringSsmPlugin" }, { "Sid": "SsmSendCommandPermission", "Effect": "Allow", "Action": "ssm:SendCommand", "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ssm:*:*:document/AmazonGuardDuty-ConfigureRuntimeMonitoringSsmPlugin" ] }, { "Sid": "SsmGetCommandStatus", "Effect": "Allow", "Action": "ssm:GetCommandInvocation", "Resource": "*" } ] }

以下是附加到 AWSServiceRoleForAmazonGuardDuty 服務連結角色的信任政策:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

如需AmazonGuardDutyServiceRolePolicy政策更新的詳細資訊,請參閱 GuardDuty 受 AWS 管政策的更新。如需此政策變更的自動提醒,請訂閱文件歷史紀錄頁面上的RSS摘要。

為 建立服務連結角色 GuardDuty

當您 GuardDuty 第一次啟用或在先前未啟用服務的 GuardDuty 支援區域中啟用 時,會自動建立AWSServiceRoleForAmazonGuardDuty服務連結角色。您也可以使用IAM主控台、 AWS CLI或 IAM 手動建立服務連結角色API。

重要

為 GuardDuty 委派管理員帳戶建立的服務連結角色不適用於成員 GuardDuty 帳戶。

您必須設定許可,以允許IAM主體 (例如使用者、群組或角色) 建立、編輯或刪除服務連結角色。若要成功建立AWSServiceRoleForAmazonGuardDuty服務連結角色,您 GuardDuty 搭配 使用的IAM主體必須具有必要的許可。如需授與必要的許可,請附加以下政策至此 使用者、群組或角色:

注意

取代範例 account ID 在下列範例中使用您的實際 AWS 帳戶 ID。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::123456789012:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty", "Condition": { "StringLike": { "iam:AWSServiceName": "guardduty.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PutRolePolicy", "iam:DeleteRolePolicy" ], "Resource": "arn:aws:iam::123456789012:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty" } ] }

如需手動建立角色的詳細資訊,請參閱 IAM 使用者指南 中的建立服務連結角色

編輯 的服務連結角色 GuardDuty

GuardDuty 不允許您編輯AWSServiceRoleForAmazonGuardDuty服務連結角色。因為可能有各種實體會參考服務連結角色,所以您無法在建立角色之後變更其名稱。不過,您可以使用 編輯角色的描述IAM。如需詳細資訊,請參閱 IAM 使用者指南 中的編輯服務連結角色

刪除 的服務連結角色 GuardDuty

若您不再使用需要服務連結角色的功能或服務,我們建議您刪除該角色。如此一來,您就沒有未主動監控或維護的未使用實體。

重要

如果您已為 啟用惡意軟體防護EC2,刪除AWSServiceRoleForAmazonGuardDuty不會自動刪除 AWSServiceRoleForAmazonGuardDutyMalwareProtection。如果您想要刪除 AWSServiceRoleForAmazonGuardDutyMalwareProtection,請參閱刪除 惡意軟體防護的服務連結角色EC2

您必須先 GuardDuty 在啟用的所有區域中停用 ,才能刪除 AWSServiceRoleForAmazonGuardDuty。如果您嘗試刪除 GuardDuty 服務連結角色時,服務未停用,則刪除會失敗。如需詳細資訊,請參閱暫停或停用 GuardDuty

當您停用 時 GuardDuty, AWSServiceRoleForAmazonGuardDuty不會自動刪除。如果您 GuardDuty 再次啟用,則會開始使用現有的 AWSServiceRoleForAmazonGuardDuty

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

使用IAM主控台 AWS CLI、 或 IAMAPI來刪除AWSServiceRoleForAmazonGuardDuty服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南 中的刪除服務連結角色

支援的 AWS 區域

Amazon GuardDuty 支援在所有 GuardDuty 可用 AWS 區域 中使用AWSServiceRoleForAmazonGuardDuty服務連結角色。如需 GuardDuty 目前可用的區域清單,請參閱 中的 Amazon GuardDuty 端點和配額Amazon Web Services 一般參考