액세스 관리 - Amazon GuardDuty

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

액세스 관리

GuardDuty를 활성화하는 데 필요한 권한

이 단원은 다양한 IAM 자격 증명(사용자, 그룹 및 역할)이 콘솔이나 프로그래밍 방식으로(AWS CLI에서 GuardDuty API 또는 GuardDuty 명령 사용) GuardDuty를 활성화하기 위해 보유해야 할 권한을 설명합니다.

GuardDuty를 활성화하는 데 필요한 권한을 부여하려면 다음 정책을 IAM 사용자, 그룹 또는 역할에 추가합니다.

참고

아래 예의 샘플 계정 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::1234567890123:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty" } ] }

서비스 연결 역할을 사용하여 권한 위임 GuardDuty

이 단원에서는 GuardDuty 서비스 자체가 결과를 생성하는 것과 같이 사용자를 대신하여 작업을 수행하는 데 필요한 권한을 설명합니다.

다음을 활성화하는 경우 GuardDuty ( GuardDuty API 작업 또는 AWS CLI 명령을 통해 프로그래밍 방식으로) 자동으로 AWSServiceRoleForAmazonGuardDuty. 서비스 연결 역할은 AWS 서비스(이 경우, GuardDuty). 서비스 연결 역할은 해당 서비스에서 사전 정의하며 서비스에서 다른 AWS 서비스를 자동으로 호출하기 위해 필요한 모든 권한을 포함합니다. 또한, 연결된 서비스(이 경우 GuardDuty)는 서비스 연결 역할을 만들고 수정하며 삭제하는 방법을 정의합니다. 서비스 연결 역할에 대한 자세한 내용은 를 참조하십시오. 서비스 연결 역할 사용.

AWSServiceRoleForAmazonGuardDuty 서비스 연결 역할은 GuardDuty가 활성화될 때 자동으로 생성됩니다. 여기에는 GuardDuty가 AWS CloudTrail, VPC 흐름 로그 및 DNS 로그에서 이벤트를 직접 사용하고 분석하여 보안 결과를 생성하는 데 필요한 권한 및 신뢰 정책이 포함됩니다.

AWSServiceRoleForAmazonGuardDuty 서비스 연결 역할은 편집할 수 없습니다. IAM 콘솔을 통해 권한을 보거나 이 서비스 연결 역할을 삭제할 수 있습니다. AWSServiceRoleForAmazonGuardDuty 서비스 연결 역할을 삭제하려면 먼저 해당 AWS 계정의 모든 리전에서 GuardDuty를 비활성화해야 합니다.

에 연결된 권한을 보려면 AWSServiceRoleForAmazonGuardDuty, 선택 서비스 역할 권한 보기 버튼 설정/일반 탭 GuardDuty 콘솔.

다음은 AWSServiceRoleForAmazonGuardDuty 서비스 연결 역할에 연결된 권한 정책 문서입니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeImages" ], "Resource": "*" } ] }

다음은 AWSServiceRoleForAmazonGuardDuty 서비스 연결 역할에 연결된 신뢰 정책입니다.

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

IAM 정책을 사용하여 액세스 권한 위임 GuardDuty IAM ID로

이 단원에서는 GuardDuty에 대한 액세스를 다양한 IAM 자격 증명(사용자, 그룹 및 역할)에 위임하는 방법에 대해 설명합니다.

기본적으로 GuardDuty 리소스(탐지기, 신뢰할 수 있는 IP 목록, 위협 목록, 결과, 구성원, 계정 및 초대)는 AWS 에서 생성된 리소스의 계정입니다. 소유자인 경우 GuardDuty에 대한 모든 액세스 권한 또는 제한된 액세스 권한을 계정의 다양한 IAM 자격 증명에 부여하도록 선택할 수 있습니다. IAM 액세스 정책 생성에 대한 자세한 내용은 IAM 사용 설명서 단원을 참조하십시오.

GuardDuty에 대한 AWS 관리형(미리 정의된) 정책

AWS는 AWS에서 생성하고 관리하는 독립형 IAM 정책을 제공하여 많은 일반 사용 사례를 처리합니다. 이러한 관리형 정책은 사용자가 필요한 권한을 조사할 필요가 없도록 일반 사용 사례에 필요한 권한을 부여합니다. 자세한 내용은 을 참조하십시오. AWS 관리 정책 에서 IAM 사용 설명서.

계정의 사용자에게 연결할 수 있는 다음 AWS 관리형 정책은 GuardDuty에 대해 고유합니다.

  • AmazonGuardDutyFullAccess – 모든 GuardDuty 기능에 액세스할 수 있습니다. 그러나 이 관리형 정책은 GuardDuty의 신뢰할 수 있는 IP 목록 및 위협 목록에 대해서는 ID에 제한적인 액세스 권한만 제공합니다. 구체적으로 말하자면, AmazonGuardDutyFullAccess 관리형 정책이 연결되어 있는 ID는 업로드된 신뢰할 수 있는 IP 목록과 위협 목록의 이름을 바꾸거나 비활성화하는 것만 가능합니다.

    신뢰할 수 있는 IP 목록 및 위협 목록으로 작업할 수 있는 전체 액세스 권한(이름 변경 및 비활성화 외에 업로드, 활성화, 삭제, 목록 위치 업데이트까지 포함)을 여러 ID에 부여하려면 IAM 사용자, 그룹, 역할에 연결된 권한 정책에 다음과 같은 작업이 들어 있어야 합니다.

    { "Effect": "Allow", "Action": [ "iam:PutRolePolicy", "iam:DeleteRolePolicy" ], "Resource": "arn:aws:iam::123456789123:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty" }
  • AmazonGuardDutyReadOnlyAccess – GuardDuty에 대한 읽기 전용 액세스 권한을 제공합니다.

사용자 지정 IAM 정책을 사용하여 에 대한 전체 액세스 권한 부여 GuardDuty

다음 사용자 지정 정책 중 하나를 사용하여 GuardDuty 콘솔과 모든 GuardDuty 작업에 대한 모든 액세스 권한을 IAM 사용자, 역할 또는 그룹에 부여할 수 있습니다.

참고

아래 예의 샘플 계정 ID를 실제 AWS 계정ID로 바꿉니다.

"Version": "2012-10-17", "Statement": [ { "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": "guardduty:*", "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:DeleteRolePolicy", "iam:ListAttachedRolePolicies", "iam:PutRolePolicy", "iam:ListRolePolicies" ], "Resource": "arn:aws:iam::123456789012:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty" }, { "Effect": "Allow", "Action": [ "iam:ListPolicyVersions", "iam:GetPolicy", "iam:GetPolicyVersion" ], "Resource": "*" } ]

사용자 지정 IAM 정책을 사용하여 읽기 전용 액세스 권한 부여 GuardDuty

다음 정책을 사용하여 GuardDuty에 대한 읽기 전용 액세스 권한을 IAM 사용자, 역할 또는 그룹에 부여할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:ListMembers", "guardduty:GetMembers", "guardduty:ListInvitations", "guardduty:ListDetectors", "guardduty:GetDetector", "guardduty:ListFindings", "guardduty:GetFindings", "guardduty:ListIPSets", "guardduty:GetIPSet", "guardduty:ListThreatIntelSets", "guardduty:GetThreatIntelSet", "guardduty:GetMasterAccount", "guardduty:GetInvitationsCount", "guardduty:GetFindingsStatistics" ], "Resource": "*" } ] }

사용자 지정 IAM 정책을 사용하여 에 대한 액세스 거부 GuardDuty 소견

다음 정책을 사용하여 IAM 사용자, 역할 또는 그룹에서 GuardDuty 결과에 액세스하는 것을 거부할 수 있습니다. 사용자는 결과와 결과에 대한 세부 정보를 볼 수 없지만 다른 모든 GuardDuty 작업에 액세스할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:CreateDetector", "guardduty:DeleteDetector", "guardduty:UpdateDetector", "guardduty:GetDetector", "guardduty:ListDetectors", "guardduty:CreateIPSet", "guardduty:DeleteIPSet", "guardduty:UpdateIPSet", "guardduty:GetIPSet", "guardduty:ListIPSets", "guardduty:CreateThreatIntelSet", "guardduty:DeleteThreatIntelSet", "guardduty:UpdateThreatIntelSet", "guardduty:GetThreatIntelSet", "guardduty:ListThreatIntelSets", "guardduty:ArchiveFindings", "guardduty:UnarchiveFindings", "guardduty:CreateSampleFindings", "guardduty:CreateMembers", "guardduty:InviteMembers", "guardduty:GetMembers", "guardduty:DeleteMembers", "guardduty:DisassociateMembers", "guardduty:StartMonitoringMembers", "guardduty:StopMonitoringMembers", "guardduty:ListMembers", "guardduty:GetMasterAccount", "guardduty:DisassociateFromMasterAccount", "guardduty:AcceptInvitation", "guardduty:ListInvitations", "guardduty:GetInvitationsCount", "guardduty:DeclineInvitations", "guardduty:DeleteInvitations" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::123456789123: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::123456789123:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty" } ] }

사용자 지정 IAM 정책을 사용하여 액세스 제한 GuardDuty 자원

에 대한 사용자 액세스를 정의하려면 GuardDuty 디텍터 ID에 따라 GuardDuty API 작업 사용자 지정 IAM 정책, 단, 다음 작업:

  • guardduty:CreateDetector

  • guardduty:DeclineInvitations

  • guardduty:DeleteInvitations

  • guardduty:GetInvitationsCount

  • guardduty:ListDetectors

  • guardduty:ListInvitations

IAM 정책에서 다음 작업을 사용하여 IPSet ID 및 ThreatIntelSet ID에 따라 사용자의 GuardDuty 액세스를 정의합니다.

  • guardduty:DeleteIPSet

  • guardduty:DeleteThreatIntelSet

  • guardduty:GetIPSet

  • guardduty:GetThreatIntelSet

  • guardduty:UpdateIPSet

  • guardduty:UpdateThreatIntelSet

다음 예제에서는 앞의 작업 몇 가지를 사용하여 정책을 생성하는 방법을 보여줍니다.

  • 이 정책에서는 사용자가 us-east-1 리전의 탐지기 ID 1234567을 사용하여 guardduty:UpdateDetector 작업을 실행할 수 있습니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:UpdateDetector", ], "Resource": "arn:aws:guardduty:us-east-1:012345678910:detector/1234567" } ] }
  • 이 정책에서는 사용자가 us-east-1 리전의 탐지기 ID 1234567 및 IPSet ID 000000을 사용하여 guardduty:UpdateIPSet 작업을 실행할 수 있습니다.

    참고

    사용자에게 GuardDuty의 신뢰할 수 있는 IP 목록 및 위협 목록에 액세스하는 데 필요한 권한이 있어야 합니다. 자세한 정보는 신뢰할 수 있는 IP 목록 및 위협 목록을 업로드하는 데 필요한 권한 단원을 참조하십시오.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:UpdateIPSet", ], "Resource": "arn:aws:guardduty:us-east-1:012345678910:detector/1234567/ipset/000000" } ] }
  • 이 정책에서는 사용자가 us-east-1 리전의 모든 탐지기 ID와 IPSet ID 000000을 사용하여 guardduty:UpdateIPSet 작업을 실행할 수 있습니다.

    참고

    사용자에게 GuardDuty의 신뢰할 수 있는 IP 목록 및 위협 목록에 액세스하는 데 필요한 권한이 있어야 합니다. 자세한 정보는 신뢰할 수 있는 IP 목록 및 위협 목록을 업로드하는 데 필요한 권한 단원을 참조하십시오.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:UpdateIPSet", ], "Resource": "arn:aws:guardduty:us-east-1:012345678910:detector/*/ipset/000000" } ] }
  • 이 정책에서는 사용자가 us-east-1 리전의 탐지기 ID 1234567과 모든 IPSet ID를 사용하여 guardduty:UpdateIPSet 작업을 실행할 수 있습니다.

    참고

    사용자에게 GuardDuty의 신뢰할 수 있는 IP 목록 및 위협 목록에 액세스하는 데 필요한 권한이 있어야 합니다. 자세한 정보는 신뢰할 수 있는 IP 목록 및 위협 목록을 업로드하는 데 필요한 권한 단원을 참조하십시오.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:UpdateIPSet", ], "Resource": "arn:aws:guardduty:us-east-1:012345678910:detector/1234567/ipset/*" } ] }

GuardDuty에서 정의한 리소스

리소스 유형 ARN
detector arn:${Partition}:guardduty:${Region}:${Account}:detector/${DetectorId}
ipset arn:${Partition}:guardduty:${Region}:${Account}:detector/${DetectorId}/ipset/${IPSetId}
threatintelset arn:${Partition}:guardduty:${Region}:${Account}:detector/${DetectorId}/threatintelset/${ThreatIntelSetId}
filter arn:${Partition}:guardduty:${Region}:${Account}:detector/${DetectorId}/filter/${FilterName}