2022/08/01 - Amazon WorkSpaces - 1 new1 updated api methods
Changes This release introduces ModifySamlProperties, a new API that allows control of SAML properties associated with a WorkSpaces directory. The DescribeWorkspaceDirectories API will now additionally return SAML properties in its responses.
Modifies multiple properties related to SAML 2.0 authentication, including the enablement status, user access URL, and relay state parameter name that are used for configuring federation with an SAML 2.0 identity provider.
See also: AWS API Documentation
Request Syntax
client.modify_saml_properties( ResourceId='string', SamlProperties={ 'Status': 'DISABLED'|'ENABLED'|'ENABLED_WITH_DIRECTORY_LOGIN_FALLBACK', 'UserAccessUrl': 'string', 'RelayStateParameterName': 'string' }, PropertiesToDelete=[ 'SAML_PROPERTIES_USER_ACCESS_URL'|'SAML_PROPERTIES_RELAY_STATE_PARAMETER_NAME', ] )
string
[REQUIRED]
The directory identifier for which you want to configure SAML properties.
dict
The properties for configuring SAML 2.0 authentication.
Status (string) --
Indicates the status of SAML 2.0 authentication. These statuses include the following.
If the setting is DISABLED, end users will be directed to login with their directory credentials.
If the setting is ENABLED, end users will be directed to login via the user access URL. Users attempting to connect to WorkSpaces from a client application that does not support SAML 2.0 authentication will not be able to connect.
If the setting is ENABLED_WITH_DIRECTORY_LOGIN_FALLBACK, end users will be directed to login via the user access URL on supported client applications, but will not prevent clients that do not support SAML 2.0 authentication from connecting as if SAML 2.0 authentication was disabled.
UserAccessUrl (string) --
The SAML 2.0 identity provider (IdP) user access URL is the URL a user would navigate to in their web browser in order to federate from the IdP and directly access the application, without any SAML 2.0 service provider (SP) bindings.
RelayStateParameterName (string) --
The relay state parameter name supported by the SAML 2.0 identity provider (IdP). When the end user is redirected to the user access URL from the WorkSpaces client application, this relay state parameter name is appended as a query parameter to the URL along with the relay state endpoint to return the user to the client application session.
To use SAML 2.0 authentication with WorkSpaces, the IdP must support IdP-initiated deep linking for the relay state URL. Consult your IdP documentation for more information.
list
The SAML properties to delete as part of your request.
Specify one of the following options:
SAML_PROPERTIES_USER_ACCESS_URL to delete the user access URL.
SAML_PROPERTIES_RELAY_STATE_PARAMETER_NAME to delete the relay state parameter name.
(string) --
dict
Response Syntax
{}
Response Structure
(dict) --
{'Directories': {'SamlProperties': {'RelayStateParameterName': 'string', 'Status': 'DISABLED | ENABLED | ' 'ENABLED_WITH_DIRECTORY_LOGIN_FALLBACK', 'UserAccessUrl': 'string'}}}
Describes the available directories that are registered with Amazon WorkSpaces.
See also: AWS API Documentation
Request Syntax
client.describe_workspace_directories( DirectoryIds=[ 'string', ], Limit=123, NextToken='string' )
list
The identifiers of the directories. If the value is null, all directories are retrieved.
(string) --
integer
The maximum number of directories to return.
string
If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.
dict
Response Syntax
{ 'Directories': [ { 'DirectoryId': 'string', 'Alias': 'string', 'DirectoryName': 'string', 'RegistrationCode': 'string', 'SubnetIds': [ 'string', ], 'DnsIpAddresses': [ 'string', ], 'CustomerUserName': 'string', 'IamRoleId': 'string', 'DirectoryType': 'SIMPLE_AD'|'AD_CONNECTOR', 'WorkspaceSecurityGroupId': 'string', 'State': 'REGISTERING'|'REGISTERED'|'DEREGISTERING'|'DEREGISTERED'|'ERROR', 'WorkspaceCreationProperties': { 'EnableWorkDocs': True|False, 'EnableInternetAccess': True|False, 'DefaultOu': 'string', 'CustomSecurityGroupId': 'string', 'UserEnabledAsLocalAdministrator': True|False, 'EnableMaintenanceMode': True|False }, 'ipGroupIds': [ 'string', ], 'WorkspaceAccessProperties': { 'DeviceTypeWindows': 'ALLOW'|'DENY', 'DeviceTypeOsx': 'ALLOW'|'DENY', 'DeviceTypeWeb': 'ALLOW'|'DENY', 'DeviceTypeIos': 'ALLOW'|'DENY', 'DeviceTypeAndroid': 'ALLOW'|'DENY', 'DeviceTypeChromeOs': 'ALLOW'|'DENY', 'DeviceTypeZeroClient': 'ALLOW'|'DENY', 'DeviceTypeLinux': 'ALLOW'|'DENY' }, 'Tenancy': 'DEDICATED'|'SHARED', 'SelfservicePermissions': { 'RestartWorkspace': 'ENABLED'|'DISABLED', 'IncreaseVolumeSize': 'ENABLED'|'DISABLED', 'ChangeComputeType': 'ENABLED'|'DISABLED', 'SwitchRunningMode': 'ENABLED'|'DISABLED', 'RebuildWorkspace': 'ENABLED'|'DISABLED' }, 'SamlProperties': { 'Status': 'DISABLED'|'ENABLED'|'ENABLED_WITH_DIRECTORY_LOGIN_FALLBACK', 'UserAccessUrl': 'string', 'RelayStateParameterName': 'string' } }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Directories (list) --
Information about the directories.
(dict) --
Describes a directory that is used with Amazon WorkSpaces.
DirectoryId (string) --
The directory identifier.
Alias (string) --
The directory alias.
DirectoryName (string) --
The name of the directory.
RegistrationCode (string) --
The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.
SubnetIds (list) --
The identifiers of the subnets used with the directory.
(string) --
DnsIpAddresses (list) --
The IP addresses of the DNS servers for the directory.
(string) --
CustomerUserName (string) --
The user name for the service account.
IamRoleId (string) --
The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make calls to other services, such as Amazon EC2, on your behalf.
DirectoryType (string) --
The directory type.
WorkspaceSecurityGroupId (string) --
The identifier of the security group that is assigned to new WorkSpaces.
State (string) --
The state of the directory's registration with Amazon WorkSpaces. After a directory is deregistered, the DEREGISTERED state is returned very briefly before the directory metadata is cleaned up, so this state is rarely returned. To confirm that a directory is deregistered, check for the directory ID by using DescribeWorkspaceDirectories. If the directory ID isn't returned, then the directory has been successfully deregistered.
WorkspaceCreationProperties (dict) --
The default creation properties for all WorkSpaces in the directory.
EnableWorkDocs (boolean) --
Specifies whether the directory is enabled for Amazon WorkDocs.
EnableInternetAccess (boolean) --
Specifies whether to automatically assign an Elastic public IP address to WorkSpaces in this directory by default. If enabled, the Elastic public IP address allows outbound internet access from your WorkSpaces when you’re using an internet gateway in the Amazon VPC in which your WorkSpaces are located. If you're using a Network Address Translation (NAT) gateway for outbound internet access from your VPC, or if your WorkSpaces are in public subnets and you manually assign them Elastic IP addresses, you should disable this setting. This setting applies to new WorkSpaces that you launch or to existing WorkSpaces that you rebuild. For more information, see Configure a VPC for Amazon WorkSpaces.
DefaultOu (string) --
The organizational unit (OU) in the directory for the WorkSpace machine accounts.
CustomSecurityGroupId (string) --
The identifier of the default security group to apply to WorkSpaces when they are created. For more information, see Security Groups for Your WorkSpaces.
UserEnabledAsLocalAdministrator (boolean) --
Specifies whether WorkSpace users are local administrators on their WorkSpaces.
EnableMaintenanceMode (boolean) --
Specifies whether maintenance mode is enabled for WorkSpaces. For more information, see WorkSpace Maintenance.
ipGroupIds (list) --
The identifiers of the IP access control groups associated with the directory.
(string) --
WorkspaceAccessProperties (dict) --
The devices and operating systems that users can use to access WorkSpaces.
DeviceTypeWindows (string) --
Indicates whether users can use Windows clients to access their WorkSpaces.
DeviceTypeOsx (string) --
Indicates whether users can use macOS clients to access their WorkSpaces.
DeviceTypeWeb (string) --
Indicates whether users can access their WorkSpaces through a web browser.
DeviceTypeIos (string) --
Indicates whether users can use iOS devices to access their WorkSpaces.
DeviceTypeAndroid (string) --
Indicates whether users can use Android and Android-compatible Chrome OS devices to access their WorkSpaces.
DeviceTypeChromeOs (string) --
Indicates whether users can use Chromebooks to access their WorkSpaces.
DeviceTypeZeroClient (string) --
Indicates whether users can use zero client devices to access their WorkSpaces.
DeviceTypeLinux (string) --
Indicates whether users can use Linux clients to access their WorkSpaces.
Tenancy (string) --
Specifies whether the directory is dedicated or shared. To use Bring Your Own License (BYOL), this value must be set to DEDICATED. For more information, see Bring Your Own Windows Desktop Images.
SelfservicePermissions (dict) --
The default self-service permissions for WorkSpaces in the directory.
RestartWorkspace (string) --
Specifies whether users can restart their WorkSpace.
IncreaseVolumeSize (string) --
Specifies whether users can increase the volume size of the drives on their WorkSpace.
ChangeComputeType (string) --
Specifies whether users can change the compute type (bundle) for their WorkSpace.
SwitchRunningMode (string) --
Specifies whether users can switch the running mode of their WorkSpace.
RebuildWorkspace (string) --
Specifies whether users can rebuild the operating system of a WorkSpace to its original state.
SamlProperties (dict) --
Describes the enablement status, user access URL, and relay state parameter name that are used for configuring federation with an SAML 2.0 identity provider.
Status (string) --
Indicates the status of SAML 2.0 authentication. These statuses include the following.
If the setting is DISABLED, end users will be directed to login with their directory credentials.
If the setting is ENABLED, end users will be directed to login via the user access URL. Users attempting to connect to WorkSpaces from a client application that does not support SAML 2.0 authentication will not be able to connect.
If the setting is ENABLED_WITH_DIRECTORY_LOGIN_FALLBACK, end users will be directed to login via the user access URL on supported client applications, but will not prevent clients that do not support SAML 2.0 authentication from connecting as if SAML 2.0 authentication was disabled.
UserAccessUrl (string) --
The SAML 2.0 identity provider (IdP) user access URL is the URL a user would navigate to in their web browser in order to federate from the IdP and directly access the application, without any SAML 2.0 service provider (SP) bindings.
RelayStateParameterName (string) --
The relay state parameter name supported by the SAML 2.0 identity provider (IdP). When the end user is redirected to the user access URL from the WorkSpaces client application, this relay state parameter name is appended as a query parameter to the URL along with the relay state endpoint to return the user to the client application session.
To use SAML 2.0 authentication with WorkSpaces, the IdP must support IdP-initiated deep linking for the relay state URL. Consult your IdP documentation for more information.
NextToken (string) --
The token to use to retrieve the next page of results. This value is null when there are no more results to return.