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:
- Criação de configuração de de webhooks
- Criação de configuração de integração de terceiros
- 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
}
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": ""
}
}
| 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": ""
}
}
| 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çãocustomAttributes. O atributo customizadoexternal_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.