써드파티 평가 사용 시작하기

IBM® Verify 및 써드파티 위험 평가를 통합하려면 Verify 관리자가 다음 컴포넌트 및 프레임워크를 구성해야 합니다.

  1. 웹훅 구성 작성
  2. 써드파티 통합 구성 작성
  3. 써드파티 위험 API 계약과 함께 액세스 정책 오브젝트 작성

웹훅 구성 작성

실시간 웹훅 구성은 타사 위험 제공업체와 연결해야 합니다. 실시간 웹후크는 Verify와 타사 위험 공급자 서비스 간의 기술적 런타임 통합을 제공합니다. 타사 리스크를 계산하려면 먼저 실시간 웹훅 구성을 완료해야 합니다.

타사 위험 제공업체를 지원할 수 있는 가상의 실시간 웹훅 구성입니다:

{
  "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
}
참고: 써드파티 통합이 Verify에서 예상하는 형식으로 응답을 제공하는 데 실패하는 경우 단순 변환을 위해 중개자 서비스 또는 API 게이트웨이를 구현하거나 웹훅 변환을 사용할 수 있습니다. 웹훅 변환에 대해서는 웹훅 구성 API 참조를 참조하십시오.

써드파티 통합 구성 작성

모든 써드파티 위험 통합에 대해 구성을 작성해야 합니다. 이 구성 오브젝트는 사용되는 웹훅(웹훅 ID) 및 Verify 내부 속성을 식별합니다. 내부 구성 요소 확인은 실시간 웹훅을 통해 평가를 위해 타사에 전송해야 합니다.

액세스 정책 프레임워크는 이 구성의 작성 및 관리를 허용하는 API 세트를 제공합니다.

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": ""
        }
}
통합 구성 요청 세부사항
요소 설명
HTTP 요청 POST.
HTTP 헤더 - Content-Type 요청 페이로드의 컨텐츠 유형은 항상 application/json입니다.
HTTP 헤더 - Accept 응답 페이로드에 대해 예상되는 컨텐츠 유형은 항상 application/json입니다.
페이로드 써드파티 통합 구성을 나타내는 JSON 오브젝트입니다.
WebhookId 필수입니다: 타사 공급자를 생성하는 동안 사용되는 실시간 웹훅의 고유 식별자입니다.
name 필수: 이 구성 오브젝트의 이름입니다.
version 구성 오브젝트의 버전입니다.
evaluationOutboundAttributes 선택사항: 이 오브젝트는 관련 컨텍스트 오브젝트(현재 SessionContext(SubjectContext), AttributeContext, AdaptiveContext 또는 PolicyContext)에서 사용 가능한 써드파티 위험 통합에 전달되어야 하는 Verify 데이터를 나타냅니다.
supportedAttributes 선택사항: 이 써드파티 통합이 값을 제공하는 속성을 나타냅니다. 웹훅 오케스트레이션 중에 리턴된 속성을 나타내기 위해 새 Fixed value 속성이 작성됩니다. Fixed value 속성은 업데이트할 수 있는 사전 정의된 값으로 구성될 수 있습니다. 웹훅 호출이 실패하거나 API 계약에도 불구하고 해당 속성이 웹훅 응답에 리턴되지 않는 경우 사전 구성된 값을 가져오기 위해 런타임 시 사용자 정의 속성이 채워지는 것과 동일한 방식으로 속성 관리를 담당하는 Verify 내부 구성요소를 호출할 수 있습니다. 써드파티 통합에서 지원되는 속성을 사용하는 경우 강화 속성 플레이스홀더(일부 예외가 발생하는 경우 기본값 포함)를 작성하십시오. 속성 관리 API 참조를 참조하십시오.

샘플 통합 구성 응답 페이로드:

{
        "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": ""
        }
}
통합 구성 응답 세부사항
요소 설명
페이로드 유형 써드파티 통합 구성을 나타내는 JSON 오브젝트입니다.
HTTP 상태 코드 201-생성됨(성공), 400®-잘못된 응답, 403-금지됨, 500-내부 서버 오류
id 필수: 이 구성 오브젝트의 고유 ID를 나타냅니다.
referenceId 필수: Verify 내부 구성요소에서 웹훅과 통신하는 데 사용하는 참조 ID를 나타냅니다.
created 필수: 이 구성 오브젝트가 작성된 시간소인을 나타냅니다.
WebhookId 필수입니다: 타사 제공업체를 생성하는 동안 사용되는 실시간 웹훅의 고유 식별자입니다.
name 필수: 이 구성 오브젝트의 이름입니다.
version 선택사항: 구성 오브젝트의 버전입니다.
evaluationOutboundAttributes 선택사항: 원래 요청이 함께 전송된 경우.
supportedAttributes 선택사항: 원래 요청이 함께 전송된 경우.
integrationProcessingEndpoint 원래 요청이 함께 전송된 경우.

세부사항은 위험 관리 구성 API 참조를 참조하십시오.

가상의 써드파티 구성 오브젝트:

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

액세스 정책 오브젝트 작성

Verify의 액세스 정책 프레임워크는 Verify 내부 구성요소가 써드파티 제공자의 외부 위험을 계산할 수 있는 메커니즘을 제공합니다. 내부 구성 요소 확인은 이 액세스 정책 개체를 평가하고 2단계에서 만든 타사 연동 설정을 참조하여 실시간 웹훅을 통해 타사 연동으로 데이터를 전송합니다. 이러한 방식으로 외부 위험 또는 속성 강화가 발생할 수 있습니다.

액세스 정책 오브젝트 내에서 써드파티 위험 통합을 사용으로 설정하기 위한 형식:

{
      "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", ....]>
      }
    }
조건 속성 설명
ID 써드파티 통합configId 써드파티 통합 configId, 써드파티 통합 구성 작성을 참조하십시오.
result 실시간 웹훅에서 오류가 발생하면 위험 평가 결과를 확인합니다.
authnMethods Verify 인증 요소입니다.

정책 작성 및 관리를 위한 액세스 및 위험 정책 API를 참조하십시오.

써드파티 통합 조건이 있는 액세스 정책 오브젝트의 예는 다음과 같습니다.

{
    "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"
    }
}
  • 이 액세스 정책 오브젝트는 구성이 id 필드로 식별되는 써드파티 위험 평가를 보여줍니다.
  • integrationAttributes 이외에 정책에는 customAttributes 조건도 있습니다. 사용자 정의 속성 external_risk_score는 써드파티 위험 통합에서 값을 제공하는 속성입니다.

액세스 정책 오브젝트가 작성된 후 이를 원하는 사용자 애플리케이션에 첨부하십시오.