Amazon QuickSight

2021/05/24 - Amazon QuickSight - 4 updated api methods

Changes  Add new parameters on RegisterUser and UpdateUser APIs to assign or update external ID associated to QuickSight users federated through web identity.

DescribeUser (updated) Link ¶
Changes (response)
{'User': {'ExternalLoginFederationProviderType': 'string',
          'ExternalLoginFederationProviderUrl': 'string',
          'ExternalLoginId': 'string'}}

Returns information about a user, given the user name.

See also: AWS API Documentation

Request Syntax

client.describe_user(
    UserName='string',
    AwsAccountId='string',
    Namespace='string'
)
type UserName:

string

param UserName:

[REQUIRED]

The name of the user that you want to describe.

type AwsAccountId:

string

param AwsAccountId:

[REQUIRED]

The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

type Namespace:

string

param Namespace:

[REQUIRED]

The namespace. Currently, you should set this to default.

rtype:

dict

returns:

Response Syntax

{
    'User': {
        'Arn': 'string',
        'UserName': 'string',
        'Email': 'string',
        'Role': 'ADMIN'|'AUTHOR'|'READER'|'RESTRICTED_AUTHOR'|'RESTRICTED_READER',
        'IdentityType': 'IAM'|'QUICKSIGHT',
        'Active': True|False,
        'PrincipalId': 'string',
        'CustomPermissionsName': 'string',
        'ExternalLoginFederationProviderType': 'string',
        'ExternalLoginFederationProviderUrl': 'string',
        'ExternalLoginId': 'string'
    },
    'RequestId': 'string',
    'Status': 123
}

Response Structure

  • (dict) --

    • User (dict) --

      The user name.

      • Arn (string) --

        The Amazon Resource Name (ARN) for the user.

      • UserName (string) --

        The user's user name.

      • Email (string) --

        The user's email address.

      • Role (string) --

        The Amazon QuickSight role for the user. The user role can be one of the following:.

        • READER: A user who has read-only access to dashboards.

        • AUTHOR: A user who can create data sources, datasets, analyses, and dashboards.

        • ADMIN: A user who is an author, who can also manage Amazon QuickSight settings.

        • RESTRICTED_READER: This role isn't currently available for use.

        • RESTRICTED_AUTHOR: This role isn't currently available for use.

      • IdentityType (string) --

        The type of identity authentication used by the user.

      • Active (boolean) --

        The active status of user. When you create an Amazon QuickSight user that’s not an IAM user or an Active Directory user, that user is inactive until they sign in and provide a password.

      • PrincipalId (string) --

        The principal ID of the user.

      • CustomPermissionsName (string) --

        The custom permissions profile associated with this user.

      • ExternalLoginFederationProviderType (string) --

        The type of supported external login provider that provides identity to let the user federate into Amazon QuickSight with an associated IAM role. The type can be one of the following.

        • COGNITO: Amazon Cognito. The provider URL is cognito-identity.amazonaws.com.

        • CUSTOM_OIDC: Custom OpenID Connect (OIDC) provider.

      • ExternalLoginFederationProviderUrl (string) --

        The URL of the external login provider.

      • ExternalLoginId (string) --

        The identity ID for the user in the external login provider.

    • RequestId (string) --

      The AWS request ID for this operation.

    • Status (integer) --

      The HTTP status of the request.

ListUsers (updated) Link ¶
Changes (response)
{'UserList': {'ExternalLoginFederationProviderType': 'string',
              'ExternalLoginFederationProviderUrl': 'string',
              'ExternalLoginId': 'string'}}

Returns a list of all of the Amazon QuickSight users belonging to this account.

See also: AWS API Documentation

Request Syntax

client.list_users(
    AwsAccountId='string',
    NextToken='string',
    MaxResults=123,
    Namespace='string'
)
type AwsAccountId:

string

param AwsAccountId:

[REQUIRED]

The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

type NextToken:

string

param NextToken:

A pagination token that can be used in a subsequent request.

type MaxResults:

integer

param MaxResults:

The maximum number of results to return from this request.

type Namespace:

string

param Namespace:

[REQUIRED]

The namespace. Currently, you should set this to default.

rtype:

dict

returns:

Response Syntax

{
    'UserList': [
        {
            'Arn': 'string',
            'UserName': 'string',
            'Email': 'string',
            'Role': 'ADMIN'|'AUTHOR'|'READER'|'RESTRICTED_AUTHOR'|'RESTRICTED_READER',
            'IdentityType': 'IAM'|'QUICKSIGHT',
            'Active': True|False,
            'PrincipalId': 'string',
            'CustomPermissionsName': 'string',
            'ExternalLoginFederationProviderType': 'string',
            'ExternalLoginFederationProviderUrl': 'string',
            'ExternalLoginId': 'string'
        },
    ],
    'NextToken': 'string',
    'RequestId': 'string',
    'Status': 123
}

Response Structure

  • (dict) --

    • UserList (list) --

      The list of users.

      • (dict) --

        A registered user of Amazon QuickSight.

        • Arn (string) --

          The Amazon Resource Name (ARN) for the user.

        • UserName (string) --

          The user's user name.

        • Email (string) --

          The user's email address.

        • Role (string) --

          The Amazon QuickSight role for the user. The user role can be one of the following:.

          • READER: A user who has read-only access to dashboards.

          • AUTHOR: A user who can create data sources, datasets, analyses, and dashboards.

          • ADMIN: A user who is an author, who can also manage Amazon QuickSight settings.

          • RESTRICTED_READER: This role isn't currently available for use.

          • RESTRICTED_AUTHOR: This role isn't currently available for use.

        • IdentityType (string) --

          The type of identity authentication used by the user.

        • Active (boolean) --

          The active status of user. When you create an Amazon QuickSight user that’s not an IAM user or an Active Directory user, that user is inactive until they sign in and provide a password.

        • PrincipalId (string) --

          The principal ID of the user.

        • CustomPermissionsName (string) --

          The custom permissions profile associated with this user.

        • ExternalLoginFederationProviderType (string) --

          The type of supported external login provider that provides identity to let the user federate into Amazon QuickSight with an associated IAM role. The type can be one of the following.

          • COGNITO: Amazon Cognito. The provider URL is cognito-identity.amazonaws.com.

          • CUSTOM_OIDC: Custom OpenID Connect (OIDC) provider.

        • ExternalLoginFederationProviderUrl (string) --

          The URL of the external login provider.

        • ExternalLoginId (string) --

          The identity ID for the user in the external login provider.

    • NextToken (string) --

      A pagination token that can be used in a subsequent request.

    • RequestId (string) --

      The AWS request ID for this operation.

    • Status (integer) --

      The HTTP status of the request.

RegisterUser (updated) Link ¶
Changes (request, response)
Request
{'CustomFederationProviderUrl': 'string',
 'ExternalLoginFederationProviderType': 'string',
 'ExternalLoginId': 'string'}
Response
{'User': {'ExternalLoginFederationProviderType': 'string',
          'ExternalLoginFederationProviderUrl': 'string',
          'ExternalLoginId': 'string'}}

Creates an Amazon QuickSight user, whose identity is associated with the AWS Identity and Access Management (IAM) identity or role specified in the request.

See also: AWS API Documentation

Request Syntax

client.register_user(
    IdentityType='IAM'|'QUICKSIGHT',
    Email='string',
    UserRole='ADMIN'|'AUTHOR'|'READER'|'RESTRICTED_AUTHOR'|'RESTRICTED_READER',
    IamArn='string',
    SessionName='string',
    AwsAccountId='string',
    Namespace='string',
    UserName='string',
    CustomPermissionsName='string',
    ExternalLoginFederationProviderType='string',
    CustomFederationProviderUrl='string',
    ExternalLoginId='string'
)
type IdentityType:

string

param IdentityType:

[REQUIRED]

Amazon QuickSight supports several ways of managing the identity of users. This parameter accepts two values:

  • IAM: A user whose identity maps to an existing IAM user or role.

  • QUICKSIGHT: A user whose identity is owned and managed internally by Amazon QuickSight.

type Email:

string

param Email:

[REQUIRED]

The email address of the user that you want to register.

type UserRole:

string

param UserRole:

[REQUIRED]

The Amazon QuickSight role for the user. The user role can be one of the following:

  • READER: A user who has read-only access to dashboards.

  • AUTHOR: A user who can create data sources, datasets, analyses, and dashboards.

  • ADMIN: A user who is an author, who can also manage Amazon QuickSight settings.

  • RESTRICTED_READER: This role isn't currently available for use.

  • RESTRICTED_AUTHOR: This role isn't currently available for use.

type IamArn:

string

param IamArn:

The ARN of the IAM user or role that you are registering with Amazon QuickSight.

type SessionName:

string

param SessionName:

You need to use this parameter only when you register one or more users using an assumed IAM role. You don't need to provide the session name for other scenarios, for example when you are registering an IAM user or an Amazon QuickSight user. You can register multiple users using the same IAM role if each user has a different session name. For more information on assuming IAM roles, see assume-role in the AWS CLI Reference.

type AwsAccountId:

string

param AwsAccountId:

[REQUIRED]

The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

type Namespace:

string

param Namespace:

[REQUIRED]

The namespace. Currently, you should set this to default.

type UserName:

string

param UserName:

The Amazon QuickSight user name that you want to create for the user you are registering.

type CustomPermissionsName:

string

param CustomPermissionsName:

(Enterprise edition only) The name of the custom permissions profile that you want to assign to this user. Customized permissions allows you to control a user's access by restricting access the following operations:

  • Create and update data sources

  • Create and update datasets

  • Create and update email reports

  • Subscribe to email reports

To add custom permissions to an existing user, use UpdateUser instead.

A set of custom permissions includes any combination of these restrictions. Currently, you need to create the profile names for custom permission sets by using the QuickSight console. Then, you use the RegisterUser API operation to assign the named set of permissions to a QuickSight user.

QuickSight custom permissions are applied through IAM policies. Therefore, they override the permissions typically granted by assigning QuickSight users to one of the default security cohorts in QuickSight (admin, author, reader).

This feature is available only to QuickSight Enterprise edition subscriptions that use SAML 2.0-Based Federation for Single Sign-On (SSO).

type ExternalLoginFederationProviderType:

string

param ExternalLoginFederationProviderType:

The type of supported external login provider that provides identity to let a user federate into Amazon QuickSight with an associated AWS Identity and Access Management (IAM) role. The type of supported external login provider can be one of the following.

  • COGNITO: Amazon Cognito. The provider URL is cognito-identity.amazonaws.com. When choosing the COGNITO provider type, don’t use the "CustomFederationProviderUrl" parameter which is only needed when the external provider is custom.

  • CUSTOM_OIDC: Custom OpenID Connect (OIDC) provider. When choosing CUSTOM_OIDC type, use the CustomFederationProviderUrl parameter to provide the custom OIDC provider URL.

type CustomFederationProviderUrl:

string

param CustomFederationProviderUrl:

The URL of the custom OpenID Connect (OIDC) provider that provides identity to let a user federate into QuickSight with an associated AWS Identity and Access Management (IAM) role. This parameter should only be used when ExternalLoginFederationProviderType parameter is set to CUSTOM_OIDC.

type ExternalLoginId:

string

param ExternalLoginId:

The identity ID for a user in the external login provider.

rtype:

dict

returns:

Response Syntax

{
    'User': {
        'Arn': 'string',
        'UserName': 'string',
        'Email': 'string',
        'Role': 'ADMIN'|'AUTHOR'|'READER'|'RESTRICTED_AUTHOR'|'RESTRICTED_READER',
        'IdentityType': 'IAM'|'QUICKSIGHT',
        'Active': True|False,
        'PrincipalId': 'string',
        'CustomPermissionsName': 'string',
        'ExternalLoginFederationProviderType': 'string',
        'ExternalLoginFederationProviderUrl': 'string',
        'ExternalLoginId': 'string'
    },
    'UserInvitationUrl': 'string',
    'RequestId': 'string',
    'Status': 123
}

Response Structure

  • (dict) --

    • User (dict) --

      The user's user name.

      • Arn (string) --

        The Amazon Resource Name (ARN) for the user.

      • UserName (string) --

        The user's user name.

      • Email (string) --

        The user's email address.

      • Role (string) --

        The Amazon QuickSight role for the user. The user role can be one of the following:.

        • READER: A user who has read-only access to dashboards.

        • AUTHOR: A user who can create data sources, datasets, analyses, and dashboards.

        • ADMIN: A user who is an author, who can also manage Amazon QuickSight settings.

        • RESTRICTED_READER: This role isn't currently available for use.

        • RESTRICTED_AUTHOR: This role isn't currently available for use.

      • IdentityType (string) --

        The type of identity authentication used by the user.

      • Active (boolean) --

        The active status of user. When you create an Amazon QuickSight user that’s not an IAM user or an Active Directory user, that user is inactive until they sign in and provide a password.

      • PrincipalId (string) --

        The principal ID of the user.

      • CustomPermissionsName (string) --

        The custom permissions profile associated with this user.

      • ExternalLoginFederationProviderType (string) --

        The type of supported external login provider that provides identity to let the user federate into Amazon QuickSight with an associated IAM role. The type can be one of the following.

        • COGNITO: Amazon Cognito. The provider URL is cognito-identity.amazonaws.com.

        • CUSTOM_OIDC: Custom OpenID Connect (OIDC) provider.

      • ExternalLoginFederationProviderUrl (string) --

        The URL of the external login provider.

      • ExternalLoginId (string) --

        The identity ID for the user in the external login provider.

    • UserInvitationUrl (string) --

      The URL the user visits to complete registration and provide a password. This is returned only for users with an identity type of QUICKSIGHT.

    • RequestId (string) --

      The AWS request ID for this operation.

    • Status (integer) --

      The HTTP status of the request.

UpdateUser (updated) Link ¶
Changes (request, response)
Request
{'CustomFederationProviderUrl': 'string',
 'ExternalLoginFederationProviderType': 'string',
 'ExternalLoginId': 'string'}
Response
{'User': {'ExternalLoginFederationProviderType': 'string',
          'ExternalLoginFederationProviderUrl': 'string',
          'ExternalLoginId': 'string'}}

Updates an Amazon QuickSight user.

See also: AWS API Documentation

Request Syntax

client.update_user(
    UserName='string',
    AwsAccountId='string',
    Namespace='string',
    Email='string',
    Role='ADMIN'|'AUTHOR'|'READER'|'RESTRICTED_AUTHOR'|'RESTRICTED_READER',
    CustomPermissionsName='string',
    UnapplyCustomPermissions=True|False,
    ExternalLoginFederationProviderType='string',
    CustomFederationProviderUrl='string',
    ExternalLoginId='string'
)
type UserName:

string

param UserName:

[REQUIRED]

The Amazon QuickSight user name that you want to update.

type AwsAccountId:

string

param AwsAccountId:

[REQUIRED]

The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

type Namespace:

string

param Namespace:

[REQUIRED]

The namespace. Currently, you should set this to default.

type Email:

string

param Email:

[REQUIRED]

The email address of the user that you want to update.

type Role:

string

param Role:

[REQUIRED]

The Amazon QuickSight role of the user. The role can be one of the following default security cohorts:

  • READER: A user who has read-only access to dashboards.

  • AUTHOR: A user who can create data sources, datasets, analyses, and dashboards.

  • ADMIN: A user who is an author, who can also manage Amazon QuickSight settings.

The name of the QuickSight role is invisible to the user except for the console screens dealing with permissions.

type CustomPermissionsName:

string

param CustomPermissionsName:

(Enterprise edition only) The name of the custom permissions profile that you want to assign to this user. Customized permissions allows you to control a user's access by restricting access the following operations:

  • Create and update data sources

  • Create and update datasets

  • Create and update email reports

  • Subscribe to email reports

A set of custom permissions includes any combination of these restrictions. Currently, you need to create the profile names for custom permission sets by using the QuickSight console. Then, you use the RegisterUser API operation to assign the named set of permissions to a QuickSight user.

QuickSight custom permissions are applied through IAM policies. Therefore, they override the permissions typically granted by assigning QuickSight users to one of the default security cohorts in QuickSight (admin, author, reader).

This feature is available only to QuickSight Enterprise edition subscriptions that use SAML 2.0-Based Federation for Single Sign-On (SSO).

type UnapplyCustomPermissions:

boolean

param UnapplyCustomPermissions:

A flag that you use to indicate that you want to remove all custom permissions from this user. Using this parameter resets the user to the state it was in before a custom permissions profile was applied. This parameter defaults to NULL and it doesn't accept any other value.

type ExternalLoginFederationProviderType:

string

param ExternalLoginFederationProviderType:

The type of supported external login provider that provides identity to let a user federate into QuickSight with an associated AWS Identity and Access Management (IAM) role. The type of supported external login provider can be one of the following.

  • COGNITO: Amazon Cognito. The provider URL is cognito-identity.amazonaws.com. When choosing the COGNITO provider type, don’t use the "CustomFederationProviderUrl" parameter which is only needed when the external provider is custom.

  • CUSTOM_OIDC: Custom OpenID Connect (OIDC) provider. When choosing CUSTOM_OIDC type, use the CustomFederationProviderUrl parameter to provide the custom OIDC provider URL.

  • NONE: This clears all the previously saved external login information for a user. Use DescribeUser API to check the external login information.

type CustomFederationProviderUrl:

string

param CustomFederationProviderUrl:

The URL of the custom OpenID Connect (OIDC) provider that provides identity to let a user federate into QuickSight with an associated AWS Identity and Access Management (IAM) role. This parameter should only be used when ExternalLoginFederationProviderType parameter is set to CUSTOM_OIDC.

type ExternalLoginId:

string

param ExternalLoginId:

The identity ID for a user in the external login provider.

rtype:

dict

returns:

Response Syntax

{
    'User': {
        'Arn': 'string',
        'UserName': 'string',
        'Email': 'string',
        'Role': 'ADMIN'|'AUTHOR'|'READER'|'RESTRICTED_AUTHOR'|'RESTRICTED_READER',
        'IdentityType': 'IAM'|'QUICKSIGHT',
        'Active': True|False,
        'PrincipalId': 'string',
        'CustomPermissionsName': 'string',
        'ExternalLoginFederationProviderType': 'string',
        'ExternalLoginFederationProviderUrl': 'string',
        'ExternalLoginId': 'string'
    },
    'RequestId': 'string',
    'Status': 123
}

Response Structure

  • (dict) --

    • User (dict) --

      The Amazon QuickSight user.

      • Arn (string) --

        The Amazon Resource Name (ARN) for the user.

      • UserName (string) --

        The user's user name.

      • Email (string) --

        The user's email address.

      • Role (string) --

        The Amazon QuickSight role for the user. The user role can be one of the following:.

        • READER: A user who has read-only access to dashboards.

        • AUTHOR: A user who can create data sources, datasets, analyses, and dashboards.

        • ADMIN: A user who is an author, who can also manage Amazon QuickSight settings.

        • RESTRICTED_READER: This role isn't currently available for use.

        • RESTRICTED_AUTHOR: This role isn't currently available for use.

      • IdentityType (string) --

        The type of identity authentication used by the user.

      • Active (boolean) --

        The active status of user. When you create an Amazon QuickSight user that’s not an IAM user or an Active Directory user, that user is inactive until they sign in and provide a password.

      • PrincipalId (string) --

        The principal ID of the user.

      • CustomPermissionsName (string) --

        The custom permissions profile associated with this user.

      • ExternalLoginFederationProviderType (string) --

        The type of supported external login provider that provides identity to let the user federate into Amazon QuickSight with an associated IAM role. The type can be one of the following.

        • COGNITO: Amazon Cognito. The provider URL is cognito-identity.amazonaws.com.

        • CUSTOM_OIDC: Custom OpenID Connect (OIDC) provider.

      • ExternalLoginFederationProviderUrl (string) --

        The URL of the external login provider.

      • ExternalLoginId (string) --

        The identity ID for the user in the external login provider.

    • RequestId (string) --

      The AWS request ID for this operation.

    • Status (integer) --

      The HTTP status of the request.