Malware Protection for EC2 のサービスにリンクされたロールのアクセス許可 - Amazon GuardDuty

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Malware Protection for EC2 のサービスにリンクされたロールのアクセス許可

Malware Protection for EC2 は、 という名前のサービスにリンクされたロール (SLR) を使用しますAWSServiceRoleForAmazonGuardDutyMalwareProtection。この SLR により、Malware Protection for EC2 はエージェントレススキャンを実行して GuardDuty 、アカウントのマルウェアを検出できます。これにより GuardDuty 、 アカウントで EBS ボリュームスナップショットを作成し、そのスナップショットを GuardDuty サービスアカウントと共有できます。がスナップショット GuardDuty を評価すると、取得した EC2 インスタンスとコンテナワークロードメタデータが Malware Protection for EC2 の検出結果に含まれます。AWSServiceRoleForAmazonGuardDutyMalwareProtection サービスにリンクされたロールは、ロールを継承するために malware-protection.guardduty.amazonaws.com のサービスを信頼します。

このロールのアクセス許可ポリシーは、Malware Protection for EC2 が次のタスクを実行するのに役立ちます。

  • Amazon Elastic Compute Cloud (Amazon EC2) アクションを使用して、Amazon EC2 インスタンス、ボリューム、スナップショットに関する情報を取得します。Malware Protection for EC2 は、Amazon EKS および Amazon ECS クラスターメタデータにアクセスするためのアクセス許可も提供します。

  • GuardDutyExcluded タグが true に設定されていない EBS ボリュームのスナップショットを作成してください。デフォルトでは、GuardDutyScanId タグを持つスナップショットが作成されます。このタグを削除しないでください。削除しないと、EC2 の Malware Protection はスナップショットにアクセスできません。

    重要

    GuardDutyExcluded を に設定するとtrue GuardDuty、サービスは今後これらのスナップショットにアクセスできなくなります。これは、このサービスにリンクされたロールの他のステートメントは GuardDuty 、 が GuardDutyExcludedに設定されているスナップショットに対して がアクションを実行できないためですtrue

  • スナップショットの共有と削除を許可するのは、GuardDutyScanId タグが存在し、GuardDutyExcluded タグが true に設定されていない場合のみです。

    注記

    Malware Protection for EC2 がスナップショットを公開することを許可しません。

  • タグが GuardDutyExcludedに設定されているキーを除き、カスタマーマネージドキーにアクセスして を呼び出しtrue、 GuardDuty サービスアカウントと共有される暗号化されたスナップショットから暗号化された EBS ボリュームCreateGrantを作成してアクセスします。各リージョン GuardDuty のサービスアカウントのリストについては、「」を参照してくださいGuardDuty による サービスアカウント AWS リージョン

  • お客様の CloudWatch ログにアクセスしてEC2 ロググループ用の Malware Protection を作成し、マルウェアスキャンイベントログを/aws/guardduty/malware-scan-eventsロググループの下に配置します。

  • マルウェアが検出されたスナップショットを自分のアカウントに保持するかどうかをお客様が決定できるようにします。スキャンでマルウェアが検出された場合、サービスにリンクされたロールは、 GuardDuty と の 2 つのタグをスナップショットに追加できますGuardDutyFindingDetectedGuardDutyExcluded

    注記

    GuardDutyFindingDetected タグは、スナップショットにマルウェアが含まれていると指定します。

  • ボリュームが EBS マネージドキーで暗号化されているかどうかを確認します。 GuardDuty は DescribeKeyアクションを実行して、アカウント内の EBS マネージドキーkey Idの を決定します。

  • を使用して暗号化された EBS ボリュームのスナップショットを から取得 AWS アカウント し AWS マネージドキー、 にコピーしますGuardDuty サービスアカウント。この目的のために、 アクセス許可 GetSnapshotBlockと を使用しますListSnapshotBlocks。その後、 GuardDuty はサービスアカウントのスナップショットをスキャンします。現在、 で暗号化された EBS ボリュームのスキャンに対する Malware Protection for EC2 のサポートは、すべての で利用できない AWS マネージドキー 場合があります AWS リージョン。詳細については、「リージョン固有機能の可用性」を参照してください。

  • Amazon EC2 が Malware Protection for EC2 AWS KMS に代わって を呼び出し、カスタマーマネージドキーに対して複数の暗号化アクションを実行できるようにします。kms:ReEncryptTokms:ReEncryptFrom のようなアクションは、カスタマーマネージドキーで暗号化されたスナップショットを共有するために必要です。GuardDutyExcluded タグが true に設定されていないキーだけがアクセス可能です。

ロールは、AmazonGuardDutyMalwareProtectionServiceRolePolicy と名付けられた次の AWS マネージドポリシーで構成されます。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "DescribeAndListPermissions", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeVolumes", "ec2:DescribeSnapshots", "ecs:ListClusters", "ecs:ListContainerInstances", "ecs:ListTasks", "ecs:DescribeTasks", "eks:DescribeCluster" ], "Resource": "*" }, { "Sid": "CreateSnapshotVolumeConditionalStatement", "Effect": "Allow", "Action": "ec2:CreateSnapshot", "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" } } }, { "Sid": "CreateSnapshotConditionalStatement", "Effect": "Allow", "Action": "ec2:CreateSnapshot", "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": "GuardDutyScanId" } } }, { "Sid": "CreateTagsPermission", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:*/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateSnapshot" } } }, { "Sid": "AddTagsToSnapshotPermission", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "StringLike": { "ec2:ResourceTag/GuardDutyScanId": "*" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "GuardDutyExcluded", "GuardDutyFindingDetected" ] } } }, { "Sid": "DeleteAndShareSnapshotPermission", "Effect": "Allow", "Action": [ "ec2:DeleteSnapshot", "ec2:ModifySnapshotAttribute" ], "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "StringLike": { "ec2:ResourceTag/GuardDutyScanId": "*" }, "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" } } }, { "Sid": "PreventPublicAccessToSnapshotPermission", "Effect": "Deny", "Action": [ "ec2:ModifySnapshotAttribute" ], "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "StringEquals": { "ec2:Add/group": "all" } } }, { "Sid": "CreateGrantPermission", "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" }, "StringLike": { "kms:EncryptionContext:aws:ebs:id": "snap-*" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "CreateGrant", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "RetireGrant", "DescribeKey" ] }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Sid": "ShareSnapshotKMSPermission", "Effect": "Allow", "Action": [ "kms:ReEncryptTo", "kms:ReEncryptFrom" ], "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "StringLike": { "kms:ViaService": "ec2.*.amazonaws.com" }, "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" } } }, { "Sid": "DescribeKeyPermission", "Effect": "Allow", "Action": "kms:DescribeKey", "Resource": "arn:aws:kms:*:*:key/*" }, { "Sid": "GuardDutyLogGroupPermission", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:CreateLogGroup", "logs:PutRetentionPolicy" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/guardduty/*" }, { "Sid": "GuardDutyLogStreamPermission", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/guardduty/*:log-stream:*" }, { "Sid": "EBSDirectAPIPermissions", "Effect": "Allow", "Action": [ "ebs:GetSnapshotBlock", "ebs:ListSnapshotBlocks" ], "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "StringLike": { "aws:ResourceTag/GuardDutyScanId": "*" }, "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" } } } ] }

AWSServiceRoleForAmazonGuardDutyMalwareProtection サービスにリンクされたロールにアタッチされている信頼ポリシーは次のとおりです。

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

Malware Protection for EC2 のサービスにリンクされたロールの作成

AWSServiceRoleForAmazonGuardDutyMalwareProtection サービスにリンクされたロールは、EC2 の Malware Protection を初めて有効にするか、以前に有効にしていなかったサポートされているリージョンで EC2 の Malware Protection を有効にしたときに自動的に作成されます。IAM コンソール、IAM CLI、あるいは IAM API を使って、AWSServiceRoleForAmazonGuardDutyMalwareProtection サービスにリンクされたロールを手動で作成することもできます。

注記

デフォルトでは、Amazon を初めて使用する場合 GuardDuty、EC2 の Malware Protection は自動的に有効になります。

重要

委任 GuardDuty 管理者アカウント用に作成されたサービスにリンクされたロールは、メンバー GuardDuty アカウントには適用されません。

サービスにリンクされたロールの作成、編集、削除をIAM プリンシパル (ユーザー、グループ、ロールなど) に許可するには、許可を設定する必要があります。AWSServiceRoleForAmazonGuardDutyMalwareProtection サービスにリンクされたロールを正常に作成するには、 GuardDuty で使用する IAM ID に必要なアクセス許可が必要です。必要なアクセス許可を付与するには、次のポリシーをこの ユーザー、グループ、またはロールにアタッチします。

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "guardduty:*", "Resource": "*" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": [ "malware-protection.guardduty.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": [ "organizations:EnableAWSServiceAccess", "organizations:RegisterDelegatedAdministrator", "organizations:ListDelegatedAdministrators", "organizations:ListAWSServiceAccessForOrganization", "organizations:DescribeOrganizationalUnit", "organizations:DescribeAccount", "organizations:DescribeOrganization" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:GetRole", "Resource": "arn:aws:iam::*:role/*AWSServiceRoleForAmazonGuardDutyMalwareProtection" } ] }

IAM ロールを手動で作成する方法の詳細は、「IAM ユーザーガイド」の「サービスにリンクされたロールを作成する」を参照してください。

Malware Protection for EC2 のサービスにリンクされたロールの編集

Malware Protection for EC2 では、AWSServiceRoleForAmazonGuardDutyMalwareProtectionサービスにリンクされたロールを編集することはできません。サービスリンクロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、IAM を使用したロール記述の編集はできます。詳細については、IAM ユーザーガイドの「サービスリンクロールの編集」を参照してください。

Malware Protection for EC2 のサービスにリンクされたロールの削除

サービスリンクロールが必要な機能またはサービスが不要になった場合には、そのロールを削除することをお勧めします。これにより、使用していないエンティティがアクティブにモニタリングされたり、メンテナンスされたりすることがなくなります。

重要

を削除するにはAWSServiceRoleForAmazonGuardDutyMalwareProtection、まず、EC2 が有効になっているすべてのリージョンで Malware Protection for EC2 を無効にする必要があります。

サービスにリンクされたロールを削除しようとしたときに Malware Protection for EC2 が無効になっていない場合、削除は失敗します。詳細については、「 GuardDuty実行型マルウェアスキャンを有効または無効にするには」を参照してください。

Disable を選択して Malware Protection for EC2 サービスを停止しても、 AWSServiceRoleForAmazonGuardDutyMalwareProtection は自動的に削除されません。次に、Enable を選択して Malware Protection for EC2 サービスを再度開始すると、 GuardDuty は既存の の使用を開始しますAWSServiceRoleForAmazonGuardDutyMalwareProtection

サービスにリンクされたロールを IAM で手動削除するには

IAM コンソール、 AWS CLI、または IAM API を使用して、AWSServiceRoleForAmazonGuardDutyMalwareProtectionサービスにリンクされたロールを削除します。詳細については、IAM ユーザーガイドのサービスにリンクされたロールの削除を参照してください。

サポート対象 AWS リージョン

Amazon は、Malware Protection for EC2 AWS リージョン が利用可能なすべての で、AWSServiceRoleForAmazonGuardDutyMalwareProtectionサービスにリンクされたロールの使用 GuardDuty をサポートしています。

GuardDuty が現在利用可能なリージョンのリストについては、「」の「Amazon GuardDuty エンドポイントとクォータ」を参照してくださいAmazon Web Services 全般のリファレンス

注記

EC2 の Malware Protection は現在、 AWS GovCloud (米国東部) および AWS GovCloud (米国西部) では利用できません。