client-security

A política client-security pode ser usada para estender o acesso de autenticação de cliente para suas APIs..

Suporte de gateway

Tabela 1. Tabela que mostra quais gateways suportam esta política e a versão correspondente da política
Gateway Versão da política
DataPower® API Gateway 2.0.0

Este tópico descreve como configurar a política na sua fonte do ` OpenAPI `; para obter detalhes sobre como configurar a política na interface de usuário do assembly, consulte Segurança do Cliente.

Sobre

Use a política client-security para criar uma ação de conjunto que seja separada da especificação OpenAPI , para permitir mais opções para autenticar um aplicativo. Observe que não é possível usar a política client-security para executar o cumprimento de limitação de taxa

Em uma ação de segurança do cliente, você define as seguintes configurações.
  • Determina se o processamento deve ser interrompido caso a segurança do cliente falhe. Quando a segurança do cliente falha, o processamento da montagem é interrompido e é retornado um erro.
  • Controle se o segredo do cliente deve ser exigido. Quando necessário, o segredo é comparado ao segredo registrado no aplicativo identificado pelo ID do cliente.
  • Defina o método para extrair as credenciais do cliente da solicitação.
    • Para todos os métodos, exceto http, use as propriedades id-name e secret-name para especificar o local que contém o ID e o local que contém o segredo.
      • Quando cookie, especifique qual cookie..
      • Quando context-var, especifique qual variável de contexto de tempo de execução.
      • Quando form, especifique os dados do formulário..
      • Quando header, especifique qual cabeçalho..
      • Quando query, especifique qual parâmetro de consulta..
    • Para o método http , use a propriedade http-type para especificar o formato do cabeçalho de autorização, que espera o formulário basic no formato basic base64_id:secret
  • Defina o método para autenticar as credenciais do cliente extraídas. Os métodos suportados são native (isso significa usar IBM® API Connect) ou usar um registro do usuário third-party especificado.
    • Se third-party, use a propriedade user-registry para especificar o registro do usuário para autenticar as credenciais do cliente extraídas. Os tipos de registro suportados são LDAP e URL de autenticação.

Propriedades

A política client-security tem o seguinte formato:

- 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
  
Tabela 2. client-security propriedades da política
Propriedade Obrigatório Descrição Tipo de dados
version True O número da versão da política. sequência
title Não O título da política. sequência
description Não Uma descrição da política. sequência
stop-on-error True Se configurado como true, o processamento de conjunto será parado se a segurança do cliente falhar e um erro será retornado. booleano
secret-required True Se configurado como true, o segredo do cliente deverá ser enviado na solicitação. O segredo é comparado com o segredo registrado no aplicativo que é identificado pelo ID do cliente. booleano
extract-credential-method True Especifique um dos valores a seguir para definir como o aplicativo de chamada é autenticado:
  • header: o ID do cliente e as credenciais secretas do cliente devem ser fornecidos no cabeçalho da solicitação.
  • queryiD do cliente e credenciais secretas do cliente devem ser fornecidas como parâmetros de consulta na solicitação URL.
  • form: as credenciais de ID do cliente e segredo do cliente devem ser fornecidas como dados de formulário enviados em uma solicitação POST.
  • cookie: o ID do cliente e as credenciais de segredo do cliente devem ser fornecidos em um cabeçalho chamado Cookie
  • http: o aplicativo de chamada deve autenticar usando a autenticação básica.
  • context-var: as credenciais utilizadas para autenticar o cliente são obtidas a partir de variáveis de contexto definidas no fluxo de montagem antes da política de segurança do cliente, utilizando, por exemplo, uma política de script de gateway. Os nomes dessas variáveis de contexto são determinados pelos valores fornecidos nas propriedades id-name e secret-name da política de segurança do cliente.

    A política " GatewayScript " está disponível apenas com o Premium subscription.

sequência
id-name Sim, a menos que extract-credential-method esteja configurado como http O nome do parâmetro cujo valor especifica o ID do cliente. Para todos os valores de extract-credential-method diferentes de context-var e http, o aplicativo de chamada deve fornecer um parâmetro com esse nome, no local definido pela configuração extract-credential-method. Para context-var, essa propriedade especifica o nome de uma variável de contexto.

Essa opção não será aplicável se a propriedade extract-credential-method estiver configurada como http.

sequência
secret-name Sim, se secret-required for configurado como true e extract-credential-method for diferente de http O nome do parâmetro cujo valor especifica o segredo do cliente. Para todos os valores de extract-credential-method diferentes de context-var e http, o aplicativo de chamada deve fornecer um parâmetro com esse nome, no local definido pela configuração extract-credential-method. Para context-var, essa propriedade especifica o nome de uma variável de contexto.

Essa opção não será aplicável se a propriedade extract-credential-method estiver configurada como http.

sequência
http-type Sim, se extract-credential-method for configurado como http O tipo de autenticação. Atualmente, deve ser configurado como basic. sequência
client-auth-method True Especifique um dos valores a seguir:
  • native: somente o ID e o segredo do cliente são usados para autenticar a solicitação. Se extract-credential-method for configurado como http, o aplicativo de chamada deverá fornecer o ID do cliente para o nome do usuário e o segredo do cliente para a senha.
  • third-party: um registro do usuário é usado para autenticar o cliente. Se extract-credential-method for configurado com um valor diferente de http, o aplicativo de chamada deverá fornecer o nome do usuário para o ID do cliente e a senha para o segredo do cliente.
sequência
user-registry Sim, se client-auth-method for configurado como third-party Especifique o valor da propriedade name do registro do usuário que será usado para autenticar o cliente. Os tipos de registro suportados são LDAP e URL de autenticação. sequência

Exemplo de política de segurança do cliente


- 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