aws_cloudfront_public_key resource
Use the aws_cloudfront_public_key InSpec audit resource to test properties of a single AWS CloudFront public key.
The AWS::CloudFront::PublicKey resource type creates a public key that you can use with signed URLs and signed cookies, or with field-level encryption.
For additional information, including details on parameters and properties, see the AWS documentation on AWS Logs public key..
Syntax
Ensure that the public key exists.
describe aws_cloudfront_public_key(id: "PUBLIC_KEY_ID") do
it { should exist }
end
Parameters
id(required)The identifier of the public key.
Properties
id- The identifier of the public key.
created_time- The date and time when the public key was uploaded.
public_key_config.caller_reference- A string included in the request to help make sure that the request can’t be replayed.
public_key_config.name- A name to help identify the public key.
public_key_config.encoded_key- The public key that you can use with signed URLs and signed cookies , or with field-level encryption.
public_key_config.comment- A comment to describe the public key. The comment cannot be longer than 128 characters.
Examples
Ensure a public key ID is available:
describe aws_cloudfront_public_key(id: "PUBLIC_KEY_ID") do
its('id') { should eq 'ID' }
end
Ensure a public key name is available:
describe aws_cloudfront_public_key(id: "PUBLIC_KEY_ID") do
its('public_key_config.name') { should eq 'PUBLIC_KEY_NAME' }
end
Matchers
For a full list of available matchers, see our Universal Matchers page.This resource has the following special matchers.
exist
Use should to test that the entity exists.
describe aws_cloudfront_public_key(id: "PUBLIC_KEY_ID") do
it { should exist }
end
Use should_not to test that an entity does not exist.
describe aws_cloudfront_public_key(id: "PUBLIC_KEY_ID") do
it { should_not exist }
end
be_available
Use should to check if the entity is available.
describe aws_cloudfront_public_key(id: "PUBLIC_KEY_ID") do
it { should be_available }
end
AWS Permissions
Your AWS principal will need the CloudFront:Client:GetPublicKeyResult action with Effect set to Allow.