Udostępnij za pośrednictwem


Schematy uwierzytelniania punktu końcowego usługi

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Dowiedz się, jak ustawić poświadczenia w nagłówku żądania HTTP podczas wywoływania zewnętrznego punktu końcowego. Usługa Azure DevOps może następnie nawiązać połączenie z usługą zewnętrzną przy użyciu poświadczeń. Usługa Azure DevOps obsługuje zamknięty zestaw schematów uwierzytelniania używanych przez niestandardowy typ punktu końcowego usługi. Usługa Azure DevOps interpretuje schemat uwierzytelniania używany w dowolnym niestandardowym punkcie końcowym, & obsługuje połączenie z usługą zewnętrzną.

Zobacz następujące schematy uwierzytelniania, które są częścią zamkniętego zestawu.

Napiwek

Zapoznaj się z naszą najnowszą dokumentacją dotyczącą programowania rozszerzeń przy użyciu zestawu SDK rozszerzenia usługi Azure DevOps.

Uwierzytelnianie podstawowe

Jako środek zabezpieczeń zalecamy używanie zasad usługi & zarządzanych tożsamości zamiast uwierzytelniania podstawowego. Aby uzyskać więcej informacji, zobacz korzystanie z usługowych głównych & zarządzane tożsamości.

Uwierzytelnianie oparte na tokenach

Ten schemat przyjmuje jedno dane wejściowe — token interfejsu API (poufne)

Domyślnie używany jest nagłówek uwierzytelniania: {{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
                        }
                    }
                ]
            }
        ]
    }
}

Uwierzytelnianie oparte na certyfikatach

Ten schemat przyjmuje jedno dane wejściowe — certyfikat (poufne)

Wartość certyfikatu musi być podana w obszarze tekstowym.

{
    "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"
                        }
                    }
                ]
            }
        ]
    }
}

Brak uwierzytelniania

Ten schemat jest używany, gdy typ punktu końcowego nie wymaga wprowadzania żadnych danych wejściowych. Na przykład usługi zewnętrzne, które obsługują anonimowy dostęp do swoich zasobów.

{
    "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"
    }
}