Amazon GuardDuty and AWS Organizations - AWS Organizations

Amazon GuardDuty and AWS Organizations

Amazon GuardDuty is a continuous security monitoring service that analyzes and processes a variety data sources, using threat intelligence feeds and machine learning to identify unexpected and potentially unauthorized and malicious activity within your AWS environment. This can include issues like escalations of privileges, uses of exposed credentials, communication with malicious IP addresses, URLs, or domains, or presence of malware on your Amazon Elastic Compute Cloud instances and container workloads.

You can help simplify management of GuardDuty by using Organizations to manage GuardDuty across all of the accounts in your organization.

For more information, see Managing GuardDuty accounts with AWS Organizations in the Amazon GuardDuty User Guide

Use the following information to help you integrate Amazon GuardDuty with AWS Organizations.

Service-linked roles created when you enable integration

The following service-linked roles are automatically created in your organization's management account when you enable trusted access. These roles allow GuardDuty to perform supported operations within your organization's accounts in your organization. You can delete a role only if you disable trusted access between GuardDuty and Organizations, or if you remove the member account from the organization.

Service principals used by the service-linked roles

  • guardduty.amazonaws.com, used by the AWSServiceRoleForAmazonGuardDuty service-linked role.

  • malware-protection.guardduty.amazonaws.com, used by the AmazonGuardDutyMalwareProtectionServiceRolePolicy service-linked role.

Enabling trusted access with GuardDuty

For information about the permissions needed to enable trusted access, see Permissions required to enable trusted access.

You can enable trusted access using only Amazon GuardDuty.

Amazon GuardDuty requires trusted access to AWS Organizations before you can designate a member account to be the GuardDuty administrator for your organization. If you configure a delegated administrator using the GuardDuty console, then GuardDuty automatically enables trusted access for you.

However, if you want to configure a delegated administrator account using the AWS CLI or one of the AWS SDKs, then you must explicitly call the EnableAWSServiceAccess operation and provide the service principal as a parameter. Then you can call EnableOrganizationAdminAccount to delegate the GuardDuty administrator account.

Disabling trusted access with GuardDuty

For information about the permissions needed to disable trusted access, see Permissions required to disable trusted access.

You can disable trusted access using only the Organizations tools.

You can disable trusted access by running a Organizations AWS CLI command, or by calling an Organizations API operation in one of the AWS SDKs.

AWS CLI, AWS API
To disable trusted service access using the Organizations CLI/SDK

You can use the following AWS CLI commands or API operations to disable trusted service access:

  • AWS CLI: disable-aws-service-access

    You can run the following command to disable Amazon GuardDuty as a trusted service with Organizations.

    $ aws organizations disable-aws-service-access \ --service-principal guardduty.amazonaws.com

    This command produces no output when successful.

  • AWS API: DisableAWSServiceAccess

Enabling a delegated administrator account for GuardDuty

When you designate a member account as a delegated administrator for the organization, users and roles from that account can perform administrative actions for GuardDuty that otherwise can be performed only by users or roles in the organization's management account. This helps you to separate management of the organization from management of GuardDuty.

Minimum permissions

For information about the permissions required to designate a member account as a delegated administrator, see Permissions required to designate a delegated administrator in the Amazon GuardDuty User Guide

To designate a member account as a delegated administrator for GuardDuty

See Designate a delegated administrator and add member accounts (console) and Designate a delegated administrator and add member accounts (API)