Show / Hide Table of Contents

Class ResponseHeadersContentSecurityPolicy

The policy directives and their values that CloudFront includes as values for the Content-Security-Policy HTTP response header.

Inheritance
object
ResponseHeadersContentSecurityPolicy
Implements
IResponseHeadersContentSecurityPolicy
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: Amazon.CDK.AWS.CloudFront
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class ResponseHeadersContentSecurityPolicy : IResponseHeadersContentSecurityPolicy
Syntax (vb)
Public Class ResponseHeadersContentSecurityPolicy Implements IResponseHeadersContentSecurityPolicy
Remarks

ExampleMetadata: infused

Examples
// Using an existing managed response headers policy
            S3Origin bucketOrigin;

            new Distribution(this, "myDistManagedPolicy", new DistributionProps {
                DefaultBehavior = new BehaviorOptions {
                    Origin = bucketOrigin,
                    ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS
                }
            });

            // Creating a custom response headers policy -- all parameters optional
            var myResponseHeadersPolicy = new ResponseHeadersPolicy(this, "ResponseHeadersPolicy", new ResponseHeadersPolicyProps {
                ResponseHeadersPolicyName = "MyPolicy",
                Comment = "A default policy",
                CorsBehavior = new ResponseHeadersCorsBehavior {
                    AccessControlAllowCredentials = false,
                    AccessControlAllowHeaders = new [] { "X-Custom-Header-1", "X-Custom-Header-2" },
                    AccessControlAllowMethods = new [] { "GET", "POST" },
                    AccessControlAllowOrigins = new [] { "*" },
                    AccessControlExposeHeaders = new [] { "X-Custom-Header-1", "X-Custom-Header-2" },
                    AccessControlMaxAge = Duration.Seconds(600),
                    OriginOverride = true
                },
                CustomHeadersBehavior = new ResponseCustomHeadersBehavior {
                    CustomHeaders = new [] { new ResponseCustomHeader { Header = "X-Amz-Date", Value = "some-value", Override = true }, new ResponseCustomHeader { Header = "X-Amz-Security-Token", Value = "some-value", Override = false } }
                },
                SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {
                    ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = "default-src https:;", Override = true },
                    ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },
                    FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },
                    ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },
                    StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },
                    XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = false, ReportUri = "https://example.com/csp-report", Override = true }
                },
                RemoveHeaders = new [] { "Server" },
                ServerTimingSamplingRate = 50
            });
            new Distribution(this, "myDistCustomPolicy", new DistributionProps {
                DefaultBehavior = new BehaviorOptions {
                    Origin = bucketOrigin,
                    ResponseHeadersPolicy = myResponseHeadersPolicy
                }
            });

Synopsis

Constructors

ResponseHeadersContentSecurityPolicy()

The policy directives and their values that CloudFront includes as values for the Content-Security-Policy HTTP response header.

Properties

ContentSecurityPolicy

The policy directives and their values that CloudFront includes as values for the Content-Security-Policy HTTP response header.

Override

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.

Constructors

ResponseHeadersContentSecurityPolicy()

The policy directives and their values that CloudFront includes as values for the Content-Security-Policy HTTP response header.

public ResponseHeadersContentSecurityPolicy()
Remarks

ExampleMetadata: infused

Examples
// Using an existing managed response headers policy
            S3Origin bucketOrigin;

            new Distribution(this, "myDistManagedPolicy", new DistributionProps {
                DefaultBehavior = new BehaviorOptions {
                    Origin = bucketOrigin,
                    ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS
                }
            });

            // Creating a custom response headers policy -- all parameters optional
            var myResponseHeadersPolicy = new ResponseHeadersPolicy(this, "ResponseHeadersPolicy", new ResponseHeadersPolicyProps {
                ResponseHeadersPolicyName = "MyPolicy",
                Comment = "A default policy",
                CorsBehavior = new ResponseHeadersCorsBehavior {
                    AccessControlAllowCredentials = false,
                    AccessControlAllowHeaders = new [] { "X-Custom-Header-1", "X-Custom-Header-2" },
                    AccessControlAllowMethods = new [] { "GET", "POST" },
                    AccessControlAllowOrigins = new [] { "*" },
                    AccessControlExposeHeaders = new [] { "X-Custom-Header-1", "X-Custom-Header-2" },
                    AccessControlMaxAge = Duration.Seconds(600),
                    OriginOverride = true
                },
                CustomHeadersBehavior = new ResponseCustomHeadersBehavior {
                    CustomHeaders = new [] { new ResponseCustomHeader { Header = "X-Amz-Date", Value = "some-value", Override = true }, new ResponseCustomHeader { Header = "X-Amz-Security-Token", Value = "some-value", Override = false } }
                },
                SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {
                    ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = "default-src https:;", Override = true },
                    ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },
                    FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },
                    ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },
                    StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },
                    XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = false, ReportUri = "https://example.com/csp-report", Override = true }
                },
                RemoveHeaders = new [] { "Server" },
                ServerTimingSamplingRate = 50
            });
            new Distribution(this, "myDistCustomPolicy", new DistributionProps {
                DefaultBehavior = new BehaviorOptions {
                    Origin = bucketOrigin,
                    ResponseHeadersPolicy = myResponseHeadersPolicy
                }
            });

Properties

ContentSecurityPolicy

The policy directives and their values that CloudFront includes as values for the Content-Security-Policy HTTP response header.

public string ContentSecurityPolicy { get; set; }
Property Value

string

Remarks

ExampleMetadata: infused

Override

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.

public bool Override { get; set; }
Property Value

bool

Remarks

ExampleMetadata: infused

Implements

IResponseHeadersContentSecurityPolicy
Back to top Generated by DocFX