amazonka-lakeformation-2.0: Amazon Lake Formation SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

Description

Allows a caller to assume an IAM role decorated as the SAML user specified in the SAML assertion included in the request. This decoration allows Lake Formation to enforce access policies against the SAML users and groups. This API operation requires SAML federation setup in the caller’s account as it can only be called with valid SAML assertions. Lake Formation does not scope down the permission of the assumed role. All permissions attached to the role via the SAML federation setup will be included in the role session.

This decorated role is expected to access data in Amazon S3 by getting temporary access from Lake Formation which is authorized via the virtual API GetDataAccess. Therefore, all SAML roles that can be assumed via AssumeDecoratedRoleWithSAML must at a minimum include lakeformation:GetDataAccess in their role policies. A typical IAM policy attached to such a role would look as follows:

Synopsis

Creating a Request

data AssumeDecoratedRoleWithSAML Source #

See: newAssumeDecoratedRoleWithSAML smart constructor.

Constructors

AssumeDecoratedRoleWithSAML' 

Fields

  • durationSeconds :: Maybe Natural

    The time period, between 900 and 43,200 seconds, for the timeout of the temporary credentials.

  • sAMLAssertion :: Text

    A SAML assertion consisting of an assertion statement for the user who needs temporary credentials. This must match the SAML assertion that was issued to IAM. This must be Base64 encoded.

  • roleArn :: Text

    The role that represents an IAM principal whose scope down policy allows it to call credential vending APIs such as GetTemporaryTableCredentials. The caller must also have iam:PassRole permission on this role.

  • principalArn :: Text

    The Amazon Resource Name (ARN) of the SAML provider in IAM that describes the IdP.

Instances

Instances details
ToJSON AssumeDecoratedRoleWithSAML Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

ToHeaders AssumeDecoratedRoleWithSAML Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

ToPath AssumeDecoratedRoleWithSAML Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

ToQuery AssumeDecoratedRoleWithSAML Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

AWSRequest AssumeDecoratedRoleWithSAML Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

Generic AssumeDecoratedRoleWithSAML Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

Associated Types

type Rep AssumeDecoratedRoleWithSAML :: Type -> Type #

Read AssumeDecoratedRoleWithSAML Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

Show AssumeDecoratedRoleWithSAML Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

NFData AssumeDecoratedRoleWithSAML Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

Eq AssumeDecoratedRoleWithSAML Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

Hashable AssumeDecoratedRoleWithSAML Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

type AWSResponse AssumeDecoratedRoleWithSAML Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

type Rep AssumeDecoratedRoleWithSAML Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

type Rep AssumeDecoratedRoleWithSAML = D1 ('MetaData "AssumeDecoratedRoleWithSAML" "Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML" "amazonka-lakeformation-2.0-HHqQokxI1tpCfoS44CTFPa" 'False) (C1 ('MetaCons "AssumeDecoratedRoleWithSAML'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "durationSeconds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)) :*: S1 ('MetaSel ('Just "sAMLAssertion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "roleArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "principalArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text))))

newAssumeDecoratedRoleWithSAML Source #

Create a value of AssumeDecoratedRoleWithSAML with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:durationSeconds:AssumeDecoratedRoleWithSAML', assumeDecoratedRoleWithSAML_durationSeconds - The time period, between 900 and 43,200 seconds, for the timeout of the temporary credentials.

$sel:sAMLAssertion:AssumeDecoratedRoleWithSAML', assumeDecoratedRoleWithSAML_sAMLAssertion - A SAML assertion consisting of an assertion statement for the user who needs temporary credentials. This must match the SAML assertion that was issued to IAM. This must be Base64 encoded.

AssumeDecoratedRoleWithSAML, assumeDecoratedRoleWithSAML_roleArn - The role that represents an IAM principal whose scope down policy allows it to call credential vending APIs such as GetTemporaryTableCredentials. The caller must also have iam:PassRole permission on this role.

$sel:principalArn:AssumeDecoratedRoleWithSAML', assumeDecoratedRoleWithSAML_principalArn - The Amazon Resource Name (ARN) of the SAML provider in IAM that describes the IdP.

Request Lenses

assumeDecoratedRoleWithSAML_durationSeconds :: Lens' AssumeDecoratedRoleWithSAML (Maybe Natural) Source #

The time period, between 900 and 43,200 seconds, for the timeout of the temporary credentials.

assumeDecoratedRoleWithSAML_sAMLAssertion :: Lens' AssumeDecoratedRoleWithSAML Text Source #

A SAML assertion consisting of an assertion statement for the user who needs temporary credentials. This must match the SAML assertion that was issued to IAM. This must be Base64 encoded.

assumeDecoratedRoleWithSAML_roleArn :: Lens' AssumeDecoratedRoleWithSAML Text Source #

The role that represents an IAM principal whose scope down policy allows it to call credential vending APIs such as GetTemporaryTableCredentials. The caller must also have iam:PassRole permission on this role.

assumeDecoratedRoleWithSAML_principalArn :: Lens' AssumeDecoratedRoleWithSAML Text Source #

The Amazon Resource Name (ARN) of the SAML provider in IAM that describes the IdP.

Destructuring the Response

data AssumeDecoratedRoleWithSAMLResponse Source #

Constructors

AssumeDecoratedRoleWithSAMLResponse' 

Fields

Instances

Instances details
Generic AssumeDecoratedRoleWithSAMLResponse Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

Read AssumeDecoratedRoleWithSAMLResponse Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

Show AssumeDecoratedRoleWithSAMLResponse Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

NFData AssumeDecoratedRoleWithSAMLResponse Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

Eq AssumeDecoratedRoleWithSAMLResponse Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

type Rep AssumeDecoratedRoleWithSAMLResponse Source # 
Instance details

Defined in Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML

type Rep AssumeDecoratedRoleWithSAMLResponse = D1 ('MetaData "AssumeDecoratedRoleWithSAMLResponse" "Amazonka.LakeFormation.AssumeDecoratedRoleWithSAML" "amazonka-lakeformation-2.0-HHqQokxI1tpCfoS44CTFPa" 'False) (C1 ('MetaCons "AssumeDecoratedRoleWithSAMLResponse'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "accessKeyId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "expiration") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe POSIX))) :*: (S1 ('MetaSel ('Just "secretAccessKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "sessionToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "httpStatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)))))

newAssumeDecoratedRoleWithSAMLResponse Source #

Create a value of AssumeDecoratedRoleWithSAMLResponse with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:accessKeyId:AssumeDecoratedRoleWithSAMLResponse', assumeDecoratedRoleWithSAMLResponse_accessKeyId - The access key ID for the temporary credentials. (The access key consists of an access key ID and a secret key).

$sel:expiration:AssumeDecoratedRoleWithSAMLResponse', assumeDecoratedRoleWithSAMLResponse_expiration - The date and time when the temporary credentials expire.

$sel:secretAccessKey:AssumeDecoratedRoleWithSAMLResponse', assumeDecoratedRoleWithSAMLResponse_secretAccessKey - The secret key for the temporary credentials. (The access key consists of an access key ID and a secret key).

$sel:sessionToken:AssumeDecoratedRoleWithSAMLResponse', assumeDecoratedRoleWithSAMLResponse_sessionToken - The session token for the temporary credentials.

$sel:httpStatus:AssumeDecoratedRoleWithSAMLResponse', assumeDecoratedRoleWithSAMLResponse_httpStatus - The response's http status code.

Response Lenses

assumeDecoratedRoleWithSAMLResponse_accessKeyId :: Lens' AssumeDecoratedRoleWithSAMLResponse (Maybe Text) Source #

The access key ID for the temporary credentials. (The access key consists of an access key ID and a secret key).

assumeDecoratedRoleWithSAMLResponse_secretAccessKey :: Lens' AssumeDecoratedRoleWithSAMLResponse (Maybe Text) Source #

The secret key for the temporary credentials. (The access key consists of an access key ID and a secret key).