AWS Fundamentals Logo
AWS Fundamentals
L1 ConstructAWS::Organizations::Policy

CfnPolicy

Creates a policy of a specified type that you can attach to a root, an organizational unit (OU), or an individual AWS account . For more information about policies and their use, see [Managing AWS Organizations policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html) . If the request includes tags, then the requester must have the `organizations:TagResource` permission. This operation can be called only from the organization's management account or a member account designated as a delegated administrator. > Before you can create a policy of a given type, you must first [enable that policy type](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_enable-disable.html) in your organization.

Import

import { CfnPolicy } from 'aws-cdk-lib/aws-organizations';

Or use the module namespace:

import * as organizations from 'aws-cdk-lib/aws-organizations';
// organizations.CfnPolicy

Properties

Configuration passed to the constructor as CfnPolicyProps.

contentRequired
any

The policy text content. You can specify the policy content as a JSON object or a JSON string. > When you specify the policy content as a JSON string, you can't perform drift detection on the CloudFormation stack. For this reason, we recommend specifying the policy content as a JSON object instead. The text that you supply must adhere to the rules of the policy type you specify in the `Type` parameter. The following AWS Organizations quotas are enforced for the maximum size of a policy document: - Service control policies: 5,120 characters - Resource control policies: 5,120 characters - Declarative policies: 10,000 characters - Backup policies: 10,000 characters - Tag policies: 10,000 characters - Chat applications policies: 10,000 characters - AI services opt-out policies: 2,500 characters - Security Hub policies: 10,000 characters - Amazon Inspector policies: 10,000 characters - Amazon Bedrock policies: 10,000 characters - Upgrade rollout policies: 10,000 characters For more information about Organizations service quotas, see [Quotas for AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) in the *AWS Organizations User Guide* .

nameRequired
string

Name of the policy. The [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex) that is used to validate this parameter is a string of any of the characters in the ASCII character range.

typeRequired
string

The type of policy to create.

descriptionOptional
string

Human readable description of the policy.

tagsOptional
CfnTag[]

A list of tags that you want to attach to the newly created policy. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to `null` . For more information about tagging, see [Tagging AWS Organizations resources](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html) in the AWS Organizations User Guide. > If any one of the tags is not valid or if you exceed the allowed number of tags for a policy, then the entire request fails and the policy is not created.

targetIdsOptional
string[]

List of unique identifiers (IDs) of the root, OU, or account that you want to attach the policy to. You can get the ID by calling the [ListRoots](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListRoots.html) , [ListOrganizationalUnitsForParent](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListOrganizationalUnitsForParent.html) , or [ListAccounts](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListAccounts.html) operations. If you don't specify this parameter, the policy is created but not attached to any organization resource. The [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex) for a target ID string requires one of the following: - *Root* - A string that begins with "r-" followed by from 4 to 32 lowercase letters or digits. - *Account* - A string that consists of exactly 12 digits. - *Organizational unit (OU)* - A string that begins with "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits.

CloudFormation Resource

This L1 construct maps directly to the following CloudFormation resource type.

Learn AWS the Practical Way

Our bi-weekly newsletter teaches hands-on AWS fundamentals. No certification fluff - just practical knowledge.

Subscribe to Newsletter