All Products
Search
Document Center

Identity as a Service:CreateCredentialProvider

Last Updated:Sep 15, 2026

Creates a credential provider.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

eiam:CreateCredentialProvider

create

*CredentialProvider

acs:eiam:{#regionId}:{#accountId}:instance/{#InstanceId}/credentialprovider/*

None None

Request parameters

Parameter

Type

Required

Description

Example

InstanceId

string

Yes

The instance ID.

idaas_ue2jvisn35ea5lmthk267xxxxx

ClientToken

string

Yes

The idempotency token that ensures the idempotence of the request.

Generate a unique parameter value from your client to ensure that different requests have unique values. ClientToken supports only ASCII characters and cannot exceed 64 characters in length. For more information, see References How to ensure idempotence.

client-token-example

CredentialProviderIdentifier

string

Yes

The business identifier of the credential provider.

Note

Allowed characters include uppercase and lowercase letters, digits, and the special characters .-_. The length cannot exceed 64 characters.

test_example_identifier

CredentialProviderName

string

Yes

The name of the credential provider.

Note

The length cannot exceed 64 characters.

test_example_name

Description

string

No

The description.

Note

The length cannot exceed 128 characters.

This is an example description

CredentialProviderType

string

Yes

The type of the credential provider. Valid values:

  • oauth: OAuth credential provider.

  • jwt: JWT credential provider.

oauth

CredentialProviderConfig

object

No

The configuration of the credential provider.

OAuthProviderConfig

object

No

The configuration of the OAuth credential provider.

ClientId

string

Yes

The client_id in the OAuth protocol, which is the client ID.

Note

The length cannot exceed 128 characters.

client_id_example_xxx

ClientSecret

string

Yes

The client_secret in the OAuth protocol, which is the client secret.

Note

The length cannot exceed 1024 characters.

client_secret_example_xxx

TokenEndpoint

string

No

The token endpoint of the OAuth protocol.

Note

The value must start with http:// or https://, and the length cannot exceed 1024 characters.

https://example.com/token

Scope

string

No

The scope in the OAuth protocol, which specifies the permission scope.

Note

The Scope configuration on the credential provider serves as the default value. If the scope parameter is not specified when calling the DeveloperAPI to obtain an OAuth Access Token, the Scope configuration on the credential provider is used for issuance.

Important Separate multiple Scope values with spaces.

The following restrictions apply to each individual Scope value:

  1. Allowed characters: lowercase letters, digits, and the special characters |/:_-..

  2. Must contain at least one lowercase letter or digit.

  3. Must start with the special character ., a lowercase letter, or a digit.

  4. The length cannot exceed 1024 characters.

example:test_01 example:test_02

AuthorizationFlow

string

No

The OAuth authorization flow type. Valid values:

  • m2m: Machine-to-machine.

  • user_federation: User federation.

m2m

AuthorizationEndpoint

string

No

The authorization endpoint of the OAuth protocol.

https://example.com/authorize

ProviderVendor

string

No

The OAuth provider vendor type. Valid values:

  • custom: Custom.

  • dingtalk: DingTalk.

  • feishu: Lark.

  • github: GitHub.

  • microsoft: Microsoft.

  • google: Google.

custom

DiscoveryUrl

string

No

The URL of the OAuth Discovery document.

https://example.com/.well-known/openid-configuration

PkceEnabled

boolean

No

Specifies whether to enable PKCE.

true

PkceChallengeMethod

string

No

The algorithm used to calculate the Code Challenge in PKCE. Valid values:

  • S256.

  • plain.

S256

Issuer

string

No

The Issuer endpoint of the OAuth protocol.

https://example.com/issuer

JwtProviderConfig

object

No

The configuration of the JWT credential provider.

Expiration

integer

No

The validity period of the JWT, in seconds.

900

ExpirationCleanupEnabled

boolean

No

Specifies whether to enable JWT expiration cleanup.

true

DerivedShortTokenEnabled

boolean

No

Specifies whether to enable the JWT derived short token feature.

false

AllowedTokenIssuers

array

No

The list of allowed JWT issuers.

Note

The list cannot contain more than 200 entries.

string

No

The allowed JWT issuer.

Note

The length cannot exceed 1024 characters.

https://test.issuer.com

Response elements

Element

Type

Description

Example

object

RequestId

string

The request ID.

0441BD79-92F3-53AA-8657-F8CE4A2B912A

CredentialProviderId

string

The credential provider ID.

atp_01kr2cmj5gxxx4fvmls2e93dxxxxx

Examples

Success response

JSON format

{
  "RequestId": "0441BD79-92F3-53AA-8657-F8CE4A2B912A",
  "CredentialProviderId": "atp_01kr2cmj5gxxx4fvmls2e93dxxxxx"
}

Error codes

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.