AWS CloudTrail

2022/09/09 - AWS CloudTrail - 2 new api methods

Changes  This release adds CloudTrail getChannel and listChannels APIs to allow customer to view the ServiceLinkedChannel configurations.

GetChannel (new) Link ¶

Returns the specified CloudTrail service-linked channel. Amazon Web Services services create service-linked channels to view CloudTrail events.

See also: AWS API Documentation

Request Syntax

client.get_channel(
    Channel='string'
)
type Channel:

string

param Channel:

[REQUIRED]

The Amazon Resource Name (ARN) of the CloudTrail service-linked channel.

rtype:

dict

returns:

Response Syntax

{
    'ChannelArn': 'string',
    'Name': 'string',
    'Source': 'string',
    'SourceConfig': {
        'ApplyToAllRegions': True|False,
        'AdvancedEventSelectors': [
            {
                'Name': 'string',
                'FieldSelectors': [
                    {
                        'Field': 'string',
                        'Equals': [
                            'string',
                        ],
                        'StartsWith': [
                            'string',
                        ],
                        'EndsWith': [
                            'string',
                        ],
                        'NotEquals': [
                            'string',
                        ],
                        'NotStartsWith': [
                            'string',
                        ],
                        'NotEndsWith': [
                            'string',
                        ]
                    },
                ]
            },
        ]
    },
    'Destinations': [
        {
            'Type': 'EVENT_DATA_STORE'|'AWS_SERVICE',
            'Location': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • ChannelArn (string) --

      The ARN of the CloudTrail service-linked channel.

    • Name (string) --

      The name of the CloudTrail service-linked channel. For service-linked channels, the value is aws-service-channel/service-name/custom-suffix where service-name represents the name of the Amazon Web Services service that created the channel and custom-suffix represents the suffix generated by the Amazon Web Services service.

    • Source (string) --

      The trail or event data store for the CloudTrail service-linked channel.

    • SourceConfig (dict) --

      Provides information about the advanced event selectors configured for the service-linked channel, and whether the service-linked channel applies to all regions or one region.

      • ApplyToAllRegions (boolean) --

        Specifies whether the service-linked channel applies to one region or all regions.

      • AdvancedEventSelectors (list) --

        The advanced event selectors configured for the service-linked channel.

        • (dict) --

          Advanced event selectors let you create fine-grained selectors for the following CloudTrail event record fields. They help you control costs by logging only those events that are important to you. For more information about advanced event selectors, see Logging data events for trails in the CloudTrail User Guide.

          • readOnly

          • eventSource

          • eventName

          • eventCategory

          • resources.type

          • resources.ARN

          You cannot apply both event selectors and advanced event selectors to a trail.

          • Name (string) --

            An optional, descriptive name for an advanced event selector, such as "Log data events for only two S3 buckets".

          • FieldSelectors (list) --

            Contains all selector statements in an advanced event selector.

            • (dict) --

              A single selector statement in an advanced event selector.

              • Field (string) --

                A field in an event record on which to filter events to be logged. Supported fields include readOnly, eventCategory, eventSource (for management events), eventName, resources.type, and resources.ARN.

                • readOnly - Optional. Can be set to Equals a value of true or false. If you do not add this field, CloudTrail logs both read and write events. A value of true logs only read events. A value of false logs only write events.

                • eventSource - For filtering management events only. This can be set only to NotEquals kms.amazonaws.com.

                • eventName - Can use any operator. You can use it to filter in or filter out any data event logged to CloudTrail, such as PutBucket or GetSnapshotBlock. You can have multiple values for this field, separated by commas.

                • eventCategory - This is required. It must be set to Equals, and the value must be Management or Data.

                • resources.type - This field is required. resources.type can only use the Equals operator, and the value can be one of the following:

                  • AWS::S3::Object

                  • AWS::Lambda::Function

                  • AWS::DynamoDB::Table

                  • AWS::S3Outposts::Object

                  • AWS::ManagedBlockchain::Node

                  • AWS::S3ObjectLambda::AccessPoint

                  • AWS::EC2::Snapshot

                  • AWS::S3::AccessPoint

                  • AWS::DynamoDB::Stream

                  • AWS::Glue::Table

                You can have only one resources.type field per selector. To log data events on more than one resource type, add another selector.

                • resources.ARN - You can use any operator with resources.ARN, but if you use Equals or NotEquals, the value must exactly match the ARN of a valid resource of the type you've specified in the template as the value of resources.type. For example, if resources.type equals AWS::S3::Object, the ARN must be in one of the following formats. To log all data events for all objects in a specific S3 bucket, use the StartsWith operator, and include only the bucket ARN as the matching value. The trailing slash is intentional; do not exclude it. Replace the text between less than and greater than symbols (<>) with resource-specific information.

                  • arn:<partition>:s3:::<bucket_name>/

                  • arn:<partition>:s3:::<bucket_name>/<object_path>/

                When resources.type equals AWS::S3::AccessPoint, and the operator is set to Equals or NotEquals, the ARN must be in one of the following formats. To log events on all objects in an S3 access point, we recommend that you use only the access point ARN, don’t include the object path, and use the StartsWith or NotStartsWith operators.

                • arn:<partition>:s3:<region>:<account_ID>:accesspoint/<access_point_name>

                • arn:<partition>:s3:<region>:<account_ID>:accesspoint/<access_point_name>/object/<object_path>

                When resources.type equals AWS::Lambda::Function, and the operator is set to Equals or NotEquals, the ARN must be in the following format:

                • arn:<partition>:lambda:<region>:<account_ID>:function:<function_name>

                When resources.type equals AWS::DynamoDB::Table, and the operator is set to Equals or NotEquals, the ARN must be in the following format:

                • arn:<partition>:dynamodb:<region>:<account_ID>:table/<table_name>

                When resources.type equals AWS::S3Outposts::Object, and the operator is set to Equals or NotEquals, the ARN must be in the following format:

                • arn:<partition>:s3-outposts:<region>:<account_ID>:<object_path>

                When resources.type equals AWS::ManagedBlockchain::Node, and the operator is set to Equals or NotEquals, the ARN must be in the following format:

                • arn:<partition>:managedblockchain:<region>:<account_ID>:nodes/<node_ID>

                When resources.type equals AWS::S3ObjectLambda::AccessPoint, and the operator is set to Equals or NotEquals, the ARN must be in the following format:

                • arn:<partition>:s3-object-lambda:<region>:<account_ID>:accesspoint/<access_point_name>

                When resources.type equals AWS::EC2::Snapshot, and the operator is set to Equals or NotEquals, the ARN must be in the following format:

                • arn:<partition>:ec2:<region>::snapshot/<snapshot_ID>

                When resources.type equals AWS::DynamoDB::Stream, and the operator is set to Equals or NotEquals, the ARN must be in the following format:

                • arn:<partition>:dynamodb:<region>:<account_ID>:table/<table_name>/stream/<date_time>

                When resources.type equals AWS::Glue::Table, and the operator is set to Equals or NotEquals, the ARN must be in the following format:

                • arn:<partition>:glue:<region>:<account_ID>:table/<database_name>/<table_name>

              • Equals (list) --

                An operator that includes events that match the exact value of the event record field specified as the value of Field. This is the only valid operator that you can use with the readOnly, eventCategory, and resources.type fields.

                • (string) --

              • StartsWith (list) --

                An operator that includes events that match the first few characters of the event record field specified as the value of Field.

                • (string) --

              • EndsWith (list) --

                An operator that includes events that match the last few characters of the event record field specified as the value of Field.

                • (string) --

              • NotEquals (list) --

                An operator that excludes events that match the exact value of the event record field specified as the value of Field.

                • (string) --

              • NotStartsWith (list) --

                An operator that excludes events that match the first few characters of the event record field specified as the value of Field.

                • (string) --

              • NotEndsWith (list) --

                An operator that excludes events that match the last few characters of the event record field specified as the value of Field.

                • (string) --

    • Destinations (list) --

      The Amazon Web Services service that created the CloudTrail service-linked channel.

      • (dict) --

        Contains information about the service where CloudTrail delivers events.

        • Type (string) --

          The type of service. For service-linked channels, the value is AWS_SERVICE.

        • Location (string) --

          The location of the service. For service-linked channels, this is the name of the Amazon Web Services service.

ListChannels (new) Link ¶

Returns all CloudTrail channels.

See also: AWS API Documentation

Request Syntax

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

integer

param MaxResults:

The maximum number of CloudTrail channels to display on a single page.

type NextToken:

string

param NextToken:

A token you can use to get the next page of results.

rtype:

dict

returns:

Response Syntax

{
    'Channels': [
        {
            'ChannelArn': 'string',
            'Name': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Channels (list) --

      The list of CloudTrail channels.

      • (dict) --

        Contains information about a returned CloudTrail channel.

        • ChannelArn (string) --

          The Amazon Resource Name (ARN) of the channel.

        • Name (string) --

          The name of the CloudTrail channel. For service-linked channels, the name is aws-service-channel/service-name/custom-suffix where service-name represents the name of the Amazon Web Services service that created the channel and custom-suffix represents the suffix created by the Amazon Web Services service.

    • NextToken (string) --

      A token used to get the next page of results.