afv-library/skills/platform-metadata-api-context-get/assets/metadata_api/ExternalCredential.json

94 lines
12 KiB
JSON
Raw Normal View History

{
"sections": [
"title",
"description",
"file_information",
"directory_location",
"fields",
"sub_types",
"wsdl_segment",
"declarative_metadata_sample_definition"
],
"title": "ExternalCredential - Metadata API",
"description": "Represents the details of how Salesforce authenticates to the external system.",
"file_information": ".externalCredential",
"directory_location": "externalCredentials",
"fields_columns": [
"type",
"required",
"description"
],
"fields": {
"authenticationProtocol": {
"type": "AuthenticationProtocol (enumeration of type string)",
"required": true,
"description": "The authentication protocol thats required to access the external system. Valid values are: AwsSv4 Basic Custom — User-created authentication. Specify the permission set, sequence number, and authentication parameters. Each authentication parameter requires a name and value. Jwt — Reserved for future use JwtExchange — Reserved for future use NoAuthentication —Reserved for future use Oauth Password — Reserved for future use For connections to Amazon Web Services using Signature Version 4, use AwsSv4. For connections using a direct token system, select Jwt. For Simple URL data sources, select Custom with no parameters. For cloud-based Files Connect external systems, select Oauth. For on-premises systems, select Password."
},
"description": {
"type": "string",
"description": "A meaningful description of the external credential."
},
"externalCredentialParameters": {
"type": "ExternalCredentialParameter[]",
"description": "One or more sets of parameters that further configure the external credential."
},
"label": {
"type": "string",
"required": true,
"description": "Name of the external credential."
}
},
"sub_types": {
"ExternalCredentialParameter": {
"authProvider": {
"type": "string",
"description": "Reference to an authentication provider that the AuthProvider component represents, which defines the service that provides the login process and approves access to the external system."
},
"certificate": {
"type": "string",
"description": "If the value of parameterType is SigningCertificate, then this field references the certificate."
},
"description": {
"type": "string",
"description": "A human-readable description of this external credential parameter."
},
"externalAuthIdentityProvider": {
"type": "string",
"description": "Reference to an external authentication identity provider that the externalAuthIdentityProvider component represents. The externalAuthIdentityProvider defines the service that provides the login process and approves access to the external system. To simplify the configuration process for the authentication providers used by your named credentials, use an externalAuthIdentityProvider instead of an authProvider. Link the external auth identity provider to an external credential."
},
"parameterGroup": {
"type": "string",
"description": "Groups a parameter along with its respective principal. For example, with dynamic scopes, the user can apply a scope AuthParameter only when authenticated against a specific principal with a matching parameterGroup value. If a value for parameterGroup isnt provided, parameterGroup defaults to the parameterName value for PER_USER and NAMED_PRINCIPAL. For all other parameters parameterGroup defaults to DEFAULT_GROUP."
},
"parameterName": {
"type": "string",
"required": true,
"description": "The name of the external credential parameter."
},
"parameterType": {
"type": "ExternalCredentialParamType (enumeration of type string)",
"required": true,
"description": "The type of external credential parameter. The value of this field drives the behavior of the parameter. Valid values are: AdditionalRefreshStatusCode: Allows the user to specify 4xx, 6xx, 7xx, 8xx, and 9xx HTTP status codes that trigger Salesforce to refresh expired or invalid access tokens, in addition to the standard 401 HTTP status code response. AuthHeader: Allows the user to specify custom authentication headers to be added to the callout at run time. When using AuthHeader, the parameterName field must be the header name as a string, and parameterValue must be a formula of a header value that is evaluated at run time. sequenceNumber determines the order in which headers are sent out in the callout. Headers with lower numbers are sent out first. AuthParameter: Allows the user to add additional authentication settings. parameterName defines the parameter to set. For example, AwsRegion sets the AWS Region parameter to apply for an AWS Signature V4 authentication protocol and parameterValue is the value for the AWS Region. AuthProtocolVariant: Used to specify a variant of an authentication protocol. For example, Aws Sts as a variant when the ParameterName is AwsSv4 and the ParameterValue is AwsSv4_STS. AuthProvider: Specifies that this parameter configures an authentication provider referenced by the authProvider field. AuthProviderUrl: Specifies the authentication endpoint URL. For example, if the authentication type is OAuth with JWT Bearer Flow, then parameterValue is an authentication token endpoint. AuthProviderUrlQueryParameter: Allows the user to specify custom query parameters to be added to the callout to the authentication provider at run time. Currently, supported only for AWS Signature V4 with STS. The allowed AuthProviderUrlQueryParameter values are AwsExternalId and AwsDuration, used with AWS STS. AwsStsPrincipal: Configures AWS Signature V4 along with STS. parameterName is AwsStsPrincipal and parameterValue isnt specified. CreatedByNamespace: Reserved for internal use. CustomPrincipal: Reserved for internal use. ExternalAuthIdentityProvider: Specifies that this parameter configures an authentication provider referenced by the externalAuthIdentityProvider field. GlobalNamedPrincipal: Reserved for internal use. JwtBodyClaim: Specifies a JWT (JSON Web Token) body claim, where parameterName is the key and parameterValue is the value. For example, the parameter name for a JWT audience is aud. JwtHeaderClaim: Specifies a JWT header claim, where parameterName is the key and parameterValue is the value. For example, the parameter name for a JWT key identifier is kid. ManagedByComponent: Reserved for internal use. ManagedByFeature: Reserved for internal use. NamedPrincipal: Specifies that the parameter uses the same set of user credentials for all users who access the external system. PerUserPrincipal: Provides access control at the individual user level. PrincipalIdentityAlias: Reserved for internal use. SfHttpRequestExtensionName: Reserved for internal use. SigningCertificate: Specifies the certificate used for an authentication signature. Use the certificate field to specify the certificate name. Used for OAuth with JWT Bearer Flow and AwsSv4 STS with RolesAnywhere authentication. SystemUserPrincipal: Reserved for internal use."
},
"parameterValue": {
"type": "string",
"description": "If the parameterType field describes a literal value then the literal value is stored in this field."
},
"principal": {
"type": "string",
"description": "If the value of the parameterType field is either NamedPrincipal or PerUserPrincipal, this field points to a permission set. That value then determines the set of users that are allowed to use credentials provided by the credential provider. The value of the parameterName field specifies the name of this principal. First available in API version 56.0, this field is removed in API version 58.0 and later."
},
"sequenceNumber": {
"type": "int",
"description": "Specifies the order of principals to apply when a user participates in more than one principal. For example, a user could be part of multiple permission sets that are applicable for a credential provider. Priority is from lower to higher numbers. You can set this field only when parameterType is NamedPrincipal."
}
}
},
"wsdl_segment": "```xml\n<xsd:simpleType name=\"AuthenticationProtocol\">\n <xsd:restriction base=\"xsd:string\">\n <xsd:enumeration value=\"NoAuthentication\"/>\n <xsd:enumeration value=\"Oauth\"/>\n <xsd:enumeration value=\"Password\"/>\n <xsd:enumeration value=\"AwsSv4\"/>\n <xsd:enumeration value=\"Jwt\"/>\n <xsd:enumeration value=\"JwtExchange\"/>\n <xsd:enumeration value=\"Custom\"/>\n <xsd:enumeration value=\"Basic\"/>\n </xsd:restriction>\n</xsd:simpleType>\n<xsd:complexType name=\"ExternalCredential\">\n <xsd:complexContent>\n <xsd:extension base=\"tns:Metadata\">\n <xsd:sequence>\n <xsd:element name=\"authenticationProtocol\" type=\"tns:AuthenticationProtocol\"/>\n <xsd:element name=\"description\" minOccurs=\"0\" type=\"xsd:string\"/>\n <xsd:element name=\"externalCredentialParameters\" minOccurs=\"0\" maxOccurs=\"unbounded\" type=\"tns:ExternalCredentialParameter\"/>\n <xsd:element name=\"label\" type=\"xsd:string\"/>\n </xsd:sequence>\n </xsd:extension>\n </xsd:complexContent>\n</xsd:complexType>\n<xsd:simpleType name=\"ExternalCredentialParamType\">\n <xsd:restriction base=\"xsd:string\">\n <xsd:enumeration value=\"ExternalAuthIdentityProvider\"/>\n <xsd:enumeration value=\"AuthProvider\"/>\n <xsd:enumeration value=\"AuthProviderUrl\"/>\n <xsd:enumeration value=\"AuthProviderUrlQueryParameter\"/>\n <xsd:enumeration value=\"SigningCertificate\"/>\n <xsd:enumeration value=\"AuthParameter\"/>\n <xsd:enumeration value=\"NamedPrincipal\"/>\n <xsd:enumeration value=\"PerUserPrincipal\"/>\n <xsd:enumeration value=\"AwsStsPrincipal\"/>\n <xsd:enumeration value=\"GlobalNamedPrincipal\"/>\n <xsd:enumeration value=\"SystemUserPrincipal\"/>\n <xsd:enumeration value=\"CustomPrincipal\"/>\n <xsd:enumeration value=\"PrincipalIdentityAlias\"/>\n <xsd:enumeration value=\"AuthHeader\"/>\n <xsd:enumeration value=\"AuthProtocolVariant\"/>\n <xsd:enumeration value=\"JwtBodyClaim\"/>\n <xsd:enumeration value=\"JwtHeaderClaim\"/>\n <xsd:enumeration value=\"CreatedByNamespace\"/>\n <xsd:enumeration value=\"AdditionalRefreshStatusCode\"/>\n <xsd:enumeration value=\"ManagedByFeature\"/>\n <xsd:enumeration value=\"ManagedByComponent\"/>\n <xsd:enumeration value=\"SfHttpRequestExtensionName\"/>\n </xsd:restriction>\n</xsd:simpleType>\n<xsd:complexType name=\"ExternalCredentialParameter\">\n <xsd:sequence>\n <xsd:element name=\"authProvider\" minOccurs=\"0\" type=\"xsd:string\"/>\n <xsd:element name=\"certificate\" minOccurs=\"0\" type=\"xsd:string\"/>\n <xsd:element name=\"description\" minOccurs=\"0\" type=\"xsd:string\"/>\n <xsd:element name=\"externalAuthIdentityProvider\" minOccurs=\"0\" type=\"xsd:string\"/>\n <xsd:element name=\"parameterGroup\" minOccurs=\"0\" type=\"xsd:string\"/>\n <xsd:element name=\"parameterName\" type=\"xsd:string\"/>\n <xsd:element name=\"parameterType\" type=\"tns:ExternalCredentialParamType\"/>\n <xsd:element name=\"parameterValue\" minOccurs=\"0\" type=\"xsd:string\"/>\n <xsd:element name=\"sequenceNumber\" minOccurs=\"0\" type=\"xsd:int\"/>\n </xsd:sequence>\n</xsd:complexType>\n<xsd:complexType name=\"Metadata\">\n <xsd:sequence>\n <xsd:element name=\"fullName\" minOccurs=\"0\" type=\"xsd:string\"/>\n </xsd:sequence>\n</xsd:complexType>\n```",
"declarative_metadata_sample_definition": [
{
"description": "The following is an example of an ExternalCredential component.",
"code": "<ExternalCredential xmlns=\"http://soap.sforce.com/2006/04/metadata\">\n <label>SampleExternalCredential</label>\n <authenticationProtocol>AwsSv4</authenticationProtocol>\n <externalCredentialParameters>\n <parameterName>Principal</parameterName>\n <parameterType>NamedPrincipal</parameterType>\n <sequenceNumber>1</sequenceNumber>\n </externalCredentialParameters>\n <externalCredentialParameters>\n <parameterName>AwsService</parameterName>\n <parameterValue>iam</parameterValue>\n <parameterType>AuthParameter</parameterType>\n </externalCredentialParameters>\n <externalCredentialParameters>\n <parameterName>AwsRegion</parameterName>\n <parameterValue>us-east-1</parameterValue>\n <parameterType>AuthParameter</parameterType>\n </externalCredentialParameters>\n</ExternalCredential>"
}
]
}