AWS Control Catalog

2024/11/08 - AWS Control Catalog - 1 updated api methods

Changes  AWS Control Catalog GetControl public API returns additional data in output, including Implementation and Parameters

GetControl (updated) Link ¶
Changes (response)
{'Implementation': {'Type': 'string'}, 'Parameters': [{'Name': 'string'}]}

Returns details about a specific control, most notably a list of Amazon Web Services Regions where this control is supported. Input a value for the ControlArn parameter, in ARN form. GetControl accepts controltower or controlcatalog control ARNs as input. Returns a controlcatalog ARN format.

In the API response, controls that have the value GLOBAL in the Scope field do not show the DeployableRegions field, because it does not apply. Controls that have the value REGIONAL in the Scope field return a value for the DeployableRegions field, as shown in the example.

See also: AWS API Documentation

Request Syntax

client.get_control(
    ControlArn='string'
)
type ControlArn:

string

param ControlArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the control. It has one of the following formats:

Global format

arn:{PARTITION}:controlcatalog:::control/{CONTROL_CATALOG_OPAQUE_ID}

Or Regional format

arn:{PARTITION}:controltower:{REGION}::control/{CONTROL_TOWER_OPAQUE_ID}

Here is a more general pattern that covers Amazon Web Services Control Tower and Control Catalog ARNs:

^arn:(aws(?:[-a-z]*)?):(controlcatalog|controltower):[a-zA-Z0-9-]*::control/[0-9a-zA-Z_\\-]+$

rtype:

dict

returns:

Response Syntax

{
    'Arn': 'string',
    'Name': 'string',
    'Description': 'string',
    'Behavior': 'PREVENTIVE'|'PROACTIVE'|'DETECTIVE',
    'RegionConfiguration': {
        'Scope': 'GLOBAL'|'REGIONAL',
        'DeployableRegions': [
            'string',
        ]
    },
    'Implementation': {
        'Type': 'string'
    },
    'Parameters': [
        {
            'Name': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • Arn (string) --

      The Amazon Resource Name (ARN) of the control.

    • Name (string) --

      The display name of the control.

    • Description (string) --

      A description of what the control does.

    • Behavior (string) --

      A term that identifies the control's functional behavior. One of Preventive, Detective, Proactive

    • RegionConfiguration (dict) --

      Returns information about the control, including the scope of the control, if enabled, and the Regions in which the control currently is available for deployment. For more information about scope, see Global services.

      If you are applying controls through an Amazon Web Services Control Tower landing zone environment, remember that the values returned in the RegionConfiguration API operation are not related to the governed Regions in your landing zone. For example, if you are governing Regions A, B,and C while the control is available in Regions A, B, C , and D, you'd see a response with DeployableRegions of A, B, C, and D for a control with REGIONAL scope, even though you may not intend to deploy the control in Region D, because you do not govern it through your landing zone.

      • Scope (string) --

        The coverage of the control, if deployed. Scope is an enumerated type, with value Regional, or Global. A control with Global scope is effective in all Amazon Web Services Regions, regardless of the Region from which it is enabled, or to which it is deployed. A control implemented by an SCP is usually Global in scope. A control with Regional scope has operations that are restricted specifically to the Region from which it is enabled and to which it is deployed. Controls implemented by Config rules and CloudFormation hooks usually are Regional in scope. Security Hub controls usually are Regional in scope.

      • DeployableRegions (list) --

        Regions in which the control is available to be deployed.

        • (string) --

    • Implementation (dict) --

      Returns information about the control, as an ImplementationDetails object that shows the underlying implementation type for a control.

      • Type (string) --

        A string that describes a control's implementation type.

    • Parameters (list) --

      Returns an array of ControlParameter objects that specify the parameters a control supports. An empty list is returned for controls that don’t support parameters.

      • (dict) --

        Four types of control parameters are supported.

        • AllowedRegions: List of Amazon Web Services Regions exempted from the control. Each string is expected to be an Amazon Web Services Region code. This parameter is mandatory for the OU Region deny control, CT.MULTISERVICE.PV.1. Example: ["us-east-1","us-west-2"]

        • ExemptedActions: List of Amazon Web Services IAM actions exempted from the control. Each string is expected to be an IAM action. Example: ["logs:DescribeLogGroups","logs:StartQuery","logs:GetQueryResults"]

        • ExemptedPrincipalArns: List of Amazon Web Services IAM principal ARNs exempted from the control. Each string is expected to be an IAM principal that follows the pattern ^arn:(aws|aws-us-gov):(iam|sts)::.+:.+$ Example: ["arn:aws:iam::*:role/ReadOnly","arn:aws:sts::*:assumed-role/ReadOnly/*"]

        • ExemptedResourceArns: List of resource ARNs exempted from the control. Each string is expected to be a resource ARN. Example: ["arn:aws:s3:::my-bucket-name"]