Condividi tramite


Schemi di autenticazione degli endpoint di servizio

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Informazioni su come impostare le credenziali nell'intestazione della richiesta HTTP quando si chiama l'endpoint esterno. Azure DevOps può quindi connettersi al servizio esterno usando le credenziali. Azure DevOps supporta un set chiuso di schemi di autenticazione usati da un tipo di endpoint servizio personalizzato. Azure DevOps interpreta lo schema di autenticazione usato in qualsiasi endpoint personalizzato & per supportare la connessione al servizio esterno.

Vedere gli schemi di autenticazione seguenti che fanno parte del set chiuso.

Suggerimento

Vedere la documentazione più recente sullo sviluppo di estensioni usando Azure DevOps Extension SDK.

Autenticazione di base

Come misura di sicurezza, consigliamo di usare le entità servizio identità gestite & al posto dell'autenticazione di base. Per ulteriori informazioni, consultare Uso di principali di servizio & identità gestite.

Autenticazione basata su token

Questo schema accetta un input: Token API (riservato)

L'intestazione di autenticazione predefinita usata è: {{endpoint.apitoken}}

{
    "id": "endpoint-auth-scheme-token",
    "description": "i18n:Token based endpoint authentication scheme",
    "type": "ms.vss-endpoint.service-endpoint-type",
    "targets": [
        "ms.vss-endpoint.endpoint-types"
    ],
    "properties": {
        "name": "Token",
        "displayName": "i18n:Token Based Authentication",
        "authenticationSchemes": [
            {
                "type": "ms.vss-endpoint.endpoint-auth-scheme-token",
                "headers": [
                    {
                        "name": "Authorization",
                        "value": "{{endpoint.apitoken}}"
                    }
                ],
                "inputDescriptors": [
                    {
                        "id": "apitoken",
                        "name": "i18n:API Token",
                        "description": "i18n:API Token for connection to endpoint",
                        "inputMode": "textbox",
                        "isConfidential": true,
                        "validation": {
                            "isRequired": true,
                            "dataType": "string",
                            "maxLength": 300
                        }
                    }
                ]
            }
        ]
    }
}

Autenticazione basata su certificati

Questo schema accetta un input - Certificato (riservato)

Il valore del certificato deve essere specificato nell'area di testo.

{
    "id": "endpoint-auth-scheme-cert",
    "description": "i18n:Creates a certificate-based endpoint authentication scheme",
    "type": "ms.vss-endpoint.service-endpoint-type",
    "targets": [
        "ms.vss-endpoint.endpoint-types"
    ],
    "properties": {
        "name": "Certificate",
        "displayName": "i18n:Certificate Based",
        "authenticationSchemes": [
            {
                "type": "ms.vss-endpoint.endpoint-auth-scheme-cert",
                "inputDescriptors": [
                    {
                        "id": "certificate",
                        "name": "i18n:Certificate",
                        "description": "Content of the certificate",
                        "inputMode": "TextArea",
                        "isConfidential": true,
                        "validation": {
                            "isRequired": true,
                            "dataType": "string"
                        }
                    }
                ]
            }
        ]
    }
}

Nessuna autenticazione

Questo schema viene usato quando un tipo di endpoint non richiede l'immissione di alcun input. Ad esempio, servizi esterni che supportano l'accesso anonimo alle risorse.

{
    "id": "endpoint-auth-scheme-none",
    "description": "i18n:Creates an endpoint authentication scheme with no authentication.",
    "type": "ms.vss-endpoint.endpoint-auth-scheme-none",
    "targets": [
        "ms.vss-endpoint.endpoint-auth-schemes"
    ],
    "properties": {
        "name": "None",
        "displayName": "i18n:No Authentication"
    }
}