EC2 / Client / create_verified_access_trust_provider

create_verified_access_trust_provider#

EC2.Client.create_verified_access_trust_provider(**kwargs)#

A trust provider is a third-party entity that creates, maintains, and manages identity information for users and devices. When an application request is made, the identity information sent by the trust provider is evaluated by Verified Access before allowing or denying the application request.

See also: AWS API Documentation

Request Syntax

response = client.create_verified_access_trust_provider(
    TrustProviderType='user'|'device',
    UserTrustProviderType='iam-identity-center'|'oidc',
    DeviceTrustProviderType='jamf'|'crowdstrike'|'jumpcloud',
    OidcOptions={
        'Issuer': 'string',
        'AuthorizationEndpoint': 'string',
        'TokenEndpoint': 'string',
        'UserInfoEndpoint': 'string',
        'ClientId': 'string',
        'ClientSecret': 'string',
        'Scope': 'string'
    },
    DeviceOptions={
        'TenantId': 'string',
        'PublicSigningKeyUrl': 'string'
    },
    PolicyReferenceName='string',
    Description='string',
    TagSpecifications=[
        {
            'ResourceType': 'capacity-reservation'|'client-vpn-endpoint'|'customer-gateway'|'carrier-gateway'|'coip-pool'|'dedicated-host'|'dhcp-options'|'egress-only-internet-gateway'|'elastic-ip'|'elastic-gpu'|'export-image-task'|'export-instance-task'|'fleet'|'fpga-image'|'host-reservation'|'image'|'import-image-task'|'import-snapshot-task'|'instance'|'instance-event-window'|'internet-gateway'|'ipam'|'ipam-pool'|'ipam-scope'|'ipv4pool-ec2'|'ipv6pool-ec2'|'key-pair'|'launch-template'|'local-gateway'|'local-gateway-route-table'|'local-gateway-virtual-interface'|'local-gateway-virtual-interface-group'|'local-gateway-route-table-vpc-association'|'local-gateway-route-table-virtual-interface-group-association'|'natgateway'|'network-acl'|'network-interface'|'network-insights-analysis'|'network-insights-path'|'network-insights-access-scope'|'network-insights-access-scope-analysis'|'placement-group'|'prefix-list'|'replace-root-volume-task'|'reserved-instances'|'route-table'|'security-group'|'security-group-rule'|'snapshot'|'spot-fleet-request'|'spot-instances-request'|'subnet'|'subnet-cidr-reservation'|'traffic-mirror-filter'|'traffic-mirror-session'|'traffic-mirror-target'|'transit-gateway'|'transit-gateway-attachment'|'transit-gateway-connect-peer'|'transit-gateway-multicast-domain'|'transit-gateway-policy-table'|'transit-gateway-route-table'|'transit-gateway-route-table-announcement'|'volume'|'vpc'|'vpc-endpoint'|'vpc-endpoint-connection'|'vpc-endpoint-service'|'vpc-endpoint-service-permission'|'vpc-peering-connection'|'vpn-connection'|'vpn-gateway'|'vpc-flow-log'|'capacity-reservation-fleet'|'traffic-mirror-filter-rule'|'vpc-endpoint-connection-device-type'|'verified-access-instance'|'verified-access-group'|'verified-access-endpoint'|'verified-access-policy'|'verified-access-trust-provider'|'vpn-connection-device-type'|'vpc-block-public-access-exclusion'|'ipam-resource-discovery'|'ipam-resource-discovery-association'|'instance-connect-endpoint',
            'Tags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ]
        },
    ],
    ClientToken='string',
    DryRun=True|False,
    SseSpecification={
        'CustomerManagedKeyEnabled': True|False,
        'KmsKeyArn': 'string'
    }
)
Parameters:
  • TrustProviderType (string) –

    [REQUIRED]

    The type of trust provider.

  • UserTrustProviderType (string) – The type of user-based trust provider. This parameter is required when the provider type is user.

  • DeviceTrustProviderType (string) – The type of device-based trust provider. This parameter is required when the provider type is device.

  • OidcOptions (dict) –

    The options for a OpenID Connect-compatible user-identity trust provider. This parameter is required when the provider type is user.

    • Issuer (string) –

      The OIDC issuer.

    • AuthorizationEndpoint (string) –

      The OIDC authorization endpoint.

    • TokenEndpoint (string) –

      The OIDC token endpoint.

    • UserInfoEndpoint (string) –

      The OIDC user info endpoint.

    • ClientId (string) –

      The client identifier.

    • ClientSecret (string) –

      The client secret.

    • Scope (string) –

      OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to a user’s details. Each scope returns a specific set of user attributes.

  • DeviceOptions (dict) –

    The options for a device-based trust provider. This parameter is required when the provider type is device.

    • TenantId (string) –

      The ID of the tenant application with the device-identity provider.

    • PublicSigningKeyUrl (string) –

      The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

  • PolicyReferenceName (string) –

    [REQUIRED]

    The identifier to be used when working with policy rules.

  • Description (string) – A description for the Verified Access trust provider.

  • TagSpecifications (list) –

    The tags to assign to the Verified Access trust provider.

    • (dict) –

      The tags to apply to a resource when the resource is being created. When you specify a tag, you must specify the resource type to tag, otherwise the request will fail.

      Note

      The Valid Values lists all the resource types that can be tagged. However, the action you’re using might not support tagging all of these resource types. If you try to tag a resource type that is unsupported for the action you’re using, you’ll get an error.

      • ResourceType (string) –

        The type of resource to tag on creation.

      • Tags (list) –

        The tags to apply to the resource.

        • (dict) –

          Describes a tag.

          • Key (string) –

            The key of the tag.

            Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:.

          • Value (string) –

            The value of the tag.

            Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

  • ClientToken (string) –

    A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

    This field is autopopulated if not provided.

  • DryRun (boolean) – Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • SseSpecification (dict) –

    The options for server side encryption.

    • CustomerManagedKeyEnabled (boolean) –

      Enable or disable the use of customer managed KMS keys for server side encryption.

      Valid values: True | False

    • KmsKeyArn (string) –

      The ARN of the KMS key.

Return type:

dict

Returns:

Response Syntax

{
    'VerifiedAccessTrustProvider': {
        'VerifiedAccessTrustProviderId': 'string',
        'Description': 'string',
        'TrustProviderType': 'user'|'device',
        'UserTrustProviderType': 'iam-identity-center'|'oidc',
        'DeviceTrustProviderType': 'jamf'|'crowdstrike'|'jumpcloud',
        'OidcOptions': {
            'Issuer': 'string',
            'AuthorizationEndpoint': 'string',
            'TokenEndpoint': 'string',
            'UserInfoEndpoint': 'string',
            'ClientId': 'string',
            'ClientSecret': 'string',
            'Scope': 'string'
        },
        'DeviceOptions': {
            'TenantId': 'string',
            'PublicSigningKeyUrl': 'string'
        },
        'PolicyReferenceName': 'string',
        'CreationTime': 'string',
        'LastUpdatedTime': 'string',
        'Tags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'SseSpecification': {
            'CustomerManagedKeyEnabled': True|False,
            'KmsKeyArn': 'string'
        }
    }
}

Response Structure

  • (dict) –

    • VerifiedAccessTrustProvider (dict) –

      Details about the Verified Access trust provider.

      • VerifiedAccessTrustProviderId (string) –

        The ID of the Amazon Web Services Verified Access trust provider.

      • Description (string) –

        A description for the Amazon Web Services Verified Access trust provider.

      • TrustProviderType (string) –

        The type of Verified Access trust provider.

      • UserTrustProviderType (string) –

        The type of user-based trust provider.

      • DeviceTrustProviderType (string) –

        The type of device-based trust provider.

      • OidcOptions (dict) –

        The options for an OpenID Connect-compatible user-identity trust provider.

        • Issuer (string) –

          The OIDC issuer.

        • AuthorizationEndpoint (string) –

          The OIDC authorization endpoint.

        • TokenEndpoint (string) –

          The OIDC token endpoint.

        • UserInfoEndpoint (string) –

          The OIDC user info endpoint.

        • ClientId (string) –

          The client identifier.

        • ClientSecret (string) –

          The client secret.

        • Scope (string) –

          The OpenID Connect (OIDC) scope specified.

      • DeviceOptions (dict) –

        The options for device-identity trust provider.

        • TenantId (string) –

          The ID of the tenant application with the device-identity provider.

        • PublicSigningKeyUrl (string) –

          The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

      • PolicyReferenceName (string) –

        The identifier to be used when working with policy rules.

      • CreationTime (string) –

        The creation time.

      • LastUpdatedTime (string) –

        The last updated time.

      • Tags (list) –

        The tags.

        • (dict) –

          Describes a tag.

          • Key (string) –

            The key of the tag.

            Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:.

          • Value (string) –

            The value of the tag.

            Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

      • SseSpecification (dict) –

        The options in use for server side encryption.

        • CustomerManagedKeyEnabled (boolean) –

          Indicates whether customer managed KMS keys are in use for server side encryption.

          Valid values: True | False

        • KmsKeyArn (string) –

          The ARN of the KMS key.