웹훅 구성

웹훅을 사용하면 IBM Cloud® Internet Services 계정에서 특정 이벤트가 발생하면 외부 시스템으로 실시간 알림을 보낼 수 있습니다. 웹훅을 알림 정책과 통합하면 타사 서비스에서 응답을 자동화하거나 워크플로를 트리거할 수 있습니다.

IBM Cloud 콘솔, CLI 또는 API를 사용하여 웹훅을 구성할 수 있습니다.

알림 및 웹후크는 Enterprise 요금제에서만 사용할 수 있습니다.

콘솔에서 웹훅 구성하기

콘솔에서 웹훅을 구성하려면 계정 페이지로 이동하여 알림 탭을 선택합니다. 경보 섹션에서 웹훅 탭을 선택하십시오.

콘솔에서 웹훅 만들기

  1. 작성을 클릭하십시오.
  2. 웹훅의 이름을 입력하십시오.
  3. 웹훅 URL을 입력하십시오. URL 은 업데이트할 수 없으므로 변경하려면 웹훅을 삭제하고 다시 만들어야 합니다.
  4. 웹훅 시크릿을 입력하십시오. 비밀번호는 업데이트할 수 없으므로 변경하려면 웹훅을 삭제하고 다시 만들어야 합니다.

콘솔에서 웹훅 편집하기

콘솔에서 웹훅을 편집하려면 업데이트하려는 웹훅의 이름 옆에 있는 편집 아이콘을 클릭합니다. 웹훅의 이름만 편집할 수 있습니다. 웹훅을 수정해야 하는 경우 웹훅을 편집하는 대신 삭제하고 다시 만드는 것이 좋습니다.

콘솔에서 웹훅 삭제하기

콘솔에서 웹훅을 삭제하려면 삭제하려는 웹훅의 작업 메뉴 작업 아이콘을 클릭한 다음 삭제를 선택합니다. 확인 창에서 삭제를 선택합니다.

CLI에서 웹훅 구성하기

CLI에서 웹훅 만들기

CLI에서 웹훅을 만들려면 다음 명령을 실행합니다:

ibmcloud cis alert-webhook-create --name NAME --url URL [--secret SECRET] [-i, --instance INSTANCE] [--output FORMAT]

여기서:

  • --name value: 웹훅의 이름입니다.
    • -url 값은 알림이 발송될 때 호출할 POST 엔드포인트입니다.
  • --secret 값 은 웹훅 알림이 전송될 때 웹훅 인증 헤더에 전달되는 비밀입니다.
  • -i, --instance value: 인스턴스 이름 또는 ID입니다. 설정하지 않으면 'cis 인스턴스-설정된 인스턴스'로 지정된 컨텍스트 인스턴스가 사용됩니다.
  • --output value: 출력 형식을 지정하며 JSON만 지원됩니다.

CLI에서 모든 웹훅 나열하기

CLI에서 웹훅을 나열하려면 다음 명령을 실행합니다.

ibmcloud cis alert-webhooks [-i, --instance INSTANCE] [--output FORMAT]

여기서:

  • -i, --instance value: 인스턴스 이름 또는 ID입니다. 설정하지 않으면 'cis 인스턴스-설정된 인스턴스'로 지정된 컨텍스트 인스턴스가 사용됩니다.
  • --output value: 출력 형식을 지정하며 JSON만 지원됩니다.

CLI에서 웹훅에 대한 세부 정보 가져오기

CLI에서 웹훅에 대한 세부 정보를 얻으려면 다음 명령을 실행합니다:

ibmcloud cis alert-webhook WEBHOOK_ID [-i, --instance INSTANCE] [--output FORMAT]

여기서:

  • WEBHOOK_ID: 웹훅의 ID입니다.
  • -i, --instance value: 인스턴스 이름 또는 ID입니다. 설정하지 않으면 'cis 인스턴스-설정된 인스턴스'로 지정된 컨텍스트 인스턴스가 사용됩니다.
  • --output value: 출력 형식을 지정하며 JSON만 지원됩니다.

CLI에서 웹훅 업데이트하기

CLI에서 웹훅을 업데이트하려면 다음 명령을 실행합니다:

ibmcloud cis alert-webhook-update WEBHOOK_ID [--name NAME] [--url URL] [--secret SECRET] [-i, --instance INSTANCE] [--output FORMAT]

여기서:

  • WEBHOOK_ID: 웹훅의 ID입니다.
  • --name value: 웹훅의 이름입니다.
    • -url 값은 알림이 발송될 때 호출할 POST 엔드포인트입니다.
  • --secret 값 은 웹훅 알림이 전송될 때 웹훅 인증 헤더에 전달되는 비밀입니다.
  • -i, --instance value: 인스턴스 이름 또는 ID입니다. 설정하지 않으면 'cis 인스턴스-설정된 인스턴스'로 지정된 컨텍스트 인스턴스가 사용됩니다.
  • --output value: 출력 형식을 지정하며 JSON만 지원됩니다.

CLI에서 웹훅 삭제하기

CLI에서 웹훅을 삭제하려면 다음 명령을 실행합니다:

ibmcloud cis alert-webhook-delete WEBHOOK_ID [-i, --instance INSTANCE] [-f, --force]

여기서:

  • WEBHOOK_ID: 웹훅의 ID입니다.
  • i, --instance value: 인스턴스 이름 또는 ID입니다. 설정하지 않으면 'cis 인스턴스-설정된 인스턴스'로 지정된 컨텍스트 인스턴스가 사용됩니다.
  • -f, --force: 확인 프롬프트를 표시하지 않고 웹훅을 삭제하려고 합니다.

API로 웹훅 구성하기

이러한 메소드를 호출하려면 하나 이상의 IAM 액세스 역할이 지정되어야 합니다.

  • internet-svcs.zones.read
  • internet-svcs.zones.update

사용자 > 이름 > 액세스 정책으로 이동하여 액세스를 확인할 수 있습니다.

API로 웹훅 만들기

웹훅 알림을 만드는 과정은 2단계로 이루어집니다. 먼저 웹훅을 작성한 다음 수신한 응답에 있는 ID를 사용하여 경보를 작성합니다.

API를 사용하여 웹훅을 만들려면 다음 단계를 따르세요:

  1. 올바른 변수로 API 환경을 설정하십시오.

  2. API 명령에 사용할 다음 변수를 저장합니다:

    • crn: 서비스 인스턴스의 전체 URL 인코딩 CRN
    • name: 웹훅의 이름입니다.
    • url: 웹훅의 URL입니다.
    • secret 웹훅을 사용하는 데 필요한 선택적 비밀 또는 API 키입니다.
  3. 모든 변수가 시작되면 다음 명령을 실행하여 웹훅을 만듭니다:

    curl -X POST
    https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks
      -H 'content-type: application/json'
      -H 'x-auth-user-token: Bearer xxxxxx'
      -d '{"name":"Example
    Webhook","url":"https://hooks.slack.com/services/Ds3fdBFbV/456464Gdd"}'
    

다음과 같은 응답이 반환됩니다:

{
  "result": {
    "id": "6d16fcab-3e80-44b3-b59b-a3716237832e"
  },
  "success": true,
  "errors": [],
  "messages": []
}

받은 응답에 있는 ID를 사용하여 알림을 만듭니다:

curl -X POST \
https://api.cis.cloud.ibm.com/v1/:crn/alerting/policies \
  -H 'content-type: application/json' \
  -H 'x-auth-user-token: Bearer xxxxxx' \
  -d '{"name":"Example Policy","enabled":true,"alert_type":"dos_attack_l7","mechanisms":{"email":[{"id":"cistestemail@ibm.com"}],"webhooks": [{"id": "6d16fcab3e8044b3b59ba3716237832e"}]}}'

API로 모든 웹훅 나열하기

API가 있는 모든 웹훅을 나열하려면 다음 단계를 따르세요:

  1. 올바른 변수로 API 환경을 설정하십시오.

  2. API 명령에 사용할 다음 변수를 저장합니다:

    • crn: 서비스 인스턴스의 전체 URL 인코딩 CRN
  3. 모든 변수가 초기화되면 웹훅 목록을 가져오십시오.

    curl -X GET
    https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks
      -H 'content-type: application/json'
      -H 'accept: application/json'
      -H 'x-auth-user-token: Bearer xxxxxx'
    

API로 웹훅에 대한 세부 정보 가져오기

API를 사용하여 웹훅의 세부 정보를 얻으려면 다음 단계를 따르세요:

  1. 올바른 변수로 API 환경을 설정하십시오.

  2. API 명령에 사용할 다음 변수를 저장합니다:

    • crn: 서비스 인스턴스의 전체 URL 인코딩 CRN
    • webhook_id: 경보 웹훅 ID입니다.
  3. 모든 변수가 초기화되면 웹훅 세부사항을 가져오십시오.

    curl -X GET
    https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks/:webhook_id
      -H 'content-type: application/json'
      -H 'accept: application/json'
      -H 'x-auth-user-token: Bearer xxxxxx'
    

API로 웹훅 업데이트하기

API로 웹훅을 업데이트하려면 다음 단계를 따르세요:

  1. 올바른 변수로 API 환경을 설정하십시오.

  2. API 명령에 사용할 다음 변수를 저장합니다:

    • crn: 서비스 인스턴스의 전체 URL 인코딩 CRN
    • webhook_id: 경보 웹훅 ID입니다.
    • name: 웹훅의 이름입니다.
    • url: 웹훅의 URL입니다.
    • secret 웹훅을 사용하는 데 필요한 선택적 비밀 또는 API 키입니다.
  3. 모든 변수가 초기화되면 웹훅을 업데이트하십시오.

    curl -X PUT
    https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks/:webhook_id
      -H 'content-type: application/json'
      -H 'x-auth-user-token: Bearer xxxxxx'
      -d '{"name":"Example Webhook","url":"https://hooks.slack.com/services/Ds3fdBFbV/456464Gdd"}'
    

API로 웹훅 삭제하기

API를 사용하여 웹훅을 삭제하려면 다음 단계를 따르세요:

  1. 올바른 변수로 API 환경을 설정하십시오.

  2. API 명령에 사용할 다음 변수를 저장합니다:

    • crn: 서비스 인스턴스의 전체 URL 인코딩 CRN
    • webhook_id: 경보 웹훅 ID입니다.
  3. 모든 변수가 초기화되면 웹훅을 삭제하십시오.

    curl -X DELETE
    https://api.cis.cloud.ibm.com/v1/:crn/alerting/destinations/webhooks/:webhook_id
      -H 'content-type: application/json'
      -H 'accept: application/json'
      -H 'x-auth-user-token: Bearer xxxxxx'