Amazon Connect Service

2024/03/15 - Amazon Connect Service - 4 updated api methods

Changes  This release adds Hierarchy based Access Control fields to Security Profile public APIs and adds support for UserAttributeFilter to SearchUsers API.

CreateSecurityProfile (updated) Link ¶
Changes (request)
{'AllowedAccessControlHierarchyGroupId': 'string',
 'HierarchyRestrictedResources': ['string']}

Creates a security profile.

See also: AWS API Documentation

Request Syntax

client.create_security_profile(
    SecurityProfileName='string',
    Description='string',
    Permissions=[
        'string',
    ],
    InstanceId='string',
    Tags={
        'string': 'string'
    },
    AllowedAccessControlTags={
        'string': 'string'
    },
    TagRestrictedResources=[
        'string',
    ],
    Applications=[
        {
            'Namespace': 'string',
            'ApplicationPermissions': [
                'string',
            ]
        },
    ],
    HierarchyRestrictedResources=[
        'string',
    ],
    AllowedAccessControlHierarchyGroupId='string'
)
type SecurityProfileName:

string

param SecurityProfileName:

[REQUIRED]

The name of the security profile.

type Description:

string

param Description:

The description of the security profile.

type Permissions:

list

param Permissions:

Permissions assigned to the security profile. For a list of valid permissions, see List of security profile permissions.

  • (string) --

type InstanceId:

string

param InstanceId:

[REQUIRED]

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

type Tags:

dict

param Tags:

The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} }.

  • (string) --

    • (string) --

type AllowedAccessControlTags:

dict

param AllowedAccessControlTags:

The list of tags that a security profile uses to restrict access to resources in Amazon Connect.

  • (string) --

    • (string) --

type TagRestrictedResources:

list

param TagRestrictedResources:

The list of resources that a security profile applies tag restrictions to in Amazon Connect. Following are acceptable ResourceNames: User | SecurityProfile | Queue | RoutingProfile

  • (string) --

type Applications:

list

param Applications:

This API is in preview release for Amazon Connect and is subject to change.

A list of third-party applications that the security profile will give access to.

  • (dict) --

    This API is in preview release for Amazon Connect and is subject to change.

    A third-party application's metadata.

    • Namespace (string) --

      Namespace of the application that you want to give access to.

    • ApplicationPermissions (list) --

      The permissions that the agent is granted on the application. Only the ACCESS permission is supported.

      • (string) --

type HierarchyRestrictedResources:

list

param HierarchyRestrictedResources:

The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect. Following are acceptable ResourceNames: User.

  • (string) --

type AllowedAccessControlHierarchyGroupId:

string

param AllowedAccessControlHierarchyGroupId:

The identifier of the hierarchy group that a security profile uses to restrict access to resources in Amazon Connect.

rtype:

dict

returns:

Response Syntax

{
    'SecurityProfileId': 'string',
    'SecurityProfileArn': 'string'
}

Response Structure

  • (dict) --

    • SecurityProfileId (string) --

      The identifier for the security profle.

    • SecurityProfileArn (string) --

      The Amazon Resource Name (ARN) for the security profile.

DescribeSecurityProfile (updated) Link ¶
Changes (response)
{'SecurityProfile': {'AllowedAccessControlHierarchyGroupId': 'string',
                     'HierarchyRestrictedResources': ['string']}}

Gets basic information about the security profle.

See also: AWS API Documentation

Request Syntax

client.describe_security_profile(
    SecurityProfileId='string',
    InstanceId='string'
)
type SecurityProfileId:

string

param SecurityProfileId:

[REQUIRED]

The identifier for the security profle.

type InstanceId:

string

param InstanceId:

[REQUIRED]

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

rtype:

dict

returns:

Response Syntax

{
    'SecurityProfile': {
        'Id': 'string',
        'OrganizationResourceId': 'string',
        'Arn': 'string',
        'SecurityProfileName': 'string',
        'Description': 'string',
        'Tags': {
            'string': 'string'
        },
        'AllowedAccessControlTags': {
            'string': 'string'
        },
        'TagRestrictedResources': [
            'string',
        ],
        'LastModifiedTime': datetime(2015, 1, 1),
        'LastModifiedRegion': 'string',
        'HierarchyRestrictedResources': [
            'string',
        ],
        'AllowedAccessControlHierarchyGroupId': 'string'
    }
}

Response Structure

  • (dict) --

    • SecurityProfile (dict) --

      The security profile.

      • Id (string) --

        The identifier for the security profile.

      • OrganizationResourceId (string) --

        The organization resource identifier for the security profile.

      • Arn (string) --

        The Amazon Resource Name (ARN) for the secruity profile.

      • SecurityProfileName (string) --

        The name for the security profile.

      • Description (string) --

        The description of the security profile.

      • Tags (dict) --

        The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} }.

        • (string) --

          • (string) --

      • AllowedAccessControlTags (dict) --

        The list of tags that a security profile uses to restrict access to resources in Amazon Connect.

        • (string) --

          • (string) --

      • TagRestrictedResources (list) --

        The list of resources that a security profile applies tag restrictions to in Amazon Connect.

        • (string) --

      • LastModifiedTime (datetime) --

        The timestamp when this resource was last modified.

      • LastModifiedRegion (string) --

        The Amazon Web Services Region where this resource was last modified.

      • HierarchyRestrictedResources (list) --

        The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect. Following are acceptable ResourceNames: User.

        • (string) --

      • AllowedAccessControlHierarchyGroupId (string) --

        The identifier of the hierarchy group that a security profile uses to restrict access to resources in Amazon Connect.

SearchUsers (updated) Link ¶
Changes (request)
{'SearchFilter': {'UserAttributeFilter': {'AndCondition': {'HierarchyGroupCondition': {'HierarchyGroupMatchType': 'EXACT '
                                                                                                                  '| '
                                                                                                                  'WITH_CHILD_GROUPS',
                                                                                       'Value': 'string'},
                                                           'TagConditions': [{'TagKey': 'string',
                                                                              'TagValue': 'string'}]},
                                          'HierarchyGroupCondition': {'HierarchyGroupMatchType': 'EXACT '
                                                                                                 '| '
                                                                                                 'WITH_CHILD_GROUPS',
                                                                      'Value': 'string'},
                                          'OrConditions': [{'HierarchyGroupCondition': {'HierarchyGroupMatchType': 'EXACT '
                                                                                                                   '| '
                                                                                                                   'WITH_CHILD_GROUPS',
                                                                                        'Value': 'string'},
                                                            'TagConditions': [{'TagKey': 'string',
                                                                               'TagValue': 'string'}]}],
                                          'TagCondition': {'TagKey': 'string',
                                                           'TagValue': 'string'}}}}

Searches users in an Amazon Connect instance, with optional filtering.

See also: AWS API Documentation

Request Syntax

client.search_users(
    InstanceId='string',
    NextToken='string',
    MaxResults=123,
    SearchFilter={
        'TagFilter': {
            'OrConditions': [
                [
                    {
                        'TagKey': 'string',
                        'TagValue': 'string'
                    },
                ],
            ],
            'AndConditions': [
                {
                    'TagKey': 'string',
                    'TagValue': 'string'
                },
            ],
            'TagCondition': {
                'TagKey': 'string',
                'TagValue': 'string'
            }
        },
        'UserAttributeFilter': {
            'OrConditions': [
                {
                    'TagConditions': [
                        {
                            'TagKey': 'string',
                            'TagValue': 'string'
                        },
                    ],
                    'HierarchyGroupCondition': {
                        'Value': 'string',
                        'HierarchyGroupMatchType': 'EXACT'|'WITH_CHILD_GROUPS'
                    }
                },
            ],
            'AndCondition': {
                'TagConditions': [
                    {
                        'TagKey': 'string',
                        'TagValue': 'string'
                    },
                ],
                'HierarchyGroupCondition': {
                    'Value': 'string',
                    'HierarchyGroupMatchType': 'EXACT'|'WITH_CHILD_GROUPS'
                }
            },
            'TagCondition': {
                'TagKey': 'string',
                'TagValue': 'string'
            },
            'HierarchyGroupCondition': {
                'Value': 'string',
                'HierarchyGroupMatchType': 'EXACT'|'WITH_CHILD_GROUPS'
            }
        }
    },
    SearchCriteria={
        'OrConditions': [
            {'... recursive ...'},
        ],
        'AndConditions': [
            {'... recursive ...'},
        ],
        'StringCondition': {
            'FieldName': 'string',
            'Value': 'string',
            'ComparisonType': 'STARTS_WITH'|'CONTAINS'|'EXACT'
        },
        'HierarchyGroupCondition': {
            'Value': 'string',
            'HierarchyGroupMatchType': 'EXACT'|'WITH_CHILD_GROUPS'
        }
    }
)
type InstanceId:

string

param InstanceId:

[REQUIRED]

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

type NextToken:

string

param NextToken:

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

type MaxResults:

integer

param MaxResults:

The maximum number of results to return per page.

type SearchFilter:

dict

param SearchFilter:

Filters to be applied to search results.

  • TagFilter (dict) --

    An object that can be used to specify Tag conditions inside the SearchFilter. This accepts an OR of AND (List of List) input where:

    • Top level list specifies conditions that need to be applied with OR operator

    • Inner list specifies conditions that need to be applied with AND operator.

    • OrConditions (list) --

      A list of conditions which would be applied together with an OR condition.

      • (list) --

        • (dict) --

          A leaf node condition which can be used to specify a tag condition, for example, HAVE BPO = 123.

          • TagKey (string) --

            The tag key in the tag condition.

          • TagValue (string) --

            The tag value in the tag condition.

    • AndConditions (list) --

      A list of conditions which would be applied together with an AND condition.

      • (dict) --

        A leaf node condition which can be used to specify a tag condition, for example, HAVE BPO = 123.

        • TagKey (string) --

          The tag key in the tag condition.

        • TagValue (string) --

          The tag value in the tag condition.

    • TagCondition (dict) --

      A leaf node condition which can be used to specify a tag condition.

      • TagKey (string) --

        The tag key in the tag condition.

      • TagValue (string) --

        The tag value in the tag condition.

  • UserAttributeFilter (dict) --

    An object that can be used to specify Tag conditions or Hierarchy Group conditions inside the SearchFilter.

    This accepts an OR of AND (List of List) input where:

    • The top level list specifies conditions that need to be applied with OR operator.

    • The inner list specifies conditions that need to be applied with AND operator.

    • OrConditions (list) --

      A list of conditions which would be applied together with an OR condition.

      • (dict) --

        A list of conditions which would be applied together with an AND condition.

        • TagConditions (list) --

          A leaf node condition which can be used to specify a tag condition.

          • (dict) --

            A leaf node condition which can be used to specify a tag condition, for example, HAVE BPO = 123.

            • TagKey (string) --

              The tag key in the tag condition.

            • TagValue (string) --

              The tag value in the tag condition.

        • HierarchyGroupCondition (dict) --

          A leaf node condition which can be used to specify a hierarchy group condition.

          • Value (string) --

            The value in the hierarchy group condition.

          • HierarchyGroupMatchType (string) --

            The type of hierarchy group match.

    • AndCondition (dict) --

      A list of conditions which would be applied together with an AND condition.

      • TagConditions (list) --

        A leaf node condition which can be used to specify a tag condition.

        • (dict) --

          A leaf node condition which can be used to specify a tag condition, for example, HAVE BPO = 123.

          • TagKey (string) --

            The tag key in the tag condition.

          • TagValue (string) --

            The tag value in the tag condition.

      • HierarchyGroupCondition (dict) --

        A leaf node condition which can be used to specify a hierarchy group condition.

        • Value (string) --

          The value in the hierarchy group condition.

        • HierarchyGroupMatchType (string) --

          The type of hierarchy group match.

    • TagCondition (dict) --

      A leaf node condition which can be used to specify a tag condition, for example, HAVE BPO = 123.

      • TagKey (string) --

        The tag key in the tag condition.

      • TagValue (string) --

        The tag value in the tag condition.

    • HierarchyGroupCondition (dict) --

      A leaf node condition which can be used to specify a hierarchy group condition.

      • Value (string) --

        The value in the hierarchy group condition.

      • HierarchyGroupMatchType (string) --

        The type of hierarchy group match.

type SearchCriteria:

dict

param SearchCriteria:

The search criteria to be used to return users.

  • OrConditions (list) --

    A list of conditions which would be applied together with an OR condition.

    • (dict) --

      The search criteria to be used to return users.

  • AndConditions (list) --

    A list of conditions which would be applied together with an AND condition.

    • (dict) --

      The search criteria to be used to return users.

  • StringCondition (dict) --

    A leaf node condition which can be used to specify a string condition.

    The currently supported values for FieldName are Username, FirstName, LastName, RoutingProfileId, SecurityProfileId, ResourceId.

    • FieldName (string) --

      The name of the field in the string condition.

    • Value (string) --

      The value of the string.

    • ComparisonType (string) --

      The type of comparison to be made when evaluating the string condition.

  • HierarchyGroupCondition (dict) --

    A leaf node condition which can be used to specify a hierarchy group condition.

    • Value (string) --

      The value in the hierarchy group condition.

    • HierarchyGroupMatchType (string) --

      The type of hierarchy group match.

rtype:

dict

returns:

Response Syntax

{
    'Users': [
        {
            'Arn': 'string',
            'DirectoryUserId': 'string',
            'HierarchyGroupId': 'string',
            'Id': 'string',
            'IdentityInfo': {
                'FirstName': 'string',
                'LastName': 'string'
            },
            'PhoneConfig': {
                'PhoneType': 'SOFT_PHONE'|'DESK_PHONE',
                'AutoAccept': True|False,
                'AfterContactWorkTimeLimit': 123,
                'DeskPhoneNumber': 'string'
            },
            'RoutingProfileId': 'string',
            'SecurityProfileIds': [
                'string',
            ],
            'Tags': {
                'string': 'string'
            },
            'Username': 'string'
        },
    ],
    'NextToken': 'string',
    'ApproximateTotalCount': 123
}

Response Structure

  • (dict) --

    • Users (list) --

      Information about the users.

      • (dict) --

        Information about the returned users.

        • Arn (string) --

          The Amazon Resource Name (ARN) of the user.

        • DirectoryUserId (string) --

          The directory identifier of the user.

        • HierarchyGroupId (string) --

          The identifier of the user's hierarchy group.

        • Id (string) --

          The identifier of the user's summary.

        • IdentityInfo (dict) --

          The user's first name and last name.

          • FirstName (string) --

            The user's first name.

          • LastName (string) --

            The user's last name.

        • PhoneConfig (dict) --

          Contains information about the phone configuration settings for a user.

          • PhoneType (string) --

            The phone type.

          • AutoAccept (boolean) --

            The Auto accept setting.

          • AfterContactWorkTimeLimit (integer) --

            The After Call Work (ACW) timeout setting, in seconds. This parameter has a minimum value of 0 and a maximum value of 2,000,000 seconds (24 days). Enter 0 if you don't want to allocate a specific amount of ACW time. It essentially means an indefinite amount of time. When the conversation ends, ACW starts; the agent must choose Close contact to end ACW.

          • DeskPhoneNumber (string) --

            The phone number for the user's desk phone.

        • RoutingProfileId (string) --

          The identifier of the user's routing profile.

        • SecurityProfileIds (list) --

          The identifiers of the user's security profiles.

          • (string) --

        • Tags (dict) --

          The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} }.

          • (string) --

            • (string) --

        • Username (string) --

          The name of the user.

    • NextToken (string) --

      If there are additional results, this is the token for the next set of results.

    • ApproximateTotalCount (integer) --

      The total number of users who matched your search query.

UpdateSecurityProfile (updated) Link ¶
Changes (request)
{'AllowedAccessControlHierarchyGroupId': 'string',
 'HierarchyRestrictedResources': ['string']}

Updates a security profile.

See also: AWS API Documentation

Request Syntax

client.update_security_profile(
    Description='string',
    Permissions=[
        'string',
    ],
    SecurityProfileId='string',
    InstanceId='string',
    AllowedAccessControlTags={
        'string': 'string'
    },
    TagRestrictedResources=[
        'string',
    ],
    Applications=[
        {
            'Namespace': 'string',
            'ApplicationPermissions': [
                'string',
            ]
        },
    ],
    HierarchyRestrictedResources=[
        'string',
    ],
    AllowedAccessControlHierarchyGroupId='string'
)
type Description:

string

param Description:

The description of the security profile.

type Permissions:

list

param Permissions:

The permissions granted to a security profile. For a list of valid permissions, see List of security profile permissions.

  • (string) --

type SecurityProfileId:

string

param SecurityProfileId:

[REQUIRED]

The identifier for the security profle.

type InstanceId:

string

param InstanceId:

[REQUIRED]

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

type AllowedAccessControlTags:

dict

param AllowedAccessControlTags:

The list of tags that a security profile uses to restrict access to resources in Amazon Connect.

  • (string) --

    • (string) --

type TagRestrictedResources:

list

param TagRestrictedResources:

The list of resources that a security profile applies tag restrictions to in Amazon Connect.

  • (string) --

type Applications:

list

param Applications:

This API is in preview release for Amazon Connect and is subject to change.

A list of the third-party application's metadata.

  • (dict) --

    This API is in preview release for Amazon Connect and is subject to change.

    A third-party application's metadata.

    • Namespace (string) --

      Namespace of the application that you want to give access to.

    • ApplicationPermissions (list) --

      The permissions that the agent is granted on the application. Only the ACCESS permission is supported.

      • (string) --

type HierarchyRestrictedResources:

list

param HierarchyRestrictedResources:

The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect. Following are acceptable ResourceNames: User.

  • (string) --

type AllowedAccessControlHierarchyGroupId:

string

param AllowedAccessControlHierarchyGroupId:

The identifier of the hierarchy group that a security profile uses to restrict access to resources in Amazon Connect.

returns:

None