create_response_headers_policy
(**kwargs)¶Creates a response headers policy.
A response headers policy contains information about a set of HTTP headers. To create a response headers policy, you provide some metadata about the policy and a set of configurations that specify the headers.
After you create a response headers policy, you can use its ID to attach it to one or more cache behaviors in a CloudFront distribution. When it's attached to a cache behavior, the response headers policy affects the HTTP headers that CloudFront includes in HTTP responses to requests that match the cache behavior. CloudFront adds or removes response headers according to the configuration of the response headers policy.
For more information, see Adding or removing HTTP headers in CloudFront responses in the Amazon CloudFront Developer Guide .
See also: AWS API Documentation
Request Syntax
response = client.create_response_headers_policy(
ResponseHeadersPolicyConfig={
'Comment': 'string',
'Name': 'string',
'CorsConfig': {
'AccessControlAllowOrigins': {
'Quantity': 123,
'Items': [
'string',
]
},
'AccessControlAllowHeaders': {
'Quantity': 123,
'Items': [
'string',
]
},
'AccessControlAllowMethods': {
'Quantity': 123,
'Items': [
'GET'|'POST'|'OPTIONS'|'PUT'|'DELETE'|'PATCH'|'HEAD'|'ALL',
]
},
'AccessControlAllowCredentials': True|False,
'AccessControlExposeHeaders': {
'Quantity': 123,
'Items': [
'string',
]
},
'AccessControlMaxAgeSec': 123,
'OriginOverride': True|False
},
'SecurityHeadersConfig': {
'XSSProtection': {
'Override': True|False,
'Protection': True|False,
'ModeBlock': True|False,
'ReportUri': 'string'
},
'FrameOptions': {
'Override': True|False,
'FrameOption': 'DENY'|'SAMEORIGIN'
},
'ReferrerPolicy': {
'Override': True|False,
'ReferrerPolicy': 'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url'
},
'ContentSecurityPolicy': {
'Override': True|False,
'ContentSecurityPolicy': 'string'
},
'ContentTypeOptions': {
'Override': True|False
},
'StrictTransportSecurity': {
'Override': True|False,
'IncludeSubdomains': True|False,
'Preload': True|False,
'AccessControlMaxAgeSec': 123
}
},
'ServerTimingHeadersConfig': {
'Enabled': True|False,
'SamplingRate': 123.0
},
'CustomHeadersConfig': {
'Quantity': 123,
'Items': [
{
'Header': 'string',
'Value': 'string',
'Override': True|False
},
]
},
'RemoveHeadersConfig': {
'Quantity': 123,
'Items': [
{
'Header': 'string'
},
]
}
}
)
[REQUIRED]
Contains metadata about the response headers policy, and a set of configurations that specify the HTTP headers.
A comment to describe the response headers policy.
The comment cannot be longer than 128 characters.
A name to identify the response headers policy.
The name must be unique for response headers policies in this Amazon Web Services account.
A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS).
A list of origins (domain names) that CloudFront can use as the value for the Access-Control-Allow-Origin
HTTP response header.
For more information about the Access-Control-Allow-Origin
HTTP response header, see Access-Control-Allow-Origin in the MDN Web Docs.
The number of origins in the list.
The list of origins (domain names). You can specify *
to allow all origins.
A list of HTTP header names that CloudFront includes as values for the Access-Control-Allow-Headers
HTTP response header.
For more information about the Access-Control-Allow-Headers
HTTP response header, see Access-Control-Allow-Headers in the MDN Web Docs.
The number of HTTP header names in the list.
The list of HTTP header names. You can specify *
to allow all headers.
A list of HTTP methods that CloudFront includes as values for the Access-Control-Allow-Methods
HTTP response header.
For more information about the Access-Control-Allow-Methods
HTTP response header, see Access-Control-Allow-Methods in the MDN Web Docs.
The number of HTTP methods in the list.
The list of HTTP methods. Valid values are:
GET
DELETE
HEAD
OPTIONS
PATCH
POST
PUT
ALL
ALL
is a special value that includes all of the listed HTTP methods.
A Boolean that CloudFront uses as the value for the Access-Control-Allow-Credentials
HTTP response header.
For more information about the Access-Control-Allow-Credentials
HTTP response header, see Access-Control-Allow-Credentials in the MDN Web Docs.
A list of HTTP headers that CloudFront includes as values for the Access-Control-Expose-Headers
HTTP response header.
For more information about the Access-Control-Expose-Headers
HTTP response header, see Access-Control-Expose-Headers in the MDN Web Docs.
The number of HTTP headers in the list.
The list of HTTP headers. You can specify *
to expose all headers.
A number that CloudFront uses as the value for the Access-Control-Max-Age
HTTP response header.
For more information about the Access-Control-Max-Age
HTTP response header, see Access-Control-Max-Age in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides HTTP response headers received from the origin with the ones specified in this response headers policy.
A configuration for a set of security-related HTTP response headers.
Determines whether CloudFront includes the X-XSS-Protection
HTTP response header and the header's value.
For more information about the X-XSS-Protection
HTTP response header, see X-XSS-Protection in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides the X-XSS-Protection
HTTP response header received from the origin with the one specified in this response headers policy.
A Boolean that determines the value of the X-XSS-Protection
HTTP response header. When this setting is true
, the value of the X-XSS-Protection
header is 1
. When this setting is false
, the value of the X-XSS-Protection
header is 0
.
For more information about these settings, see X-XSS-Protection in the MDN Web Docs.
A Boolean that determines whether CloudFront includes the mode=block
directive in the X-XSS-Protection
header.
For more information about this directive, see X-XSS-Protection in the MDN Web Docs.
A reporting URI, which CloudFront uses as the value of the report
directive in the X-XSS-Protection
header.
You cannot specify a ReportUri
when ModeBlock
is true
.
For more information about using a reporting URL, see X-XSS-Protection in the MDN Web Docs.
Determines whether CloudFront includes the X-Frame-Options
HTTP response header and the header's value.
For more information about the X-Frame-Options
HTTP response header, see X-Frame-Options in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides the X-Frame-Options
HTTP response header received from the origin with the one specified in this response headers policy.
The value of the X-Frame-Options
HTTP response header. Valid values are DENY
and SAMEORIGIN
.
For more information about these values, see X-Frame-Options in the MDN Web Docs.
Determines whether CloudFront includes the Referrer-Policy
HTTP response header and the header's value.
For more information about the Referrer-Policy
HTTP response header, see Referrer-Policy in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides the Referrer-Policy
HTTP response header received from the origin with the one specified in this response headers policy.
The value of the Referrer-Policy
HTTP response header. Valid values are:
no-referrer
no-referrer-when-downgrade
origin
origin-when-cross-origin
same-origin
strict-origin
strict-origin-when-cross-origin
unsafe-url
For more information about these values, see Referrer-Policy in the MDN Web Docs.
The policy directives and their values that CloudFront includes as values for the Content-Security-Policy
HTTP response header.
For more information about the Content-Security-Policy
HTTP response header, see Content-Security-Policy in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides the Content-Security-Policy
HTTP response header received from the origin with the one specified in this response headers policy.
The policy directives and their values that CloudFront includes as values for the Content-Security-Policy
HTTP response header.
Determines whether CloudFront includes the X-Content-Type-Options
HTTP response header with its value set to nosniff
.
For more information about the X-Content-Type-Options
HTTP response header, see X-Content-Type-Options in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides the X-Content-Type-Options
HTTP response header received from the origin with the one specified in this response headers policy.
Determines whether CloudFront includes the Strict-Transport-Security
HTTP response header and the header's value.
For more information about the Strict-Transport-Security
HTTP response header, see Strict-Transport-Security in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides the Strict-Transport-Security
HTTP response header received from the origin with the one specified in this response headers policy.
A Boolean that determines whether CloudFront includes the includeSubDomains
directive in the Strict-Transport-Security
HTTP response header.
A Boolean that determines whether CloudFront includes the preload
directive in the Strict-Transport-Security
HTTP response header.
A number that CloudFront uses as the value for the max-age
directive in the Strict-Transport-Security
HTTP response header.
A configuration for enabling the Server-Timing
header in HTTP responses sent from CloudFront.
A Boolean that determines whether CloudFront adds the Server-Timing
header to HTTP responses that it sends in response to requests that match a cache behavior that's associated with this response headers policy.
A number 0–100 (inclusive) that specifies the percentage of responses that you want CloudFront to add the Server-Timing
header to. When you set the sampling rate to 100, CloudFront adds the Server-Timing
header to the HTTP response for every request that matches the cache behavior that this response headers policy is attached to. When you set it to 50, CloudFront adds the header to 50% of the responses for requests that match the cache behavior. You can set the sampling rate to any number 0–100 with up to four decimal places.
A configuration for a set of custom HTTP response headers.
The number of HTTP response headers in the list.
The list of HTTP response headers and their values.
An HTTP response header name and its value. CloudFront includes this header in HTTP responses that it sends for requests that match a cache behavior that's associated with this response headers policy.
The HTTP response header name.
The value for the HTTP response header.
A Boolean that determines whether CloudFront overrides a response header with the same name received from the origin with the header specified here.
A configuration for a set of HTTP headers to remove from the HTTP response.
The number of HTTP header names in the list.
The list of HTTP header names.
The name of an HTTP header that CloudFront removes from HTTP responses to requests that match the cache behavior that this response headers policy is attached to.
The HTTP header name.
{
'ResponseHeadersPolicy': {
'Id': 'string',
'LastModifiedTime': datetime(2015, 1, 1),
'ResponseHeadersPolicyConfig': {
'Comment': 'string',
'Name': 'string',
'CorsConfig': {
'AccessControlAllowOrigins': {
'Quantity': 123,
'Items': [
'string',
]
},
'AccessControlAllowHeaders': {
'Quantity': 123,
'Items': [
'string',
]
},
'AccessControlAllowMethods': {
'Quantity': 123,
'Items': [
'GET'|'POST'|'OPTIONS'|'PUT'|'DELETE'|'PATCH'|'HEAD'|'ALL',
]
},
'AccessControlAllowCredentials': True|False,
'AccessControlExposeHeaders': {
'Quantity': 123,
'Items': [
'string',
]
},
'AccessControlMaxAgeSec': 123,
'OriginOverride': True|False
},
'SecurityHeadersConfig': {
'XSSProtection': {
'Override': True|False,
'Protection': True|False,
'ModeBlock': True|False,
'ReportUri': 'string'
},
'FrameOptions': {
'Override': True|False,
'FrameOption': 'DENY'|'SAMEORIGIN'
},
'ReferrerPolicy': {
'Override': True|False,
'ReferrerPolicy': 'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url'
},
'ContentSecurityPolicy': {
'Override': True|False,
'ContentSecurityPolicy': 'string'
},
'ContentTypeOptions': {
'Override': True|False
},
'StrictTransportSecurity': {
'Override': True|False,
'IncludeSubdomains': True|False,
'Preload': True|False,
'AccessControlMaxAgeSec': 123
}
},
'ServerTimingHeadersConfig': {
'Enabled': True|False,
'SamplingRate': 123.0
},
'CustomHeadersConfig': {
'Quantity': 123,
'Items': [
{
'Header': 'string',
'Value': 'string',
'Override': True|False
},
]
},
'RemoveHeadersConfig': {
'Quantity': 123,
'Items': [
{
'Header': 'string'
},
]
}
}
},
'Location': 'string',
'ETag': 'string'
}
Response Structure
Contains a response headers policy.
The identifier for the response headers policy.
The date and time when the response headers policy was last modified.
A response headers policy configuration.
A comment to describe the response headers policy.
The comment cannot be longer than 128 characters.
A name to identify the response headers policy.
The name must be unique for response headers policies in this Amazon Web Services account.
A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS).
A list of origins (domain names) that CloudFront can use as the value for the Access-Control-Allow-Origin
HTTP response header.
For more information about the Access-Control-Allow-Origin
HTTP response header, see Access-Control-Allow-Origin in the MDN Web Docs.
The number of origins in the list.
The list of origins (domain names). You can specify *
to allow all origins.
A list of HTTP header names that CloudFront includes as values for the Access-Control-Allow-Headers
HTTP response header.
For more information about the Access-Control-Allow-Headers
HTTP response header, see Access-Control-Allow-Headers in the MDN Web Docs.
The number of HTTP header names in the list.
The list of HTTP header names. You can specify *
to allow all headers.
A list of HTTP methods that CloudFront includes as values for the Access-Control-Allow-Methods
HTTP response header.
For more information about the Access-Control-Allow-Methods
HTTP response header, see Access-Control-Allow-Methods in the MDN Web Docs.
The number of HTTP methods in the list.
The list of HTTP methods. Valid values are:
GET
DELETE
HEAD
OPTIONS
PATCH
POST
PUT
ALL
ALL
is a special value that includes all of the listed HTTP methods.
A Boolean that CloudFront uses as the value for the Access-Control-Allow-Credentials
HTTP response header.
For more information about the Access-Control-Allow-Credentials
HTTP response header, see Access-Control-Allow-Credentials in the MDN Web Docs.
A list of HTTP headers that CloudFront includes as values for the Access-Control-Expose-Headers
HTTP response header.
For more information about the Access-Control-Expose-Headers
HTTP response header, see Access-Control-Expose-Headers in the MDN Web Docs.
The number of HTTP headers in the list.
The list of HTTP headers. You can specify *
to expose all headers.
A number that CloudFront uses as the value for the Access-Control-Max-Age
HTTP response header.
For more information about the Access-Control-Max-Age
HTTP response header, see Access-Control-Max-Age in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides HTTP response headers received from the origin with the ones specified in this response headers policy.
A configuration for a set of security-related HTTP response headers.
Determines whether CloudFront includes the X-XSS-Protection
HTTP response header and the header's value.
For more information about the X-XSS-Protection
HTTP response header, see X-XSS-Protection in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides the X-XSS-Protection
HTTP response header received from the origin with the one specified in this response headers policy.
A Boolean that determines the value of the X-XSS-Protection
HTTP response header. When this setting is true
, the value of the X-XSS-Protection
header is 1
. When this setting is false
, the value of the X-XSS-Protection
header is 0
.
For more information about these settings, see X-XSS-Protection in the MDN Web Docs.
A Boolean that determines whether CloudFront includes the mode=block
directive in the X-XSS-Protection
header.
For more information about this directive, see X-XSS-Protection in the MDN Web Docs.
A reporting URI, which CloudFront uses as the value of the report
directive in the X-XSS-Protection
header.
You cannot specify a ReportUri
when ModeBlock
is true
.
For more information about using a reporting URL, see X-XSS-Protection in the MDN Web Docs.
Determines whether CloudFront includes the X-Frame-Options
HTTP response header and the header's value.
For more information about the X-Frame-Options
HTTP response header, see X-Frame-Options in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides the X-Frame-Options
HTTP response header received from the origin with the one specified in this response headers policy.
The value of the X-Frame-Options
HTTP response header. Valid values are DENY
and SAMEORIGIN
.
For more information about these values, see X-Frame-Options in the MDN Web Docs.
Determines whether CloudFront includes the Referrer-Policy
HTTP response header and the header's value.
For more information about the Referrer-Policy
HTTP response header, see Referrer-Policy in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides the Referrer-Policy
HTTP response header received from the origin with the one specified in this response headers policy.
The value of the Referrer-Policy
HTTP response header. Valid values are:
no-referrer
no-referrer-when-downgrade
origin
origin-when-cross-origin
same-origin
strict-origin
strict-origin-when-cross-origin
unsafe-url
For more information about these values, see Referrer-Policy in the MDN Web Docs.
The policy directives and their values that CloudFront includes as values for the Content-Security-Policy
HTTP response header.
For more information about the Content-Security-Policy
HTTP response header, see Content-Security-Policy in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides the Content-Security-Policy
HTTP response header received from the origin with the one specified in this response headers policy.
The policy directives and their values that CloudFront includes as values for the Content-Security-Policy
HTTP response header.
Determines whether CloudFront includes the X-Content-Type-Options
HTTP response header with its value set to nosniff
.
For more information about the X-Content-Type-Options
HTTP response header, see X-Content-Type-Options in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides the X-Content-Type-Options
HTTP response header received from the origin with the one specified in this response headers policy.
Determines whether CloudFront includes the Strict-Transport-Security
HTTP response header and the header's value.
For more information about the Strict-Transport-Security
HTTP response header, see Strict-Transport-Security in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides the Strict-Transport-Security
HTTP response header received from the origin with the one specified in this response headers policy.
A Boolean that determines whether CloudFront includes the includeSubDomains
directive in the Strict-Transport-Security
HTTP response header.
A Boolean that determines whether CloudFront includes the preload
directive in the Strict-Transport-Security
HTTP response header.
A number that CloudFront uses as the value for the max-age
directive in the Strict-Transport-Security
HTTP response header.
A configuration for enabling the Server-Timing
header in HTTP responses sent from CloudFront.
A Boolean that determines whether CloudFront adds the Server-Timing
header to HTTP responses that it sends in response to requests that match a cache behavior that's associated with this response headers policy.
A number 0–100 (inclusive) that specifies the percentage of responses that you want CloudFront to add the Server-Timing
header to. When you set the sampling rate to 100, CloudFront adds the Server-Timing
header to the HTTP response for every request that matches the cache behavior that this response headers policy is attached to. When you set it to 50, CloudFront adds the header to 50% of the responses for requests that match the cache behavior. You can set the sampling rate to any number 0–100 with up to four decimal places.
A configuration for a set of custom HTTP response headers.
The number of HTTP response headers in the list.
The list of HTTP response headers and their values.
An HTTP response header name and its value. CloudFront includes this header in HTTP responses that it sends for requests that match a cache behavior that's associated with this response headers policy.
The HTTP response header name.
The value for the HTTP response header.
A Boolean that determines whether CloudFront overrides a response header with the same name received from the origin with the header specified here.
A configuration for a set of HTTP headers to remove from the HTTP response.
The number of HTTP header names in the list.
The list of HTTP header names.
The name of an HTTP header that CloudFront removes from HTTP responses to requests that match the cache behavior that this response headers policy is attached to.
The HTTP header name.
The URL of the response headers policy.
The version identifier for the current version of the response headers policy.
Exceptions
CloudFront.Client.exceptions.AccessDenied
CloudFront.Client.exceptions.InconsistentQuantities
CloudFront.Client.exceptions.InvalidArgument
CloudFront.Client.exceptions.ResponseHeadersPolicyAlreadyExists
CloudFront.Client.exceptions.TooManyResponseHeadersPolicies
CloudFront.Client.exceptions.TooManyCustomHeadersInResponseHeadersPolicy
CloudFront.Client.exceptions.TooLongCSPInResponseHeadersPolicy
CloudFront.Client.exceptions.TooManyRemoveHeadersInResponseHeadersPolicy