Primeiros passos para ativar a avaliação de terceiros

Para integrar a IBM® Verify avaliação de riscos de terceiros, o Verify administrador precisa configurar os seguintes componentes e estruturas:

  1. Criação de configuração de de webhooks
  2. Criação de configuração de integração de terceiros
  3. Criação de objeto de política de acesso junto com contrato de API de risco de terceiros

Criando configuração de webhooks

A configuração de um webhook em tempo real deve estar associada a um provedor de gerenciamento de riscos de terceiros. O webhook em tempo real proporciona a integração técnica em tempo de execução entre o Verify e o serviço de um provedor de risco terceirizado. A configuração do webhook em tempo real deve ser concluída antes que o risco de terceiros possa ser calculado.

Uma configuração fictícia de webhook em tempo real que poderia ser compatível com o provedor de gerenciamento de riscos de terceiros:

{
  "name": "some name",
  "type": "realtime",
  "urls": [
    "https://somedomain.com/1351/app_proxy/api/risk"
  ],
  "authentication": {
    "header": {
      "values": [
        {
          "key": "SEC",
          "value": "some-value"
        }
      ]
    },
    "type": "header"
  }
  "purpose": [
    "external_risk"
  ],
  "notification": null
}
Observação: Se a integração de terceiros não fornecer a resposta no formato esperado pelo Verify, pode-se implementar um serviço mediador ou um gateway de API para uma conversão simples, ou utilizar transformações de webhooks. Para saber mais sobre as transformações de webhooks, consulte a referência da API de configuração de webhooks.

Criando a configuração de integração de terceiros

Para cada integração de risco de terceiros, uma configuração precisa ser criada. Este objeto de configuração identifica os webhooks que são usados (ID do webhook) e os atributos internos do Verify. Os componentes internos do Verify devem enviar dados a terceiros para avaliação (por meio de webhooks em tempo real).

A estrutura de política de acesso fornece um conjunto de APIs, que permite a criação e o gerenciamento dessa configuração.

POST '/integrations/v1.0/config' \
'Content-Type: application/json' \
'Accept: application/json' \

{
        "WebhookId": "some-Webhook-id",
        "name": "some third party integration",
        "version": 1,
        "evaluationOutboundAttributes": {
            "sessionContext": {
                ...
            },
            "attributeContext": {
                ...
            },
            "policyContext": {
                ...
            },
            "adaptiveContext": {
                ...
            }
        },
        "supportedAttributes": [],
        "integrationProcessingEndpoint": {
            "redirectUri": ""
        }
}
Detalhes da solicitação de configuração de integração
Elemento Descrição
HTTP Request POSTAR.
Cabeçalho de HTTP - Content-Type O tipo de conteúdo da carga útil da é sem solicitação é sempre application/json.
Cabeçalho de HTTP - Accept O tipo de conteúdo que se espera da carga útil de resposta é sempre application/json.
payload Objeto JSON que representa a configuração de integração de terceiros.
WebhookId Obrigatório: O identificador exclusivo do webhook em tempo real utilizado durante a criação do provedor terceirizado.
name Obrigatório: o nome deste objeto de configuração.
version Versão para o objeto de configuração.
evaluationOutboundAttributes Opcional: esse objeto representa quais dados do Verify precisam ser passados para a integração de risco de terceiros disponível dos objetos de contexto relevantes, atualmente SessionContext (SubjectContext), AttributeContext, AdaptiveContext ou PolicyContext.
supportedAttributes Opcional: representa os atributos para os quais essa integração de terceiros fornece valores. Durante a orquestração do webhook, um novo atributo Fixed value é criado para representar o atributo retornado. O atributo Fixed value pode ser configurado com um valor predefinido que pode ser atualizado. Se uma chamada de webhooks falhar ou esse atributo não for retornado em uma resposta de webhooks apesar do contrato de API, o componente interno Verify responsável pelo gerenciamento de atributos pode ser chamado da mesma forma que os atributos customizados são preenchidos em tempo de execução para obter o valor pré-configurado. Crie o espaço reservado do atributo de enriquecimento (incluindo um valor padrão se ocorrer alguma exceção) se estiver usando os atributos que são suportados pela integração de terceiros. Veja Referência da API de gerenciamento de atributos.

Uma carga útil de resposta de configuração de integração de amostra:

{
        "id" : "config-id"
        "WebhookId": "some-Webhook-id",
        "referenceId": "reference-id",
        "created": "created timestamp",
        "name": "some third  integration",
        "version": 1,
        "evaluationOutboundAttributes": {
            "sessionContext": {
                ...
            },
            "attributeContext": {
                ...
            },
            "policyContext": {
                ...
            },
            "adaptiveContext": {
                ...
            }
        },
        "supportedAttributes": [],
        "integrationProcessingEndpoint": {
            "redirectUri": ""
        }
}
Detalhes da resposta de configuração de integração
Elemento Descrição
Tipo de carga útil Objeto JSON que representa a configuração de integração de terceiros.
Código de Status HTTP 201 - Criado (sucesso), 400® - Resposta inválida, 403 - Acesso negado, 500 - Erro interno do servidor
id Obrigatório: representa o ID exclusivo para este objeto de configuração.
referenceId Obrigatório: representa o ID de referência que é usado por componentes internos do Verify na comunicação com os webhooks.
created Obrigatório: representa o registro de data e hora de quando este objeto de configuração foi criado.
WebhookId Obrigatório: O identificador único do webhook em tempo real utilizado durante a criação do provedor terceirizado.
name Obrigatório: o nome deste objeto de configuração
version Opcional: versão para o objeto de configuração.
evaluationOutboundAttributes Opcional: se as solicitações originais foram enviadas com eles.
supportedAttributes Opcional: se as solicitações originais foram enviadas com eles.
integrationProcessingEndpoint Se as solicitações originais foram enviadas com eles.

Consulte Referência da API de configuração do Gerenciamento de risco para obter detalhes.

Um objeto de configuração de terceiros fictício:

{
    "WebhookId": "some-Webhook-id",
    "name": "some third party integration",
    "version": 1,
    "evaluationOutboundAttributes": {
        "sessionContext": {
            "uid": true,
            "groupIds": false
        },
        "attributeContext": {
            "appId": false,
            "ipAddress": true
        },
        "policyContext": {
            "id": true,
            "policyName": true
        },
        "adaptiveContext": {
            "city": true
        }
    },
    "supportedAttributes": [],
    "integrationProcessingEndpoint": {
        "redirectUri": ""
    }
}

Criando um objeto de política de acesso

A estrutura de política de acesso no Verify fornece um mecanismo pelo qual os componentes internos do Verify podem calcular o risco externo do provedor terceirizado. Os componentes internos do Verify avaliam esse objeto de política de acesso e consultam a configuração de integração de terceiros criada na Etapa 2 para enviar dados à integração de terceiros (por meio de webhooks em tempo real). Dessa forma, o risco externo ou o enriquecimento de atributos podem acontecer.

O formato para ativar a integração de risco de terceiros dentro do objeto da política de acesso:

{
      "name": "3rd Party Risk Evaluation",
      "alwaysRun": true,
      "conditions": [ {
        "type":"integrationAttributes":,
        "id" : "<configId>"
        }]
      },
      "result": {
        "action": "ACTION_MFA_ALWAYS",
        "serverSideActions": {[]},
        "authnMethods": <["urn:ibm:security:authentication:asf:macotp"]> or <["smsotp", "emailotp", ....]>
      }
    }
Atributo de condição Descrição
ID Integração de terceiro integração deconfigId terceiro configId, consulte Criando a configuração da integração de terceiro.
Resultado Verifique o resultado da avaliação de risco caso ocorra um erro nos webhooks em tempo real.
authnMethods Verificar fatores de autenticação.

Veja a API de políticas de acesso e risco para criação e gerenciamento de políticas.

Um exemplo de objeto de política de acesso que possui condição de integração de terceiros:

{
    "name": "3rd Party Integration via webhooks",
    "description": "",
    "rules": [
        {
            "id": "1",
            "name": "3rd party provider",
            "alwaysRun": true,
            "firstFactor": false,
            "conditions": [
                {
                    "type": "integrationAttributes",
                    "id": "16a1f2fb-c43f-4a0e-b294-1b25a87a9546"
                }
            ],
            "result": {
                "action": "ACTION_ALLOW",
                "serverSideActions": [],
                "authnMethods": [
                    "urn:ibm:security:authentication:asf:macotp"
                ]
            }
        },
        {
            "id": "1634292657617",
            "name": "Colour Severity",
            "description": "",
            "alwaysRun": false,
            "firstFactor": false,
            "conditions": [
                {
                    "type": "customAttributes",
                    "customAttributes": [
                        {
                            "name": "external_risk_score",
                            "opCode": "EQ",
                            "values": [
                                "4"
                            ]
                        }
                    ],
                    "firstFactor": false
                }
            ],
            "result": {
                "action": "ACTION_DENY",
                "serverSideActions": [],
                "authnMethods": []
            }
        },
        {
            "id": "1634292240488",
            "name": "Default rule",
            "description": "",
            "alwaysRun": false,
            "firstFactor": false,
            "conditions": [],
            "result": {
                "action": "ACTION_ALLOW",
                "serverSideActions": [],
                "authnMethods": [
                    "urn:ibm:security:authentication:asf:macotp"
                ]
            }
        }
    ],
    "meta": {
        "label": "initial policy",
        "state": "ACTIVE",
        "scope": [
            "developers"
        ],
        "schema": "urn:access:policy:5.0:schema",
        "enforcementType": "fedSSO"
    }
}
  • Este objeto de política de acesso mostra uma integração de risco de terceiros cuja configuração é identificada pelo campo id.
  • Além de integrationAttributes, a política também tem uma condição customAttributes. O atributo customizado external_risk_score é o atributo cujo valor é fornecido pela integração de risco do terceiro.

Após a criação do objeto de política de acesso, associe-o ao aplicativo do usuário desejado.