API for AWS Identity and Access Management¶
| ABAP Package | /AWS1/API_IAM |
|---|---|
| ABAP SDK "TLA" | IAM |
| ABAP Interface | /AWS1/IF_IAM |
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 AWS Identity and Access Management is IAM.
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 IAM 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¶
Identity and Access Management (IAM) is a web service for securely controlling access to Amazon Web Services services. With IAM, you can centrally manage users, security credentials such as access keys, and permissions that control which Amazon Web Services resources users and applications can access. For more information about IAM, see Identity and Access Management (IAM) and the Identity and Access Management User Guide.
Programmatic access to IAM
We recommend that you use the Amazon Web Services SDKs to make programmatic API calls to IAM. The Amazon Web Services SDKs consist of libraries and sample code for various programming languages and platforms (for example, Java, Ruby, .NET, iOS, and Android). The SDKs provide a convenient way to create programmatic access to IAM and Amazon Web Services. For example, the SDKs take care of tasks such as cryptographically signing requests, managing errors, and retrying requests automatically. For more information, see Tools to build on Amazon Web Services.
Alternatively, you can also use the IAM Query API to make direct calls to the IAM service. For more information about calling the IAM Query API, see Making query requests in the Identity and Access Management User Guide. IAM supports GET and POST requests for all actions. That is, the API does not require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.
Signing requests
Requests must be signed using an access key ID and a secret access key. We strongly recommend that you do not use your Amazon Web Services account access key ID and secret access key for everyday work with IAM. You can use the access key ID and secret access key for an IAM user or you can use the Security Token Service to generate temporary security credentials and use those to sign requests.
To sign requests, we recommend that you use Signature Version 4. If you have an existing application that uses Signature Version 2, you do not have to update it to use Signature Version 4. However, some operations now require Signature Version 4. The documentation for operations that require version 4 indicate this requirement.
Additional resources
-
Amazon Web Services security credentials. This topic provides general information about the types of credentials used for accessing Amazon Web Services.
-
IAM best practices. This topic presents a list of suggestions for using the IAM service to help secure your Amazon Web Services resources.
-
Signing Amazon Web Services API requests. This set of topics walk you through the process of signing a request using an access key ID and secret access key.
Using the SDK¶
In your code, create a client using the SDK module for AWS Identity and Access Management, which is created with
factory method /AWS1/CL_IAM_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_iam) = /aws1/cl_iam_factory=>create( go_session ).
Your variable go_iam is an instance of /AWS1/IF_IAM,
and all of the operations
in the AWS Identity and Access Management service are accessed by calling methods in /AWS1/IF_IAM.
API Operations¶
For an overview of ABAP method calls corresponding to API operations in AWS Identity and Access Management, see the Operation List.
Factory Method¶
/AWS1/CL_IAM_FACTORY=>create( )¶
Creates an object of type /AWS1/IF_IAM.
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_iam /AWS1/IF_IAM¶
/AWS1/IF_IAMrepresents the ABAP client for the IAM service, representing each operation as a method call. For more information see the API Page page.
Configuring Programmatically¶
DATA(lo_config) = DATA(go_iam)->get_config( ).
lo_config is a variable of type /AWS1/CL_IAM_CONFIG. See the documentation for /AWS1/CL_IAM_CONFIG for
details on the settings that can be configured.
Waiters¶
Waiters for Implementation can be accessed via get_waiter() method followed by the waiter method to be called.
Details about the waiter methods available for service Implementation can be found in interface /AWS1/IF_IAM_WAITER.
Paginators¶
Paginators for AWS Identity and Access Management can be created via get_paginator() which returns a paginator object of type /AWS1/IF_IAM_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 AWS Identity and Access Management can be found in interface /AWS1/IF_IAM_PAGINATOR.