sicurezza client

La politica client-security può essere utilizzata per estendere l'accesso di autenticazione client per le tue API.

Assistenza per i gateway

Tabella 1. Tabella che indica quali gateway supportano questa politica e la versione corrispondente della politica
Gateway Versione politica
DataPower® API Gateway 2.0.0

In questa sezione viene descritto come configurare il criterio nella sorgente " OpenAPI "; per ulteriori dettagli su come configurare il criterio nell'interfaccia utente di Assembly, consultare la sezione "Client Security ".

Informazioni su

Utilizza la politica client-security per creare un'azione di assemblaggio separata dalla specifica OpenAPI , per consentire ulteriori opzioni per autenticare un'applicazione. Notare che non è possibile utilizzare la politica client-security per eseguire l'applicazione di limitazione della frequenza.

In un'azione di sicurezza client, definire le impostazioni riportate di seguito.
  • Controlla se arrestare l'elaborazione in caso di errore della sicurezza del client. Quando la sicurezza client non riesce, arresta l'elaborazione dell'assembly e restituisce un errore.
  • Controlla se richiedere il segreto client. Se necessario, il segreto viene confrontato con quello registrato nell'applicazione identificata dall'ID cliente.
  • Definire il metodo per estrarre le credenziali client dalla richiesta.
    • Per tutti i metodi tranne http, utilizzare le proprietà id-name e secret-name per specificare l'ubicazione che contiene l'ID e l'ubicazione che contiene il segreto.
      • Quando cookie, specificare quale cookie.
      • Quando context-var, specificare quale variabile di contesto di runtime.
      • Quando form, specificare i dati del modulo.
      • Quando header, specificare quale intestazione.
      • Quando query, specificare quale parametro di query.
    • Per il metodo http , utilizzare la proprietà http-type per specificare il formato dell'intestazione di autorizzazione, che prevede il formato basic nel formato basic base64_id:secret .
  • Definire il metodo per autenticare le credenziali client estratte. I metodi supportati sono native (ciò significa utilizzando IBM® API Connect) o utilizzando un registro utente third-party specificato.
    • Se third-party, utilizzare la proprietà user-registry per specificare il registro utenti per autenticare le credenziali client estratte. I tipi di registro supportati sono LDAP e URL.

Proprietà

La politica client-security ha il formato seguente:

- client-security:  
    version: version
    title: title
    description: description
    stop-on-error: is_processing_stopped_on_client_security_failure
    secret-required: is_client_secret_required_in_request
    extract-credential-method: method_for_supplying_credentials
    id-name: parameter_that_specifies_client_id
    secret-name: parameter_that_specifies_client_secret
    http-type: authentication_type
    client-auth-method: method_for_client_authentication
    user-registry: user_registry_for_client_authentication
  
Tabella 2. client-security proprietà delle politiche
Proprietà Obbligatorio Descrizione Tipo di dati
version Vero Il numero di versione della politica. stringa
title N Il titolo della politica. stringa
description N Una descrizione della politica. stringa
stop-on-error Vero Se impostato su true, l'elaborazione dell'assembly si arresta se la sicurezza del client non riesce e viene restituito un errore. booleano
secret-required Vero Se impostato su true, il segreto client deve essere inviato nella richiesta. Il segreto viene confrontato con il segreto registrato sull'applicazione identificata dall'ID client. booleano
extract-credential-method Vero Specificare uno dei seguenti valori per definire la modalità di autenticazione dell'applicazione chiamante:
  • header: le credenziali ID client e segreto client devono essere fornite nell'intestazione della richiesta.
  • query: l'ID cliente e le credenziali segrete del cliente devono essere fornite come parametri di query nella richiesta URL.
  • form: le credenziali ID client e segreto client devono essere fornite come dati del modulo inviati in una richiesta POST.
  • cookie: le credenziali di ID client e segreto client devono essere fornite in un'intestazione denominata Cookie.
  • http: l'applicazione chiamante deve autenticarsi utilizzando l'autenticazione di base.
  • context-var: le credenziali utilizzate per l'autenticazione del client vengono ricavate dalle variabili di contesto impostate nel flusso di assemblaggio prima del criterio di sicurezza client, ad esempio tramite un criterio gateway script. I nomi di queste variabili di contesto sono determinati dai valori forniti nelle proprietà id-name e secret-name della politica di protezione client.

    La polizza " GatewayScript " è disponibile solo con il Premium subscription.

stringa
id-name Sì, a meno che extract-credential-method non sia impostato su http Il nome del parametro il cui valore specifica l'ID client. Per tutti i valori di extract-credential-method diversi da context-var e http, l'applicazione chiamante deve fornire un parametro con questo nome, nell'ubicazione definita dall'impostazione extract-credential-method . Per context-var, questa proprietà specifica il nome di una variabile di contesto.

Questa opzione non si applica se la proprietà extract-credential-method è impostata su http.

stringa
secret-name Sì, se secret-required è impostato su true e extract-credential-method è diverso da http Il nome del parametro il cui valore specifica il segreto client. Per tutti i valori di extract-credential-method diversi da context-var e http, l'applicazione chiamante deve fornire un parametro con questo nome, nell'ubicazione definita dall'impostazione extract-credential-method . Per context-var, questa proprietà specifica il nome di una variabile di contesto.

Questa opzione non si applica se la proprietà extract-credential-method è impostata su http.

stringa
http-type Sì, se extract-credential-method è impostato su http Il tipo di autenticazione. Attualmente, deve essere impostato su basic. stringa
client-auth-method Vero Specificare uno dei seguenti valori:
  • native: solo l'ID client e il segreto client vengono utilizzati per autenticare la richiesta. Se extract-credential-method è impostato su http , l'applicazione chiamante deve fornire l'ID client per il nome utente e il segreto client per la password.
  • third-party: un registro utente viene utilizzato per autenticare il client. Se extract-credential-method è impostato su un valore diverso da http , l'applicazione chiamante deve fornire il nome utente per l'ID client e la password per il segreto client.
stringa
user-registry Sì, se client-auth-method è impostato su third-party Specificare il valore della proprietà name del registro utente che verrà utilizzato per autenticare il client. I tipi di registro supportati sono LDAP e URL. stringa

esempio di politica di sicurezza client


- client-security:
    version: 2.0.0
    title: client-security
    stop-on-error: true
    secret-required: true
    extract-credential-method: cookie
    id-name: my-client-id
    secret-name: my-client-secret
    client-auth-method: third-party
    user-registry: myauthurl