AWS Tools for Windows PowerShell
Command Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Synopsis

Calls the Amazon Verified Permissions CreateIdentitySource API operation.

Syntax

New-AVPIdentitySource
-PolicyStoreId <String>
-AccessTokenOnly_Audience <String[]>
-CognitoUserPoolConfiguration_ClientId <String[]>
-IdentityTokenOnly_ClientId <String[]>
-OpenIdConnectConfiguration_EntityIdPrefix <String>
-OpenIdConnectConfiguration_GroupClaim <String>
-GroupConfiguration_GroupEntityType <String>
-OpenIdConnectConfiguration_GroupEntityType <String>
-OpenIdConnectConfiguration_Issuer <String>
-PrincipalEntityType <String>
-AccessTokenOnly_PrincipalIdClaim <String>
-IdentityTokenOnly_PrincipalIdClaim <String>
-CognitoUserPoolConfiguration_UserPoolArn <String>
-ClientToken <String>
-Select <String>
-Force <SwitchParameter>
-ClientConfig <AmazonVerifiedPermissionsConfig>

Description

Adds an identity source to a policy store–an Amazon Cognito user pool or OpenID Connect (OIDC) identity provider (IdP). After you create an identity source, you can use the identities provided by the IdP as proxies for the principal in authorization queries that use the IsAuthorizedWithToken or BatchIsAuthorizedWithToken API operations. These identities take the form of tokens that contain claims about the user, such as IDs, attributes and group memberships. Identity sources provide identity (ID) tokens and access tokens. Verified Permissions derives information about your user and session from token claims. Access tokens provide action context to your policies, and ID tokens provide principal Attributes. Tokens from an identity source user continue to be usable until they expire. Token revocation and resource deletion have no effect on the validity of a token in your policy store To reference a user from this identity source in your Cedar policies, refer to the following syntax examples.
  • Amazon Cognito user pool: Namespace::[Entity type]::[User pool ID]|[user principal attribute], for example MyCorp::User::us-east-1_EXAMPLE|a1b2c3d4-5678-90ab-cdef-EXAMPLE11111.
  • OpenID Connect (OIDC) provider: Namespace::[Entity type]::[entityIdPrefix]|[user principal attribute], for example MyCorp::User::MyOIDCProvider|a1b2c3d4-5678-90ab-cdef-EXAMPLE22222.
Verified Permissions is eventually consistent. It can take a few seconds for a new or changed element to propagate through the service and be visible in the results of other Verified Permissions operations.

Parameters

-AccessTokenOnly_Audience <String[]>
The access token aud claim values that you want to accept in your policy store. For example, https://myapp.example.com, https://myapp2.example.com. Starting with version 4 of the SDK this property will default to null. If no data for this property is returned from the service the property will also be null. This was changed to improve performance and allow the SDK and caller to distinguish between a property not set or a property being empty to clear out a value. To retain the previous SDK behavior set the AWSConfigs.InitializeCollections static property to true.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfiguration_OpenIdConnectConfiguration_TokenSelection_AccessTokenOnly_Audiences
-AccessTokenOnly_PrincipalIdClaim <String>
The claim that determines the principal in OIDC access tokens. For example, sub.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfiguration_OpenIdConnectConfiguration_TokenSelection_AccessTokenOnly_PrincipalIdClaim
Amazon.PowerShell.Cmdlets.AVP.AmazonVerifiedPermissionsClientCmdlet.ClientConfig
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-ClientToken <String>
Specifies a unique, case-sensitive ID that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value..If you don't provide this value, then Amazon Web Services generates a random one for you.If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an ConflictException error.Verified Permissions recognizes a ClientToken for eight hours. After eight hours, the next request with the same parameters performs the operation again regardless of the value of ClientToken.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-CognitoUserPoolConfiguration_ClientId <String[]>
The unique application client IDs that are associated with the specified Amazon Cognito user pool.Example: "ClientIds": ["&ExampleCogClientId;"] Starting with version 4 of the SDK this property will default to null. If no data for this property is returned from the service the property will also be null. This was changed to improve performance and allow the SDK and caller to distinguish between a property not set or a property being empty to clear out a value. To retain the previous SDK behavior set the AWSConfigs.InitializeCollections static property to true.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfiguration_CognitoUserPoolConfiguration_ClientIds
-CognitoUserPoolConfiguration_UserPoolArn <String>
The Amazon Resource Name (ARN) of the Amazon Cognito user pool that contains the identities to be authorized.Example: "UserPoolArn": "arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5"
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfiguration_CognitoUserPoolConfiguration_UserPoolArn
This parameter overrides confirmation prompts to force the cmdlet to continue its operation. This parameter should always be used with caution.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-GroupConfiguration_GroupEntityType <String>
The name of the schema entity type that's mapped to the user pool group. Defaults to AWS::CognitoGroup.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfiguration_CognitoUserPoolConfiguration_GroupConfiguration_GroupEntityType
-IdentityTokenOnly_ClientId <String[]>
The ID token audience, or client ID, claim values that you want to accept in your policy store from an OIDC identity provider. For example, 1example23456789, 2example10111213. Starting with version 4 of the SDK this property will default to null. If no data for this property is returned from the service the property will also be null. This was changed to improve performance and allow the SDK and caller to distinguish between a property not set or a property being empty to clear out a value. To retain the previous SDK behavior set the AWSConfigs.InitializeCollections static property to true.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfiguration_OpenIdConnectConfiguration_TokenSelection_IdentityTokenOnly_ClientIds
-IdentityTokenOnly_PrincipalIdClaim <String>
The claim that determines the principal in OIDC access tokens. For example, sub.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfiguration_OpenIdConnectConfiguration_TokenSelection_IdentityTokenOnly_PrincipalIdClaim
-OpenIdConnectConfiguration_EntityIdPrefix <String>
A descriptive string that you want to prefix to user entities from your OIDC identity provider. For example, if you set an entityIdPrefix of MyOIDCProvider, you can reference principals in your policies in the format MyCorp::User::MyOIDCProvider|Carlos.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfiguration_OpenIdConnectConfiguration_EntityIdPrefix
-OpenIdConnectConfiguration_GroupClaim <String>
The token claim that you want Verified Permissions to interpret as group membership. For example, groups.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfiguration_OpenIdConnectConfiguration_GroupConfiguration_GroupClaim
-OpenIdConnectConfiguration_GroupEntityType <String>
The policy store entity type that you want to map your users' group claim to. For example, MyCorp::UserGroup. A group entity type is an entity that can have a user entity type as a member.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfiguration_OpenIdConnectConfiguration_GroupConfiguration_GroupEntityType
-OpenIdConnectConfiguration_Issuer <String>
The issuer URL of an OIDC identity provider. This URL must have an OIDC discovery endpoint at the path .well-known/openid-configuration.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesConfiguration_OpenIdConnectConfiguration_Issuer
-PolicyStoreId <String>
Specifies the ID of the policy store in which you want to store this identity source. Only policies and requests made using this policy store can reference identities from the identity provider configured in the new identity source.
Required?True
Position?1
Accept pipeline input?True (ByValue, ByPropertyName)
-PrincipalEntityType <String>
Specifies the namespace and data type of the principals generated for identities authenticated by the new identity source.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-Select <String>
Use the -Select parameter to control the cmdlet output. The default value is '*'. Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.VerifiedPermissions.Model.CreateIdentitySourceResponse). Specifying the name of a property of type Amazon.VerifiedPermissions.Model.CreateIdentitySourceResponse will result in that property being returned. Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)

Common Credential and Region Parameters

-AccessKey <String>
The AWS access key for the user account. This can be a temporary access key if the corresponding session token is supplied to the -SessionToken parameter.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAK
-Credential <AWSCredentials>
An AWSCredentials object instance containing access and secret key information, and optionally a token for session-based credentials.
Required?False
Position?Named
Accept pipeline input?True (ByValue, ByPropertyName)
-EndpointUrl <String>
The endpoint to make the call against.Note: This parameter is primarily for internal AWS use and is not required/should not be specified for normal usage. The cmdlets normally determine which endpoint to call based on the region specified to the -Region parameter or set as default in the shell (via Set-DefaultAWSRegion). Only specify this parameter if you must direct the call to a specific custom endpoint.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
-NetworkCredential <PSCredential>
Used with SAML-based authentication when ProfileName references a SAML role profile. Contains the network credentials to be supplied during authentication with the configured identity provider's endpoint. This parameter is not required if the user's default network identity can or should be used during authentication.
Required?False
Position?Named
Accept pipeline input?True (ByValue, ByPropertyName)
-ProfileLocation <String>
Used to specify the name and location of the ini-format credential file (shared with the AWS CLI and other AWS SDKs)If this optional parameter is omitted this cmdlet will search the encrypted credential file used by the AWS SDK for .NET and AWS Toolkit for Visual Studio first. If the profile is not found then the cmdlet will search in the ini-format credential file at the default location: (user's home directory)\.aws\credentials.If this parameter is specified then this cmdlet will only search the ini-format credential file at the location given.As the current folder can vary in a shell or during script execution it is advised that you use specify a fully qualified path instead of a relative path.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesAWSProfilesLocation, ProfilesLocation
-ProfileName <String>
The user-defined name of an AWS credentials or SAML-based role profile containing credential information. The profile is expected to be found in the secure credential file shared with the AWS SDK for .NET and AWS Toolkit for Visual Studio. You can also specify the name of a profile stored in the .ini-format credential file used with the AWS CLI and other AWS SDKs.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesStoredCredentials, AWSProfileName
-Region <Object>
The system name of an AWS region or an AWSRegion instance. This governs the endpoint that will be used when calling service operations. Note that the AWS resources referenced in a call are usually region-specific.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesRegionToCall
-SecretKey <String>
The AWS secret key for the user account. This can be a temporary secret key if the corresponding session token is supplied to the -SessionToken parameter.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesSK, SecretAccessKey
-SessionToken <String>
The session token if the access and secret keys are temporary session-based credentials.
Required?False
Position?Named
Accept pipeline input?True (ByPropertyName)
AliasesST

Outputs

This cmdlet returns an Amazon.VerifiedPermissions.Model.CreateIdentitySourceResponse object containing multiple properties.

Supported Version

AWS Tools for PowerShell: 2.x.y.z