We announced the upcoming end-of-support for the AWS CLI v1. For dates, additional details, and information on how to migrate, please refer to the linked announcement. For more information see the AWS CLI version 2 installation instructions and migration guide.
[ aws . controlcatalog ]
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
get-control
--control-arn <value>
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--v2-debug]
--control-arn (string)
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_\\-]+$
--cli-input-json (string)
Performs service operation based on the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, the CLI values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally.
--generate-cli-skeleton (string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.
--debug (boolean)
Turn on debug logging.
--endpoint-url (string)
Override command’s default URL with the given URL.
--no-verify-ssl (boolean)
By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.
--no-paginate (boolean)
Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results.
--output (string)
The formatting style for command output.
--query (string)
A JMESPath query to use in filtering the response data.
--profile (string)
Use a specific profile from your credential file.
--region (string)
The region to use. Overrides config/env settings.
--version (string)
Display the version of this tool.
--color (string)
Turn on/off color output.
--no-sign-request (boolean)
Do not sign requests. Credentials will not be loaded if this argument is provided.
--ca-bundle (string)
The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.
--cli-read-timeout (int)
The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.
--cli-connect-timeout (int)
The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.
--v2-debug (boolean)
Enable AWS CLI v2 migration assistance. Prints warnings if the command would face a breaking change after swapping AWS CLI v1 for AWS CLI v2 in the current environment. Prints one warning for each breaking change detected.
To use the following examples, you must have the AWS CLI installed and configured. See the Getting started guide in the AWS CLI User Guide for more information.
Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal’s quoting rules. See Using quotation marks with strings in the AWS CLI User Guide .
To show information about an individual control
The following get-control example shows information about an individual control.
aws controlcatalog get-control \
--control-arn arn:aws:controlcatalog:::control/cwlixshc8c8mw9qiwdEXAMPLE
Output:
{
"Arn": "arn:aws:controlcatalog:::control/cwlixshc8c8mw9qiwdEXAMPLE",
"Aliases": [
"AWS-GR_REGION_DENY"
],
"Name": "Deny access to AWS based on the requested AWS Region for the landing zone",
"Description": "Disallows access to unlisted operations in global and regional services outside of the specified Regions for the landing zone.",
"Behavior": "PREVENTIVE",
"Severity": "MEDIUM",
"RegionConfiguration": {
"Scope": "GLOBAL"
},
"Implementation": {
"Type": "AWS::Organizations::Policy::SERVICE_CONTROL_POLICY"
},
"ParameterRequirementSummary": "NONE",
"Parameters": [],
"CreateTime": "2022-07-25T19:00:00-05:00",
"GovernedResources": [],
"GovernedProviders": [
"AWS"
]
}
For more information, see The AWS Control Tower Control Catalog in the AWS Control Tower User Guide.
Arn -> (string)
The Amazon Resource Name (ARN) of the control.
Aliases -> (list)
A list of alternative identifiers for the control. These are human-readable designators, such as
SH.S3.1. Several aliases can refer to the same control across different Amazon Web Services services or compliance frameworks.(string)
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 ofPreventive,Detective,Proactive
Severity -> (string)
An enumerated type, with the following possible values:
RegionConfiguration -> (structure)
Returns information about the control, including the scope of the control, if enabled, and the Regions in which the control 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
RegionConfigurationAPI operation are not related to the governed Regions in your landing zone. For example, if you are governing RegionsA,``B`` ,andCwhile the control is available in RegionsA,B, C``,`` andD, you’d see a response withDeployableRegionsofA,B,C, andDfor a control withREGIONALscope, even though you may not intend to deploy the control in RegionD, 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 valueRegional, orGlobal. 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 -> (structure)
Returns information about the control, as an
ImplementationDetailsobject that shows the underlying implementation type for a control.Type -> (string)
A string that describes a control’s implementation type.Identifier -> (string)
A service-specific identifier for the control, assigned by the service that implemented the control. For example, this identifier could be an Amazon Web Services Config Rule ID or a Security Hub Control ID.
ParameterRequirementSummary -> (string)
A summary that indicates whether the control requires parameters, accepts optional parameters, or does not support parameters. Use this field to determine whether you need to supply parameter values when you enable the control.
Parameters -> (list)
Returns an array of
ControlParameterobjects that specify the parameters a control supports. An empty list is returned for controls that don’t support parameters.(structure)
Five 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 format
arn:partition:service::account:resourceExample:["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"]- ExemptAssumeRoot : A parameter that lets you choose whether to exempt requests made with
AssumeRootfrom this control, for this OU. For member accounts, theAssumeRootproperty is included in requests initiated by IAM centralized root access. This parameter applies only to theAWS-GR_RESTRICT_ROOT_USERcontrol. If you add the parameter when enabling the control, theAssumeRootexemption is allowed. If you omit the parameter, theAssumeRootexception is not permitted. The parameter does not acceptFalseas a value. *Example: Enabling the control and allowingAssumeRoot*{ "controlIdentifier": "arn:aws:controlcatalog:::control/5kvme4m5d2b4d7if2fs5yg2ui", "parameters": [ { "key": "ExemptAssumeRoot", "value": true } ], "targetIdentifier": "arn:aws:organizations::8633900XXXXX:ou/o-6jmn81636m/ou-qsah-jtiihcla" }Name -> (string)
The parameter name. This name is the parameterkeywhen you call `EnableControlhttps://docs.aws.amazon.com/controltower/latest/APIReference/API_EnableControl.html`__ or `UpdateEnabledControlhttps://docs.aws.amazon.com/controltower/latest/APIReference/API_UpdateEnabledControl.html`__ .Requirement -> (string)
Indicates whether the parameter is required or optional when you enable the control.
CreateTime -> (timestamp)
A timestamp that notes the time when the control was released (start of its life) as a governance capability in Amazon Web Services.
GovernedResources -> (list)
A list of resource types that are governed by this control. This information helps you understand which controls can govern certain types of resources, and conversely, which resources are affected when the control is implemented. For Amazon Web Services controls, the resources are represented as CloudFormation resource types. For non-Amazon Web Services controls, the resources are represented in a provider-specific format. If
GovernedResourcescannot be represented by available resource types, it’s returned as an empty list.(string)
GovernedProviders -> (list)
A list of providers whose resources are governed by this control. For example, a value of
AWSindicates that the control governs Amazon Web Services resources.(string)