API for Amazon Detective¶
ABAP Package | /AWS1/API_DET_IMPL |
---|---|
ABAP SDK "TLA" | DET |
ABAP Interface | /AWS1/IF_DET |
The "TLA" is a Three Letter Abbreviation that appears in ABAP class names, data dictionary
objects and other ABAP objects throughout the AWS SDK for SAP ABAP. The TLA for Amazon Detective is DET
.
This TLA helps squeeze ABAP objects into the 30-character length limit of the ABAP data dictionary.
Installation¶
To install the AWS SDK for SAP ABAP, import the Core transport, along with the transport for the Detective module and other API modules you are interested in. A few modules are included in the Core transport itself. For more information, see the Developer Guide guide.
About The Service¶
Detective uses machine learning and purpose-built visualizations to help you to analyze and investigate security issues across your Amazon Web Services (Amazon Web Services) workloads. Detective automatically extracts time-based events such as login attempts, API calls, and network traffic from CloudTrail and Amazon Virtual Private Cloud (Amazon VPC) flow logs. It also extracts findings detected by Amazon GuardDuty.
The Detective API primarily supports the creation and management of behavior graphs. A behavior graph contains the extracted data from a set of member accounts, and is created and managed by an administrator account.
To add a member account to the behavior graph, the administrator account sends an invitation to the account. When the account accepts the invitation, it becomes a member account in the behavior graph.
Detective is also integrated with Organizations. The organization management account designates the Detective administrator account for the organization. That account becomes the administrator account for the organization behavior graph. The Detective administrator account is also the delegated administrator account for Detective in Organizations.
The Detective administrator account can enable any organization account as a member account in the organization behavior graph. The organization accounts do not receive invitations. The Detective administrator account can also invite other accounts to the organization behavior graph.
Every behavior graph is specific to a Region. You can only use the API to manage behavior graphs that belong to the Region that is associated with the currently selected endpoint.
The administrator account for a behavior graph can use the Detective API to do the following:
-
Enable and disable Detective. Enabling Detective creates a new behavior graph.
-
View the list of member accounts in a behavior graph.
-
Add member accounts to a behavior graph.
-
Remove member accounts from a behavior graph.
-
Apply tags to a behavior graph.
The organization management account can use the Detective API to select the delegated administrator for Detective.
The Detective administrator account for an organization can use the Detective API to do the following:
-
Perform all of the functions of an administrator account.
-
Determine whether to automatically enable new organization accounts as member accounts in the organization behavior graph.
An invited member account can use the Detective API to do the following:
-
View the list of behavior graphs that they are invited to.
-
Accept an invitation to contribute to a behavior graph.
-
Decline an invitation to contribute to a behavior graph.
-
Remove their account from a behavior graph.
All API actions are logged as CloudTrail events. See Logging Detective API Calls with CloudTrail.
We replaced the term "master account" with the term "administrator account". An administrator account is used to centrally manage multiple accounts. In the case of Detective, the administrator account manages the accounts in their behavior graph.
Using the SDK¶
In your code, create a client using the SDK module for Amazon Detective, which is created with
factory method /AWS1/CL_DET_FACTORY
=>create()
.
In this example we will assume you have configured
an SDK profile in transaction /AWS1/IMG
called ZFINANCE
.
DATA(go_session) = /aws1/cl_rt_session_aws=>create( 'ZFINANCE' ).
DATA(go_det) = /aws1/cl_det_factory=>create( go_session ).
Your variable go_det
is an instance of /AWS1/IF_DET
,
and all of the operations
in the Amazon Detective service are accessed by calling methods in /AWS1/IF_DET
.
API Operations¶
For an overview of ABAP method calls corresponding to API operations in Amazon Detective, see the Operation List.
Factory Method¶
/AWS1/CL_DET_FACTORY=>create( )
¶
Creates an object of type /AWS1/IF_DET
.
IMPORTING¶
Optional arguments:¶
IV_PROTOCOL
TYPE /AWS1/RT_PROTOCOL
/AWS1/RT_PROTOCOL
¶
IO_SESSION
TYPE REF TO /AWS1/CL_RT_SESSION_BASE
/AWS1/CL_RT_SESSION_BASE
¶
IV_REGION
TYPE /AWS1/RT_REGION_ID
/AWS1/RT_REGION_ID
¶
IV_CUSTOM_ENDPOINT
TYPE /AWS1/RT_ENDPOINT
/AWS1/RT_ENDPOINT
¶
RETURNING¶
OO_CLIENT
TYPE REF TO /AWS1/IF_DET
/AWS1/IF_DET
¶
/AWS1/IF_DET
represents the ABAP client for the Detective service, representing each operation as a method call. For more information see the API Page page.
Configuring Programmatically¶
DATA(lo_config) = DATA(go_det)->get_config( ).
lo_config
is a variable of type /AWS1/CL_DET_CONFIG
. See the documentation for /AWS1/CL_DET_CONFIG
for
details on the settings that can be configured.
Paginators¶
Paginators for Amazon Detective can be created via get_paginator()
which returns a paginator object of type /AWS1/IF_DET_PAGINATOR
. The operation method that is being paginated is called using the paginator object, which accepts any necessary parameters to provide to the underlying API operation. This returns an iterator object which can be used to iterate over paginated results using has_next()
and get_next()
methods.
Details about the paginator methods available for service Amazon Detective can be found in interface /AWS1/IF_DET_PAGINATOR
.