[~ 10.2.5] QueryPie On AWS x Slack DM x Okta Workflows 통합 구성

[~ 10.2.5] QueryPie On AWS x Slack DM x Okta Workflows 통합 구성

Overview

Prod 망을 폐쇄망 형태로 운영하면서, 슬랙 DM 기능의 사용을 요구하는 고객사를 대상으로 해당 모델을 제공하기 위한 최소한의 가이드를 제공한다.

 

 

전체 구성도

구성 절차

AWS 환경 구성 → Okta Workflows → Slack API DM App 생성 (via Manifest Files) 순으로 구성을 안내합니다.

구성 시 사전에 필요한 권한

  • Okta Workflows

    • Super Administrator 권한 계정

    • Core License 이상의 라이선스 및 가용 할 수 있는 WorkFlows 스페어

  • QueryPie

    • Owner 및 Approval Admin 권한 계정

  • Slack API

    • Administrator 권한 계정

AWS 환경 구성

필요 시 해당 링크 참조하여 아래 항목 중 VPC 구성에 필요한 항목을 선택하여 생성합니다.

  • VPC

  • Subnets

  • Internet Gateways

  • NAT Gateways

  • Route tables

  • Security Group

Security Group

해당 기능을 사용하기 위해, 기존 Security Group 에서 추가 해야 하는 정책들을 아래 안내합니다.

EC2 instance

inbound

Type

Protocol

Port range

Source

설명

Type

Protocol

Port range

Source

설명

HTTP

TCP

80

0.0.0.0/0

QueryPie 웹 접속

Slack DM 서비스

outbound

Type

Protocol

Port range

Source

설명

Type

Protocol

Port range

Source

설명

All Traffic

ALL

ALL

0.0.0.0/0

 

Application Load Balancer

inbound

Type

Protocol

Port range

Source

설명

Type

Protocol

Port range

Source

설명

HTTPS

TCP

443

Okta IP Address Allow Lists

https://help.okta.com/en-us/content/topics/security/ip-address-allow-listing.htm 링크 참조

HTTP

TCP

80

QueryPie EC2 SG

QueryPie 웹 접속

Slack DM 서비스

outbound

Type

Protocol

Port range

Source

설명

Type

Protocol

Port range

Source

설명

All Traffic

ALL

ALL

0.0.0.0/0

 

Okta Workflows

Workflows Template 다운로드

image-20240116-041542.png
Chequer Okta Workflows 템플릿 다운로드 페이지
  • 사전에 미리 제작된 Okta Workflows Template을 다운로드
    (파일명 : querypieWorkflowsRequestForwardFlow.flow)

Okta Workflows 로 Template Import

image-20240116-015119.png
Workflow > Workflows console

 

  • Okta 관리자 콘솔 접속

  • Workflow > Workflows console 클릭

image-20240116-025335.png
Flows > Folders 선택 > ⋮ > ↓ Import
  • Flows 탭 > Folders 내 flows를 저장할 폴더 확인 > > ↓ Import 버튼 클릭

  • 다운로드한 flow 파일을 Drag and Drop 시 자동으로 해당 folder 로 import

Okta Workflows Configurations

image-20240116-042459.png
image-20240116-042656.png
Compose > {{쿼리파이 도메인}}
  • 생성된 Workflow를 클릭하여 내부 진입

  • Workflow template 좌측 기준 5번째 Text Function 인 Compose 카드에서, url 스트링 내 {{쿼리파이 도메인}}을 실제 쿼리파이 주소로 수정

QueryPie API Token 발급 및 등록

image-20240116-044324.png
Settings > General Settings > System > API Token > + Create API Token
  • QueryPie GUI 접속 하여 Token 생성 및 Token 복사

image-20240116-043051.png
Post > Choose Connection > + New connection
image-20240116-043327.png
Choose Connection

 

image-20240116-043425.png
+ New connection

 

  • 맨 우측 Post 카드 상단의 Choose Connection 클릭 > + New connection 클릭

image-20240116-051406.png
  • 위 QueryPie GUI 에서 복사한 API Token을 포함한 하기 항목을 입력 후 Create 버튼 클릭

    • Connection Nickname : 식별 가능한 커넥터 이름 기입

    • Auth Type : Custom

    • Header Name : Authorization

    • Header Value : 쿼리파이에서 복사한 API Token 값을 붙임

Okta Workflows 활성화

image-20240116-052010.png
  • Save 버튼을 클릭 > ⏻ Flow is OFF 클릭 > Flow is OFF → Flow is ON 으로 활성화

image-20240116-052220.png
API Endpoint > API endpoint settings (</>) > Invoke URL > copy
  • Workflow template 맨 좌측 API Endpoint 카드 하단의 </> 버튼 클릭

  • Slack App에 반영할 Invoke URL 주소를 copy 버튼 클릭하여 복사

Slack API DM App 생성 (via Manifest Files)

https://api.slack.com/apps
  • From an app manifest 클릭

  • Slack App 을 생성하고 Alert 또는 DM 을 보낼 Workspace 를 선택

  • App manifest 를 작성. 기재된 내용들을 삭제하고 JSON 또는 YAML 형식의 아래 내용을 복사해서 붙여넣기 진행

  • 붙여넣기 후 request_url의 부분에 Okta Workflows API endpoint settings 에서 복사한 Invoke URL을 작성

  • Next 클릭

{ "display_information": { "name": "QueryPie Workflow Slack DM App", "description": "Slack DM App", "background_color": "#000000" }, "features": { "bot_user": { "display_name": "QueryPie Workflow Slack DM App", "always_online": false } }, "oauth_config": { "scopes": { "bot": [ "chat:write", "users:read", "users:read.email" ] } }, "settings": { "interactivity": { "is_enabled": true, "request_url": "{QueryPie URL}/api/slack/callback" }, "org_deploy_enabled": false, "socket_mode_enabled": false, "token_rotation_enabled": false } }

JSON

display_information: name: QueryPie Workflow Slack DM App description: Slack DM App background_color: "#000000" features: bot_user: display_name: QueryPie Workflow Slack DM App always_online: false oauth_config: scopes: bot: - chat:write - users:read - users:read.email settings: interactivity: is_enabled: true request_url: {QueryPie URL}/api/slack/callback org_deploy_enabled: false socket_mode_enabled: false token_rotation_enabled: false

YAML

image-20240115-220447.png
  • Create 클릭

image-20240115-220835.png
Settings > Basic Information
  • Install to Workspace 클릭

image-20240115-221520.png
  • 허용 클릭

image-20240115-221618.png
  • 클릭 시 해당 Space 에 Slack DM 전용 App 생성 확인

References

Slack DM 개인 알림 사용하기

[내부망] Slack DM Workflow 결재 처리 결과 전달하기