Amazon Detective

2022/07/26 - Amazon Detective - 4 new4 updated api methods

Changes  Added the ability to get data source package information for the behavior graph. Graph administrators can now start (or stop) optional datasources on the behavior graph.

BatchGetGraphMemberDatasources (new) Link ¶

Gets data source package information for the behavior graph.

See also: AWS API Documentation

Request Syntax

client.batch_get_graph_member_datasources(
    GraphArn='string',
    AccountIds=[
        'string',
    ]
)
type GraphArn:

string

param GraphArn:

[REQUIRED]

The ARN of the behavior graph.

type AccountIds:

list

param AccountIds:

[REQUIRED]

The list of Amazon Web Services accounts to get data source package information on.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'MemberDatasources': [
        {
            'AccountId': 'string',
            'GraphArn': 'string',
            'DatasourcePackageIngestHistory': {
                'string': {
                    'string': {
                        'Timestamp': datetime(2015, 1, 1)
                    }
                }
            }
        },
    ],
    'UnprocessedAccounts': [
        {
            'AccountId': 'string',
            'Reason': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • MemberDatasources (list) --

      Details on the status of data source packages for members of the behavior graph.

      • (dict) --

        Details on data source packages for members of the behavior graph.

        • AccountId (string) --

          The account identifier of the Amazon Web Services account.

        • GraphArn (string) --

          The ARN of the organization behavior graph.

        • DatasourcePackageIngestHistory (dict) --

          Details on when a data source package was added to a behavior graph.

          • (string) --

            • (dict) --

              • (string) --

                • (dict) --

                  Details on when data collection began for a source package.

                  • Timestamp (datetime) --

                    The data and time when data collection began for a source package. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

    • UnprocessedAccounts (list) --

      Accounts that data source package information could not be retrieved for.

      • (dict) --

        A member account that was included in a request but for which the request could not be processed.

        • AccountId (string) --

          The Amazon Web Services account identifier of the member account that was not processed.

        • Reason (string) --

          The reason that the member account request could not be processed.

UpdateDatasourcePackages (new) Link ¶

Starts a data source packages for the behavior graph.

See also: AWS API Documentation

Request Syntax

client.update_datasource_packages(
    GraphArn='string',
    DatasourcePackages=[
        'DETECTIVE_CORE'|'EKS_AUDIT',
    ]
)
type GraphArn:

string

param GraphArn:

[REQUIRED]

The ARN of the behavior graph.

type DatasourcePackages:

list

param DatasourcePackages:

[REQUIRED]

The data source package start for the behavior graph.

  • (string) --

returns:

None

BatchGetMembershipDatasources (new) Link ¶

Gets information on the data source package history for an account.

See also: AWS API Documentation

Request Syntax

client.batch_get_membership_datasources(
    GraphArns=[
        'string',
    ]
)
type GraphArns:

list

param GraphArns:

[REQUIRED]

The ARN of the behavior graph.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'MembershipDatasources': [
        {
            'AccountId': 'string',
            'GraphArn': 'string',
            'DatasourcePackageIngestHistory': {
                'string': {
                    'string': {
                        'Timestamp': datetime(2015, 1, 1)
                    }
                }
            }
        },
    ],
    'UnprocessedGraphs': [
        {
            'GraphArn': 'string',
            'Reason': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • MembershipDatasources (list) --

      Details on the data source package history for an member of the behavior graph.

      • (dict) --

        Details on data source packages for members of the behavior graph.

        • AccountId (string) --

          The account identifier of the Amazon Web Services account.

        • GraphArn (string) --

          The ARN of the organization behavior graph.

        • DatasourcePackageIngestHistory (dict) --

          Details on when a data source package was added to a behavior graph.

          • (string) --

            • (dict) --

              • (string) --

                • (dict) --

                  Details on when data collection began for a source package.

                  • Timestamp (datetime) --

                    The data and time when data collection began for a source package. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

    • UnprocessedGraphs (list) --

      Graphs that data source package information could not be retrieved for.

      • (dict) --

        Behavior graphs that could not be processed in the request.

        • GraphArn (string) --

          The ARN of the organization behavior graph.

        • Reason (string) --

          The reason data source package information could not be processed for a behavior graph.

ListDatasourcePackages (new) Link ¶

Lists data source packages in the behavior graph.

See also: AWS API Documentation

Request Syntax

client.list_datasource_packages(
    GraphArn='string',
    NextToken='string',
    MaxResults=123
)
type GraphArn:

string

param GraphArn:

[REQUIRED]

The ARN of the behavior graph.

type NextToken:

string

param NextToken:

For requests to get the next page of results, the pagination token that was returned with the previous set of results. The initial request does not include a pagination token.

type MaxResults:

integer

param MaxResults:

The maximum number of results to return.

rtype:

dict

returns:

Response Syntax

{
    'DatasourcePackages': {
        'string': {
            'DatasourcePackageIngestState': 'STARTED'|'STOPPED'|'DISABLED',
            'LastIngestStateChange': {
                'string': {
                    'Timestamp': datetime(2015, 1, 1)
                }
            }
        }
    },
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • DatasourcePackages (dict) --

      Details on the data source packages active in the behavior graph.

      • (string) --

        • (dict) --

          Details about the data source packages ingested by your behavior graph.

          • DatasourcePackageIngestState (string) --

            Details on which data source packages are ingested for a member account.

          • LastIngestStateChange (dict) --

            The date a data source package was enabled for this account

            • (string) --

              • (dict) --

                Details on when data collection began for a source package.

                • Timestamp (datetime) --

                  The data and time when data collection began for a source package. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

    • NextToken (string) --

      For requests to get the next page of results, the pagination token that was returned with the previous set of results. The initial request does not include a pagination token.

CreateMembers (updated) Link ¶
Changes (response)
{'Members': {'DatasourcePackageIngestStates': {'DETECTIVE_CORE | EKS_AUDIT': 'STARTED '
                                                                             '| '
                                                                             'STOPPED '
                                                                             '| '
                                                                             'DISABLED'},
             'VolumeUsageByDatasourcePackage': {'DETECTIVE_CORE | EKS_AUDIT': {'VolumeUsageInBytes': 'long',
                                                                               'VolumeUsageUpdateTime': 'timestamp'}}}}

CreateMembers is used to send invitations to accounts. For the organization behavior graph, the Detective administrator account uses CreateMembers to enable organization accounts as member accounts.

For invited accounts, CreateMembers sends a request to invite the specified Amazon Web Services accounts to be member accounts in the behavior graph. This operation can only be called by the administrator account for a behavior graph.

CreateMembers verifies the accounts and then invites the verified accounts. The administrator can optionally specify to not send invitation emails to the member accounts. This would be used when the administrator manages their member accounts centrally.

For organization accounts in the organization behavior graph, CreateMembers attempts to enable the accounts. The organization accounts do not receive invitations.

The request provides the behavior graph ARN and the list of accounts to invite or to enable.

The response separates the requested accounts into two lists:

  • The accounts that CreateMembers was able to process. For invited accounts, includes member accounts that are being verified, that have passed verification and are to be invited, and that have failed verification. For organization accounts in the organization behavior graph, includes accounts that can be enabled and that cannot be enabled.

  • The accounts that CreateMembers was unable to process. This list includes accounts that were already invited to be member accounts in the behavior graph.

See also: AWS API Documentation

Request Syntax

client.create_members(
    GraphArn='string',
    Message='string',
    DisableEmailNotification=True|False,
    Accounts=[
        {
            'AccountId': 'string',
            'EmailAddress': 'string'
        },
    ]
)
type GraphArn:

string

param GraphArn:

[REQUIRED]

The ARN of the behavior graph.

type Message:

string

param Message:

Customized message text to include in the invitation email message to the invited member accounts.

type DisableEmailNotification:

boolean

param DisableEmailNotification:

if set to true, then the invited accounts do not receive email notifications. By default, this is set to false, and the invited accounts receive email notifications.

Organization accounts in the organization behavior graph do not receive email notifications.

type Accounts:

list

param Accounts:

[REQUIRED]

The list of Amazon Web Services accounts to invite or to enable. You can invite or enable up to 50 accounts at a time. For each invited account, the account list contains the account identifier and the Amazon Web Services account root user email address. For organization accounts in the organization behavior graph, the email address is not required.

  • (dict) --

    An Amazon Web Services account that is the administrator account of or a member of a behavior graph.

    • AccountId (string) -- [REQUIRED]

      The account identifier of the Amazon Web Services account.

    • EmailAddress (string) -- [REQUIRED]

      The Amazon Web Services account root user email address for the Amazon Web Services account.

rtype:

dict

returns:

Response Syntax

{
    'Members': [
        {
            'AccountId': 'string',
            'EmailAddress': 'string',
            'GraphArn': 'string',
            'MasterId': 'string',
            'AdministratorId': 'string',
            'Status': 'INVITED'|'VERIFICATION_IN_PROGRESS'|'VERIFICATION_FAILED'|'ENABLED'|'ACCEPTED_BUT_DISABLED',
            'DisabledReason': 'VOLUME_TOO_HIGH'|'VOLUME_UNKNOWN',
            'InvitedTime': datetime(2015, 1, 1),
            'UpdatedTime': datetime(2015, 1, 1),
            'VolumeUsageInBytes': 123,
            'VolumeUsageUpdatedTime': datetime(2015, 1, 1),
            'PercentOfGraphUtilization': 123.0,
            'PercentOfGraphUtilizationUpdatedTime': datetime(2015, 1, 1),
            'InvitationType': 'INVITATION'|'ORGANIZATION',
            'VolumeUsageByDatasourcePackage': {
                'string': {
                    'VolumeUsageInBytes': 123,
                    'VolumeUsageUpdateTime': datetime(2015, 1, 1)
                }
            },
            'DatasourcePackageIngestStates': {
                'string': 'STARTED'|'STOPPED'|'DISABLED'
            }
        },
    ],
    'UnprocessedAccounts': [
        {
            'AccountId': 'string',
            'Reason': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • Members (list) --

      The set of member account invitation or enablement requests that Detective was able to process. This includes accounts that are being verified, that failed verification, and that passed verification and are being sent an invitation or are being enabled.

      • (dict) --

        Details about a member account in a behavior graph.

        • AccountId (string) --

          The Amazon Web Services account identifier for the member account.

        • EmailAddress (string) --

          The Amazon Web Services account root user email address for the member account.

        • GraphArn (string) --

          The ARN of the behavior graph.

        • MasterId (string) --

          The Amazon Web Services account identifier of the administrator account for the behavior graph.

        • AdministratorId (string) --

          The Amazon Web Services account identifier of the administrator account for the behavior graph.

        • Status (string) --

          The current membership status of the member account. The status can have one of the following values:

          • INVITED - For invited accounts only. Indicates that the member was sent an invitation but has not yet responded.

          • VERIFICATION_IN_PROGRESS - For invited accounts only, indicates that Detective is verifying that the account identifier and email address provided for the member account match. If they do match, then Detective sends the invitation. If the email address and account identifier don't match, then the member cannot be added to the behavior graph. For organization accounts in the organization behavior graph, indicates that Detective is verifying that the account belongs to the organization.

          • VERIFICATION_FAILED - For invited accounts only. Indicates that the account and email address provided for the member account do not match, and Detective did not send an invitation to the account.

          • ENABLED - Indicates that the member account currently contributes data to the behavior graph. For invited accounts, the member account accepted the invitation. For organization accounts in the organization behavior graph, the Detective administrator account enabled the organization account as a member account.

          • ACCEPTED_BUT_DISABLED - The account accepted the invitation, or was enabled by the Detective administrator account, but is prevented from contributing data to the behavior graph. DisabledReason provides the reason why the member account is not enabled.

          Invited accounts that declined an invitation or that were removed from the behavior graph are not included. In the organization behavior graph, organization accounts that the Detective administrator account did not enable are not included.

        • DisabledReason (string) --

          For member accounts with a status of ACCEPTED_BUT_DISABLED, the reason that the member account is not enabled.

          The reason can have one of the following values:

          • VOLUME_TOO_HIGH - Indicates that adding the member account would cause the data volume for the behavior graph to be too high.

          • VOLUME_UNKNOWN - Indicates that Detective is unable to verify the data volume for the member account. This is usually because the member account is not enrolled in Amazon GuardDuty.

        • InvitedTime (datetime) --

          For invited accounts, the date and time that Detective sent the invitation to the account. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • UpdatedTime (datetime) --

          The date and time that the member account was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • VolumeUsageInBytes (integer) --

          The data volume in bytes per day for the member account.

        • VolumeUsageUpdatedTime (datetime) --

          The data and time when the member account data volume was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • PercentOfGraphUtilization (float) --

          The member account data volume as a percentage of the maximum allowed data volume. 0 indicates 0 percent, and 100 indicates 100 percent.

          Note that this is not the percentage of the behavior graph data volume.

          For example, the data volume for the behavior graph is 80 GB per day. The maximum data volume is 160 GB per day. If the data volume for the member account is 40 GB per day, then PercentOfGraphUtilization is 25. It represents 25% of the maximum allowed data volume.

        • PercentOfGraphUtilizationUpdatedTime (datetime) --

          The date and time when the graph utilization percentage was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • InvitationType (string) --

          The type of behavior graph membership.

          For an organization account in the organization behavior graph, the type is ORGANIZATION.

          For an account that was invited to a behavior graph, the type is INVITATION.

        • VolumeUsageByDatasourcePackage (dict) --

          Details on the volume of usage for each data source package in a behavior graph.

          • (string) --

            • (dict) --

              Information on the usage of a data source package in the behavior graph.

              • VolumeUsageInBytes (integer) --

                Total volume of data in bytes per day ingested for a given data source package.

              • VolumeUsageUpdateTime (datetime) --

                The data and time when the member account data volume was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • DatasourcePackageIngestStates (dict) --

          The state of a data source package for the behavior graph.

          • (string) --

            • (string) --

    • UnprocessedAccounts (list) --

      The list of accounts for which Detective was unable to process the invitation or enablement request. For each account, the list provides the reason why the request could not be processed. The list includes accounts that are already member accounts in the behavior graph.

      • (dict) --

        A member account that was included in a request but for which the request could not be processed.

        • AccountId (string) --

          The Amazon Web Services account identifier of the member account that was not processed.

        • Reason (string) --

          The reason that the member account request could not be processed.

GetMembers (updated) Link ¶
Changes (response)
{'MemberDetails': {'DatasourcePackageIngestStates': {'DETECTIVE_CORE | EKS_AUDIT': 'STARTED '
                                                                                   '| '
                                                                                   'STOPPED '
                                                                                   '| '
                                                                                   'DISABLED'},
                   'VolumeUsageByDatasourcePackage': {'DETECTIVE_CORE | EKS_AUDIT': {'VolumeUsageInBytes': 'long',
                                                                                     'VolumeUsageUpdateTime': 'timestamp'}}}}

Returns the membership details for specified member accounts for a behavior graph.

See also: AWS API Documentation

Request Syntax

client.get_members(
    GraphArn='string',
    AccountIds=[
        'string',
    ]
)
type GraphArn:

string

param GraphArn:

[REQUIRED]

The ARN of the behavior graph for which to request the member details.

type AccountIds:

list

param AccountIds:

[REQUIRED]

The list of Amazon Web Services account identifiers for the member account for which to return member details. You can request details for up to 50 member accounts at a time.

You cannot use GetMembers to retrieve information about member accounts that were removed from the behavior graph.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'MemberDetails': [
        {
            'AccountId': 'string',
            'EmailAddress': 'string',
            'GraphArn': 'string',
            'MasterId': 'string',
            'AdministratorId': 'string',
            'Status': 'INVITED'|'VERIFICATION_IN_PROGRESS'|'VERIFICATION_FAILED'|'ENABLED'|'ACCEPTED_BUT_DISABLED',
            'DisabledReason': 'VOLUME_TOO_HIGH'|'VOLUME_UNKNOWN',
            'InvitedTime': datetime(2015, 1, 1),
            'UpdatedTime': datetime(2015, 1, 1),
            'VolumeUsageInBytes': 123,
            'VolumeUsageUpdatedTime': datetime(2015, 1, 1),
            'PercentOfGraphUtilization': 123.0,
            'PercentOfGraphUtilizationUpdatedTime': datetime(2015, 1, 1),
            'InvitationType': 'INVITATION'|'ORGANIZATION',
            'VolumeUsageByDatasourcePackage': {
                'string': {
                    'VolumeUsageInBytes': 123,
                    'VolumeUsageUpdateTime': datetime(2015, 1, 1)
                }
            },
            'DatasourcePackageIngestStates': {
                'string': 'STARTED'|'STOPPED'|'DISABLED'
            }
        },
    ],
    'UnprocessedAccounts': [
        {
            'AccountId': 'string',
            'Reason': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • MemberDetails (list) --

      The member account details that Detective is returning in response to the request.

      • (dict) --

        Details about a member account in a behavior graph.

        • AccountId (string) --

          The Amazon Web Services account identifier for the member account.

        • EmailAddress (string) --

          The Amazon Web Services account root user email address for the member account.

        • GraphArn (string) --

          The ARN of the behavior graph.

        • MasterId (string) --

          The Amazon Web Services account identifier of the administrator account for the behavior graph.

        • AdministratorId (string) --

          The Amazon Web Services account identifier of the administrator account for the behavior graph.

        • Status (string) --

          The current membership status of the member account. The status can have one of the following values:

          • INVITED - For invited accounts only. Indicates that the member was sent an invitation but has not yet responded.

          • VERIFICATION_IN_PROGRESS - For invited accounts only, indicates that Detective is verifying that the account identifier and email address provided for the member account match. If they do match, then Detective sends the invitation. If the email address and account identifier don't match, then the member cannot be added to the behavior graph. For organization accounts in the organization behavior graph, indicates that Detective is verifying that the account belongs to the organization.

          • VERIFICATION_FAILED - For invited accounts only. Indicates that the account and email address provided for the member account do not match, and Detective did not send an invitation to the account.

          • ENABLED - Indicates that the member account currently contributes data to the behavior graph. For invited accounts, the member account accepted the invitation. For organization accounts in the organization behavior graph, the Detective administrator account enabled the organization account as a member account.

          • ACCEPTED_BUT_DISABLED - The account accepted the invitation, or was enabled by the Detective administrator account, but is prevented from contributing data to the behavior graph. DisabledReason provides the reason why the member account is not enabled.

          Invited accounts that declined an invitation or that were removed from the behavior graph are not included. In the organization behavior graph, organization accounts that the Detective administrator account did not enable are not included.

        • DisabledReason (string) --

          For member accounts with a status of ACCEPTED_BUT_DISABLED, the reason that the member account is not enabled.

          The reason can have one of the following values:

          • VOLUME_TOO_HIGH - Indicates that adding the member account would cause the data volume for the behavior graph to be too high.

          • VOLUME_UNKNOWN - Indicates that Detective is unable to verify the data volume for the member account. This is usually because the member account is not enrolled in Amazon GuardDuty.

        • InvitedTime (datetime) --

          For invited accounts, the date and time that Detective sent the invitation to the account. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • UpdatedTime (datetime) --

          The date and time that the member account was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • VolumeUsageInBytes (integer) --

          The data volume in bytes per day for the member account.

        • VolumeUsageUpdatedTime (datetime) --

          The data and time when the member account data volume was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • PercentOfGraphUtilization (float) --

          The member account data volume as a percentage of the maximum allowed data volume. 0 indicates 0 percent, and 100 indicates 100 percent.

          Note that this is not the percentage of the behavior graph data volume.

          For example, the data volume for the behavior graph is 80 GB per day. The maximum data volume is 160 GB per day. If the data volume for the member account is 40 GB per day, then PercentOfGraphUtilization is 25. It represents 25% of the maximum allowed data volume.

        • PercentOfGraphUtilizationUpdatedTime (datetime) --

          The date and time when the graph utilization percentage was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • InvitationType (string) --

          The type of behavior graph membership.

          For an organization account in the organization behavior graph, the type is ORGANIZATION.

          For an account that was invited to a behavior graph, the type is INVITATION.

        • VolumeUsageByDatasourcePackage (dict) --

          Details on the volume of usage for each data source package in a behavior graph.

          • (string) --

            • (dict) --

              Information on the usage of a data source package in the behavior graph.

              • VolumeUsageInBytes (integer) --

                Total volume of data in bytes per day ingested for a given data source package.

              • VolumeUsageUpdateTime (datetime) --

                The data and time when the member account data volume was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • DatasourcePackageIngestStates (dict) --

          The state of a data source package for the behavior graph.

          • (string) --

            • (string) --

    • UnprocessedAccounts (list) --

      The requested member accounts for which Detective was unable to return member details.

      For each account, provides the reason why the request could not be processed.

      • (dict) --

        A member account that was included in a request but for which the request could not be processed.

        • AccountId (string) --

          The Amazon Web Services account identifier of the member account that was not processed.

        • Reason (string) --

          The reason that the member account request could not be processed.

ListInvitations (updated) Link ¶
Changes (response)
{'Invitations': {'DatasourcePackageIngestStates': {'DETECTIVE_CORE | EKS_AUDIT': 'STARTED '
                                                                                 '| '
                                                                                 'STOPPED '
                                                                                 '| '
                                                                                 'DISABLED'},
                 'VolumeUsageByDatasourcePackage': {'DETECTIVE_CORE | EKS_AUDIT': {'VolumeUsageInBytes': 'long',
                                                                                   'VolumeUsageUpdateTime': 'timestamp'}}}}

Retrieves the list of open and accepted behavior graph invitations for the member account. This operation can only be called by an invited member account.

Open invitations are invitations that the member account has not responded to.

The results do not include behavior graphs for which the member account declined the invitation. The results also do not include behavior graphs that the member account resigned from or was removed from.

See also: AWS API Documentation

Request Syntax

client.list_invitations(
    NextToken='string',
    MaxResults=123
)
type NextToken:

string

param NextToken:

For requests to retrieve the next page of results, the pagination token that was returned with the previous page of results. The initial request does not include a pagination token.

type MaxResults:

integer

param MaxResults:

The maximum number of behavior graph invitations to return in the response. The total must be less than the overall limit on the number of results to return, which is currently 200.

rtype:

dict

returns:

Response Syntax

{
    'Invitations': [
        {
            'AccountId': 'string',
            'EmailAddress': 'string',
            'GraphArn': 'string',
            'MasterId': 'string',
            'AdministratorId': 'string',
            'Status': 'INVITED'|'VERIFICATION_IN_PROGRESS'|'VERIFICATION_FAILED'|'ENABLED'|'ACCEPTED_BUT_DISABLED',
            'DisabledReason': 'VOLUME_TOO_HIGH'|'VOLUME_UNKNOWN',
            'InvitedTime': datetime(2015, 1, 1),
            'UpdatedTime': datetime(2015, 1, 1),
            'VolumeUsageInBytes': 123,
            'VolumeUsageUpdatedTime': datetime(2015, 1, 1),
            'PercentOfGraphUtilization': 123.0,
            'PercentOfGraphUtilizationUpdatedTime': datetime(2015, 1, 1),
            'InvitationType': 'INVITATION'|'ORGANIZATION',
            'VolumeUsageByDatasourcePackage': {
                'string': {
                    'VolumeUsageInBytes': 123,
                    'VolumeUsageUpdateTime': datetime(2015, 1, 1)
                }
            },
            'DatasourcePackageIngestStates': {
                'string': 'STARTED'|'STOPPED'|'DISABLED'
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Invitations (list) --

      The list of behavior graphs for which the member account has open or accepted invitations.

      • (dict) --

        Details about a member account in a behavior graph.

        • AccountId (string) --

          The Amazon Web Services account identifier for the member account.

        • EmailAddress (string) --

          The Amazon Web Services account root user email address for the member account.

        • GraphArn (string) --

          The ARN of the behavior graph.

        • MasterId (string) --

          The Amazon Web Services account identifier of the administrator account for the behavior graph.

        • AdministratorId (string) --

          The Amazon Web Services account identifier of the administrator account for the behavior graph.

        • Status (string) --

          The current membership status of the member account. The status can have one of the following values:

          • INVITED - For invited accounts only. Indicates that the member was sent an invitation but has not yet responded.

          • VERIFICATION_IN_PROGRESS - For invited accounts only, indicates that Detective is verifying that the account identifier and email address provided for the member account match. If they do match, then Detective sends the invitation. If the email address and account identifier don't match, then the member cannot be added to the behavior graph. For organization accounts in the organization behavior graph, indicates that Detective is verifying that the account belongs to the organization.

          • VERIFICATION_FAILED - For invited accounts only. Indicates that the account and email address provided for the member account do not match, and Detective did not send an invitation to the account.

          • ENABLED - Indicates that the member account currently contributes data to the behavior graph. For invited accounts, the member account accepted the invitation. For organization accounts in the organization behavior graph, the Detective administrator account enabled the organization account as a member account.

          • ACCEPTED_BUT_DISABLED - The account accepted the invitation, or was enabled by the Detective administrator account, but is prevented from contributing data to the behavior graph. DisabledReason provides the reason why the member account is not enabled.

          Invited accounts that declined an invitation or that were removed from the behavior graph are not included. In the organization behavior graph, organization accounts that the Detective administrator account did not enable are not included.

        • DisabledReason (string) --

          For member accounts with a status of ACCEPTED_BUT_DISABLED, the reason that the member account is not enabled.

          The reason can have one of the following values:

          • VOLUME_TOO_HIGH - Indicates that adding the member account would cause the data volume for the behavior graph to be too high.

          • VOLUME_UNKNOWN - Indicates that Detective is unable to verify the data volume for the member account. This is usually because the member account is not enrolled in Amazon GuardDuty.

        • InvitedTime (datetime) --

          For invited accounts, the date and time that Detective sent the invitation to the account. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • UpdatedTime (datetime) --

          The date and time that the member account was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • VolumeUsageInBytes (integer) --

          The data volume in bytes per day for the member account.

        • VolumeUsageUpdatedTime (datetime) --

          The data and time when the member account data volume was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • PercentOfGraphUtilization (float) --

          The member account data volume as a percentage of the maximum allowed data volume. 0 indicates 0 percent, and 100 indicates 100 percent.

          Note that this is not the percentage of the behavior graph data volume.

          For example, the data volume for the behavior graph is 80 GB per day. The maximum data volume is 160 GB per day. If the data volume for the member account is 40 GB per day, then PercentOfGraphUtilization is 25. It represents 25% of the maximum allowed data volume.

        • PercentOfGraphUtilizationUpdatedTime (datetime) --

          The date and time when the graph utilization percentage was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • InvitationType (string) --

          The type of behavior graph membership.

          For an organization account in the organization behavior graph, the type is ORGANIZATION.

          For an account that was invited to a behavior graph, the type is INVITATION.

        • VolumeUsageByDatasourcePackage (dict) --

          Details on the volume of usage for each data source package in a behavior graph.

          • (string) --

            • (dict) --

              Information on the usage of a data source package in the behavior graph.

              • VolumeUsageInBytes (integer) --

                Total volume of data in bytes per day ingested for a given data source package.

              • VolumeUsageUpdateTime (datetime) --

                The data and time when the member account data volume was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • DatasourcePackageIngestStates (dict) --

          The state of a data source package for the behavior graph.

          • (string) --

            • (string) --

    • NextToken (string) --

      If there are more behavior graphs remaining in the results, then this is the pagination token to use to request the next page of behavior graphs.

ListMembers (updated) Link ¶
Changes (response)
{'MemberDetails': {'DatasourcePackageIngestStates': {'DETECTIVE_CORE | EKS_AUDIT': 'STARTED '
                                                                                   '| '
                                                                                   'STOPPED '
                                                                                   '| '
                                                                                   'DISABLED'},
                   'VolumeUsageByDatasourcePackage': {'DETECTIVE_CORE | EKS_AUDIT': {'VolumeUsageInBytes': 'long',
                                                                                     'VolumeUsageUpdateTime': 'timestamp'}}}}

Retrieves the list of member accounts for a behavior graph.

For invited accounts, the results do not include member accounts that were removed from the behavior graph.

For the organization behavior graph, the results do not include organization accounts that the Detective administrator account has not enabled as member accounts.

See also: AWS API Documentation

Request Syntax

client.list_members(
    GraphArn='string',
    NextToken='string',
    MaxResults=123
)
type GraphArn:

string

param GraphArn:

[REQUIRED]

The ARN of the behavior graph for which to retrieve the list of member accounts.

type NextToken:

string

param NextToken:

For requests to retrieve the next page of member account results, the pagination token that was returned with the previous page of results. The initial request does not include a pagination token.

type MaxResults:

integer

param MaxResults:

The maximum number of member accounts to include in the response. The total must be less than the overall limit on the number of results to return, which is currently 200.

rtype:

dict

returns:

Response Syntax

{
    'MemberDetails': [
        {
            'AccountId': 'string',
            'EmailAddress': 'string',
            'GraphArn': 'string',
            'MasterId': 'string',
            'AdministratorId': 'string',
            'Status': 'INVITED'|'VERIFICATION_IN_PROGRESS'|'VERIFICATION_FAILED'|'ENABLED'|'ACCEPTED_BUT_DISABLED',
            'DisabledReason': 'VOLUME_TOO_HIGH'|'VOLUME_UNKNOWN',
            'InvitedTime': datetime(2015, 1, 1),
            'UpdatedTime': datetime(2015, 1, 1),
            'VolumeUsageInBytes': 123,
            'VolumeUsageUpdatedTime': datetime(2015, 1, 1),
            'PercentOfGraphUtilization': 123.0,
            'PercentOfGraphUtilizationUpdatedTime': datetime(2015, 1, 1),
            'InvitationType': 'INVITATION'|'ORGANIZATION',
            'VolumeUsageByDatasourcePackage': {
                'string': {
                    'VolumeUsageInBytes': 123,
                    'VolumeUsageUpdateTime': datetime(2015, 1, 1)
                }
            },
            'DatasourcePackageIngestStates': {
                'string': 'STARTED'|'STOPPED'|'DISABLED'
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • MemberDetails (list) --

      The list of member accounts in the behavior graph.

      For invited accounts, the results include member accounts that did not pass verification and member accounts that have not yet accepted the invitation to the behavior graph. The results do not include member accounts that were removed from the behavior graph.

      For the organization behavior graph, the results do not include organization accounts that the Detective administrator account has not enabled as member accounts.

      • (dict) --

        Details about a member account in a behavior graph.

        • AccountId (string) --

          The Amazon Web Services account identifier for the member account.

        • EmailAddress (string) --

          The Amazon Web Services account root user email address for the member account.

        • GraphArn (string) --

          The ARN of the behavior graph.

        • MasterId (string) --

          The Amazon Web Services account identifier of the administrator account for the behavior graph.

        • AdministratorId (string) --

          The Amazon Web Services account identifier of the administrator account for the behavior graph.

        • Status (string) --

          The current membership status of the member account. The status can have one of the following values:

          • INVITED - For invited accounts only. Indicates that the member was sent an invitation but has not yet responded.

          • VERIFICATION_IN_PROGRESS - For invited accounts only, indicates that Detective is verifying that the account identifier and email address provided for the member account match. If they do match, then Detective sends the invitation. If the email address and account identifier don't match, then the member cannot be added to the behavior graph. For organization accounts in the organization behavior graph, indicates that Detective is verifying that the account belongs to the organization.

          • VERIFICATION_FAILED - For invited accounts only. Indicates that the account and email address provided for the member account do not match, and Detective did not send an invitation to the account.

          • ENABLED - Indicates that the member account currently contributes data to the behavior graph. For invited accounts, the member account accepted the invitation. For organization accounts in the organization behavior graph, the Detective administrator account enabled the organization account as a member account.

          • ACCEPTED_BUT_DISABLED - The account accepted the invitation, or was enabled by the Detective administrator account, but is prevented from contributing data to the behavior graph. DisabledReason provides the reason why the member account is not enabled.

          Invited accounts that declined an invitation or that were removed from the behavior graph are not included. In the organization behavior graph, organization accounts that the Detective administrator account did not enable are not included.

        • DisabledReason (string) --

          For member accounts with a status of ACCEPTED_BUT_DISABLED, the reason that the member account is not enabled.

          The reason can have one of the following values:

          • VOLUME_TOO_HIGH - Indicates that adding the member account would cause the data volume for the behavior graph to be too high.

          • VOLUME_UNKNOWN - Indicates that Detective is unable to verify the data volume for the member account. This is usually because the member account is not enrolled in Amazon GuardDuty.

        • InvitedTime (datetime) --

          For invited accounts, the date and time that Detective sent the invitation to the account. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • UpdatedTime (datetime) --

          The date and time that the member account was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • VolumeUsageInBytes (integer) --

          The data volume in bytes per day for the member account.

        • VolumeUsageUpdatedTime (datetime) --

          The data and time when the member account data volume was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • PercentOfGraphUtilization (float) --

          The member account data volume as a percentage of the maximum allowed data volume. 0 indicates 0 percent, and 100 indicates 100 percent.

          Note that this is not the percentage of the behavior graph data volume.

          For example, the data volume for the behavior graph is 80 GB per day. The maximum data volume is 160 GB per day. If the data volume for the member account is 40 GB per day, then PercentOfGraphUtilization is 25. It represents 25% of the maximum allowed data volume.

        • PercentOfGraphUtilizationUpdatedTime (datetime) --

          The date and time when the graph utilization percentage was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • InvitationType (string) --

          The type of behavior graph membership.

          For an organization account in the organization behavior graph, the type is ORGANIZATION.

          For an account that was invited to a behavior graph, the type is INVITATION.

        • VolumeUsageByDatasourcePackage (dict) --

          Details on the volume of usage for each data source package in a behavior graph.

          • (string) --

            • (dict) --

              Information on the usage of a data source package in the behavior graph.

              • VolumeUsageInBytes (integer) --

                Total volume of data in bytes per day ingested for a given data source package.

              • VolumeUsageUpdateTime (datetime) --

                The data and time when the member account data volume was last updated. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

        • DatasourcePackageIngestStates (dict) --

          The state of a data source package for the behavior graph.

          • (string) --

            • (string) --

    • NextToken (string) --

      If there are more member accounts remaining in the results, then use this pagination token to request the next page of member accounts.