Skip to content
v2.275.0

SessionTagsPrincipal Class ​

Enables session tags on role assumptions from a principal.

For more information on session tags, see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html

Example ​

ts
// 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';

declare const principal: iam.IPrincipal;
const sessionTagsPrincipal = new iam.SessionTagsPrincipal(principal);
python
# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_iam as iam

# principal: iam.IPrincipal

session_tags_principal = iam.SessionTagsPrincipal(principal)
java
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.iam.*;

IPrincipal principal;

SessionTagsPrincipal sessionTagsPrincipal = new SessionTagsPrincipal(principal);
csharp
// Install: dotnet add package Amazon.CDK.Lib
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.IAM;

IPrincipal principal;

var sessionTagsPrincipal = new SessionTagsPrincipal(principal);
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var principal IPrincipal

sessionTagsPrincipal := awscdk.Aws_iam.NewSessionTagsPrincipal(principal)

Initializer ​

ts
new SessionTagsPrincipal(principal: IPrincipal)
python
SessionTagsPrincipal(principal: IPrincipal)
java
new SessionTagsPrincipal(IPrincipal principal)
csharp
new SessionTagsPrincipal(IPrincipal principal)
go
NewSessionTagsPrincipal(Principal IPrincipal)

Properties ​

assumeRoleActionstringassume_role_actionstrassumeRoleActionStringAssumeRoleActionstringAssumeRoleAction*string#
When this Principal is used in an AssumeRole policy, the action to use.
grantPrincipalIPrincipalgrant_principalIPrincipalgrantPrincipalIPrincipalGrantPrincipalIPrincipalGrantPrincipalIPrincipal#
The principal to grant permissions to.
Return the policy fragment that identifies this principal in a Policy.
principalAccountmay be undefinedstringprincipal_accountmay be undefinedstrprincipalAccountmay be undefinedStringPrincipalAccountmay be undefinedstringPrincipalAccountmay be undefined*string#
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 ​

addToAssumeRolePolicy(doc: PolicyDocument): voiddef add_to_assume_role_policy(self, doc: PolicyDocument) -> Nonepublic void addToAssumeRolePolicy(PolicyDocument doc)public void AddToAssumeRolePolicy(PolicyDocument doc)func AddToAssumeRolePolicy(Doc 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: PolicyStatement): booleandef add_to_policy(self, statement: PolicyStatement) -> boolpublic Boolean addToPolicy(PolicyStatement statement)public bool AddToPolicy(PolicyStatement statement)func AddToPolicy(Statement PolicyStatement) *bool#
Add to the policy of this principal.
addToPrincipalPolicy(statement: PolicyStatement): AddToPrincipalPolicyResultdef add_to_principal_policy(self, statement: PolicyStatement) -> AddToPrincipalPolicyResultpublic AddToPrincipalPolicyResult addToPrincipalPolicy(PolicyStatement statement)public AddToPrincipalPolicyResult AddToPrincipalPolicy(PolicyStatement statement)func AddToPrincipalPolicy(Statement PolicyStatement) AddToPrincipalPolicyResult#
Add to the policy of this principal.
dedupeString(): stringdef dedupe_string(self, ) -> strpublic String dedupeString()public string DedupeString()func DedupeString() *string#
Return whether or not this principal is equal to the given principal.
toJSON(): { [key: string]: string[] }def to_json(self, ) -> typing.Mapping[str, typing.List[str]]public Map<String, List<String>> toJSON()public IDictionary<string, string[]> ToJSON()func ToJSON() *map[string]*[]*string#
JSON-ify the principal.

Used when JSON.stringify() is called

toString(): stringdef to_string(self, ) -> strpublic String toString()public string ToString()func ToString() *string#
Returns a string representation of an object.
withConditions(conditions: { [key: string]: any }): PrincipalBasedef with_conditions(self, conditions: typing.Mapping[str, Any]) -> PrincipalBasepublic PrincipalBase withConditions(Map<String, Object> conditions)public PrincipalBase WithConditions(IDictionary<string, object> conditions)func WithConditions(Conditions *map[string]interface{}) 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.

returns

Returns: a new PrincipalWithConditions object.

withSessionTags(): PrincipalBasedef with_session_tags(self, ) -> PrincipalBasepublic PrincipalBase withSessionTags()public PrincipalBase WithSessionTags()func WithSessionTags() PrincipalBase#
Returns a new principal using this principal as the base, with session tags enabled.
returns

Returns: a new SessionTagsPrincipal object.