SamlPrincipal Class
Principal entity that represents a SAML federated identity provider.
Example
ts
const provider = new iam.SamlProvider(this, 'Provider', {
metadataDocument: iam.SamlMetadataDocument.fromFile('/path/to/saml-metadata-document.xml'),
});
const principal = new iam.SamlPrincipal(provider, {
StringEquals: {
'SAML:iss': 'issuer',
},
});
python
provider = iam.SamlProvider(self, "Provider",
metadata_document=iam.SamlMetadataDocument.from_file("/path/to/saml-metadata-document.xml")
)
principal = iam.SamlPrincipal(provider, {
"StringEquals": {
"SAML:iss": "issuer"
}
})
java
SamlProvider provider = SamlProvider.Builder.create(this, "Provider")
.metadataDocument(SamlMetadataDocument.fromFile("/path/to/saml-metadata-document.xml"))
.build();
SamlPrincipal principal = new SamlPrincipal(provider, Map.of(
"StringEquals", Map.of(
"SAML:iss", "issuer")));
csharp
// Install: dotnet add package Amazon.CDK.Lib
var provider = new SamlProvider(this, "Provider", new SamlProviderProps {
MetadataDocument = SamlMetadataDocument.FromFile("/path/to/saml-metadata-document.xml")
});
var principal = new SamlPrincipal(provider, new Dictionary<string, object> {
{ "StringEquals", new Dictionary<string, string> {
{ "SAML:iss", "issuer" }
} }
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
provider := iam.NewSamlProvider(this, jsii.String("Provider"), &SamlProviderProps{
MetadataDocument: iam.SamlMetadataDocument_FromFile(jsii.String("/path/to/saml-metadata-document.xml")),
})
principal := iam.NewSamlPrincipal(provider, map[string]interface{}{
"StringEquals": map[string]*string{
"SAML:iss": jsii.String("issuer"),
},
})
Initializer
ts
new SamlPrincipal(samlProvider: ISAMLProviderRef, conditions: { [key: string]: any })
python
SamlPrincipal(saml_provider: ISAMLProviderRef, conditions: typing.Mapping[str, Any])
java
new SamlPrincipal(ISAMLProviderRef samlProvider, Map<String, Object> conditions)
csharp
new SamlPrincipal(ISAMLProviderRef samlProvider, IDictionary<string, object> conditions)
go
NewSamlPrincipal(SamlProvider ISAMLProviderRef, Conditions *map[string]interface{})
Properties
assumeRoleActionstringassume_role_actionstrassumeRoleActionStringAssumeRoleActionstringAssumeRoleAction*stringrequired#When this Principal is used in an AssumeRole policy, the action to use.
conditions{ [key: string]: any }conditionstyping.Mapping[str, Any]conditionsMap<String, Object>ConditionsIDictionary<string, object>Conditions*map[string]interface{}required#The conditions under which the policy is in effect.
federated identity provider (i.e. 'cognito-identity.amazonaws.com' for users authenticated through Cognito).
grantPrincipalIPrincipalgrant_principalIPrincipalgrantPrincipalIPrincipalGrantPrincipalIPrincipalGrantPrincipalIPrincipalrequired#The principal to grant permissions to.
policyFragmentPrincipalPolicyFragmentpolicy_fragmentPrincipalPolicyFragmentpolicyFragmentPrincipalPolicyFragmentPolicyFragmentPrincipalPolicyFragmentPolicyFragmentPrincipalPolicyFragmentrequired#Return the policy fragment that identifies this principal in a Policy.
principalAccountstringprincipal_accountstrprincipalAccountStringPrincipalAccountstringPrincipalAccount*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(document: PolicyDocument): voiddef add_to_assume_role_policy(self, document: PolicyDocument) -> Nonepublic void addToAssumeRolePolicy(PolicyDocument document)public void AddToAssumeRolePolicy(PolicyDocument document)func AddToAssumeRolePolicy(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: 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.