aws-cdk-lib.aws_kms.ViaServicePrincipal

class ViaServicePrincipal

LanguageType name
.NETAmazon.CDK.AWS.KMS.ViaServicePrincipal
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awskms#ViaServicePrincipal
Javasoftware.amazon.awscdk.services.kms.ViaServicePrincipal
Pythonaws_cdk.aws_kms.ViaServicePrincipal
TypeScript (source)aws-cdk-lib » aws_kms » ViaServicePrincipal

Implements IAssumeRolePrincipal, IGrantable, IPrincipal, IComparablePrincipal

Extends PrincipalBase

A principal to allow access to a key if it's being used through another AWS service.

Example

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_iam as iam } from 'aws-cdk-lib';
import { aws_kms as kms } from 'aws-cdk-lib';

declare const principal: iam.IPrincipal;
const viaServicePrincipal = new kms.ViaServicePrincipal('serviceName', /* all optional props */ principal);

Initializer

new ViaServicePrincipal(serviceName: string, basePrincipal?: IPrincipal)

Parameters

  • serviceName string
  • basePrincipal IPrincipal

Properties

NameTypeDescription
assumeRoleActionstringWhen this Principal is used in an AssumeRole policy, the action to use.
grantPrincipalIPrincipalThe principal to grant permissions to.
policyFragmentPrincipalPolicyFragmentReturn the policy fragment that identifies this principal in a Policy.
principalAccount?stringThe AWS account ID of this principal.

assumeRoleAction

Type: string

When this Principal is used in an AssumeRole policy, the action to use.


grantPrincipal

Type: IPrincipal

The principal to grant permissions to.


policyFragment

Type: PrincipalPolicyFragment

Return the policy fragment that identifies this principal in a Policy.


principalAccount?

Type: string (optional)

The AWS account ID of this principal.

Can be undefined when the account is not known (for example, for service principals). Can be a Token - in that case, it's assumed to be AWS::AccountId.

Methods

NameDescription
addToAssumeRolePolicy(document)Add the principal to the AssumeRolePolicyDocument.
addToPolicy(statement)Add to the policy of this principal.
addToPrincipalPolicy(_statement)Add to the policy of this principal.
dedupeString()Return whether or not this principal is equal to the given principal.
toJSON()JSON-ify the principal.
toString()Returns a string representation of an object.
withConditions(conditions)Returns a new PrincipalWithConditions using this principal as the base, with the passed conditions added.
withSessionTags()Returns a new principal using this principal as the base, with session tags enabled.

addToAssumeRolePolicy(document)

public addToAssumeRolePolicy(document: PolicyDocument): void

Parameters

  • document PolicyDocument

Add the principal to the AssumeRolePolicyDocument.

Add the statements to the AssumeRolePolicyDocument necessary to give this principal permissions to assume the given role.


addToPolicy(statement)

public addToPolicy(statement: PolicyStatement): boolean

Parameters

  • statement PolicyStatement

Returns

  • boolean

Add to the policy of this principal.


addToPrincipalPolicy(_statement)

public addToPrincipalPolicy(_statement: PolicyStatement): AddToPrincipalPolicyResult

Parameters

  • _statement PolicyStatement

Returns

  • AddToPrincipalPolicyResult

Add to the policy of this principal.


dedupeString()

public dedupeString(): string

Returns

  • string

Return whether or not this principal is equal to the given principal.


toJSON()

public toJSON(): { [string]: string[] }

Returns

  • { [string]: string[] }

JSON-ify the principal.

Used when JSON.stringify() is called


toString()

public toString(): string

Returns

  • string

Returns a string representation of an object.


withConditions(conditions)

public withConditions(conditions: { [string]: any }): PrincipalBase

Parameters

  • conditions { [string]: any }

Returns

  • PrincipalBase

Returns a new PrincipalWithConditions using this principal as the base, with the passed conditions added.

When there is a value for the same operator and key in both the principal and the conditions parameter, the value from the conditions parameter will be used.


withSessionTags()

public withSessionTags(): PrincipalBase

Returns

  • PrincipalBase

Returns a new principal using this principal as the base, with session tags enabled.