KMS

5 resource kinds. Generated from the operator's CRD schemas.

API Group: aws.konfig.io/v1alpha1

KMSAlias # GA

KMSAlias is the Schema for managing KMS Aliases.

kubectl get kmsalias · example on GitHub

Example

# KMSAlias — KMS
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/kms.html#kmsalias
apiVersion: aws.konfig.io/v1alpha1
kind: KMSAlias
metadata:
  name: example-kmsalias
  namespace: default
spec:
  aliasName: alias/example
  providerRef:
    name: example-kmsalias
    region: us-east-1
  targetKeyRef:
    name: example-kmsalias

Spec

FieldTypeRequiredDescription
aliasNamestringyesAliasName is the alias name.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
targetKeyRefobjectyesTargetKeyRef references the KMS key to alias.
targetKeyRef.keyIdstring—KeyID is a direct AWS KMS key ID or ARN.
targetKeyRef.namestring—Name of a KMSKey CR in the same namespace.

Status

FieldTypeRequiredDescription
arnstring—ARN is the ARN of the alias.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.

KMSGrant # GA

KMSGrant is the Schema for managing KMS grants.

kubectl get kmsgrants · example on GitHub

Example

# KMSGrant — KMS
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/kms.html#kmsgrant
apiVersion: aws.konfig.io/v1alpha1
kind: KMSGrant
metadata:
  name: example-kmsgrant
  namespace: default
spec:
  granteePrincipalArn: arn:aws:iam::123456789012:role/example-role
  keyId: example-id
  name: example-kmsgrant
  operations:
  - example
  providerRef:
    name: example-kmsgrant
    region: us-east-1
  retiringPrincipalArn: arn:aws:iam::123456789012:role/example-role

Spec

FieldTypeRequiredDescription
granteePrincipalArnstringyesGranteePrincipalARN is the ARN of the principal that gets the grant permissions.
keyIdstringyesKeyID is the KMS key ID or ARN to grant permissions on.
namestring—Name is an optional friendly name for the grant.
operationsarray<string>yesOperations are the KMS operations the grantee can perform.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
retiringPrincipalArnstring—RetiringPrincipalARN is the ARN of the principal that can retire the grant.

Status

FieldTypeRequiredDescription
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
grantIdstring—GrantID is the ID of the grant.
grantTokenstring—GrantToken is the grant token.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.

KMSKey # GA

KMSKey is the Schema for managing AWS KMS Keys.

kubectl get kmskeys · example on GitHub

Example

# KMSKey — KMS
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/kms.html#kmskey
apiVersion: aws.konfig.io/v1alpha1
kind: KMSKey
metadata:
  name: example-kmskey
  namespace: default
spec:
  description: Managed by konfig-konector
  enableKeyRotation: true
  keySpec: SYMMETRIC_DEFAULT
  keyUsage: ENCRYPT_DECRYPT
  pendingWindowInDays: 7
  policy: '{"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Action": ["s3:GetObject"], "Resource":
    "*"}]}'
  providerRef:
    name: example-kmskey
    region: us-east-1
  tags:
    environment: dev
    team: platform

Spec

FieldTypeRequiredDescription
descriptionstring—Description is a human-readable description for the key.
enableKeyRotationboolean—EnableKeyRotation enables automatic annual key rotation.
keySpecenum—KeySpec is the type of KMS key to create. Allowed: SYMMETRIC_DEFAULT, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1…
keyUsageenum—KeyUsage is the cryptographic operations the key supports. Allowed: ENCRYPT_DECRYPT, SIGN_VERIFY, GENERATE_VERIFY_MAC
pendingWindowInDaysinteger—PendingWindowInDays is the waiting period (7-30 days) before scheduled deletion.
policystring—Policy is the JSON key policy document.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
tagsmap<string>—Tags are AWS resource tags to apply.

Status

FieldTypeRequiredDescription
arnstring—ARN is the ARN of the KMS key.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
keyIdstring—KeyID is the AWS KMS key ID.
keyStatestring—KeyState is the current state of the key.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.

KMSKeyPolicy # GA

KMSKeyPolicy is the Schema for managing KMS Key Policies.

kubectl get kmskeypolicies · example on GitHub

Example

# KMSKeyPolicy — KMS
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/kms.html#kmskeypolicy
apiVersion: aws.konfig.io/v1alpha1
kind: KMSKeyPolicy
metadata:
  name: example-kmskeypolicy
  namespace: default
spec:
  keyRef:
    name: example-kmskeypolicy
  policyDocument: '{"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Action": ["s3:GetObject"],
    "Resource": "*"}]}'
  policyName: example-kmskeypolicy
  providerRef:
    name: example-kmskeypolicy
    region: us-east-1

Spec

FieldTypeRequiredDescription
keyRefobjectyesKeyRef references the KMS key.
keyRef.keyIdstring—KeyID is a direct AWS KMS key ID or ARN.
keyRef.namestring—Name of a KMSKey CR in the same namespace.
policyDocumentstringyesPolicyDocument is the JSON key policy document.
policyNamestring—PolicyName is the name of the policy (default is "default").
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.

Status

FieldTypeRequiredDescription
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.

KMSReplicaKey # CLOUD CONTROL · AWS::KMS::ReplicaKey

KMSReplicaKey manages AWS::KMS::ReplicaKey through the AWS Cloud Control API.

kubectl get kmsreplicakeys · example on GitHub

Example

# KMSReplicaKey — KMS
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/kms.html#kmsreplicakey
apiVersion: aws.konfig.io/v1alpha1
kind: KMSReplicaKey
metadata:
  name: example-kmsreplicakey
  namespace: default
spec:
  description: Managed by konfig-konector
  enabled: true
  pendingWindowInDays: 7
  primaryKeyArn: arn:aws:iam::123456789012:role/example-role
  providerRef:
    name: example-kmsreplicakey
    region: us-east-1
  tags:
  - key: example
    value: example

Spec

FieldTypeRequiredDescription
descriptionstring—A description of the AWS KMS key.
enabledboolean—Specifies whether the AWS KMS key is enabled.
keyPolicyobjectyesThe key policy that authorizes use of the AWS KMS key.
pendingWindowInDaysinteger—Specifies the number of days in the waiting period before AWS KMS deletes an AWS KMS key that has been removed from a CloudFormation stack.
primaryKeyArnstringyesIdentifies the primary AWS KMS key to create a replica of.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
tagsarray<object>—An array of key-value pairs to apply to this resource.
tags[].keystringyes
tags[].valuestringyes

Status

FieldTypeRequiredDescription
arnstring—Read-only: reported by AWS after creation.
attemptinteger—Attempt counts failed create/delete requests; it salts the Cloud Control idempotency token so a retry is not served the cached failure.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
identifierstring—Identifier is the Cloud Control primary identifier of the resource.
keyIdstring—Read-only: reported by AWS after creation.
lastSyncTimestring—
observedGenerationinteger—
operationstring—Operation is the in-flight operation (CREATE, UPDATE, DELETE).
operationStatusstring—OperationStatus is the last reported operation status.
requestTokenstring—RequestToken tracks an in-flight asynchronous operation.