[~ 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 | 설명 |
|---|---|---|---|---|
HTTP | TCP | 80 | 0.0.0.0/0 | QueryPie 웹 접속 Slack DM 서비스 |
outbound
Type | Protocol | Port range | Source | 설명 |
|---|---|---|---|---|
All Traffic | ALL | ALL | 0.0.0.0/0 |
|
Application Load Balancer
inbound
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 | 설명 |
|---|---|---|---|---|
All Traffic | ALL | ALL | 0.0.0.0/0 |
|
Okta Workflows
Workflows Template 다운로드
사전에 미리 제작된 Okta Workflows Template을 다운로드
(파일명 : querypieWorkflowsRequestForwardFlow.flow)
Okta Workflows 로 Template Import
Okta 관리자 콘솔 접속
Workflow>Workflows console클릭
Flows탭 >Folders내 flows를 저장할 폴더 확인 >⋮>↓ Import버튼 클릭다운로드한 flow 파일을 Drag and Drop 시 자동으로 해당 folder 로 import
Okta Workflows Configurations
생성된 Workflow를 클릭하여 내부 진입
Workflow template 좌측 기준 5번째 Text Function 인
Compose카드에서, url 스트링 내{{쿼리파이 도메인}}을 실제 쿼리파이 주소로 수정
QueryPie API Token 발급 및 등록
QueryPie GUI 접속 하여 Token 생성 및 Token 복사
맨 우측
Post카드 상단의Choose Connection클릭 >+ New connection클릭
위 QueryPie GUI 에서 복사한 API Token을 포함한 하기 항목을 입력 후
Create버튼 클릭Connection Nickname : 식별 가능한 커넥터 이름 기입
Auth Type : Custom
Header Name : Authorization
Header Value : 쿼리파이에서 복사한 API Token 값을 붙임
Okta Workflows 활성화
Save버튼을 클릭 >⏻ Flow is OFF클릭 > Flow is OFF → Flow is ON 으로 활성화
</>) > Invoke URL > copyWorkflow template 맨 좌측 API Endpoint 카드 하단의
</>버튼 클릭Slack App에 반영할
Invoke URL주소를copy버튼 클릭하여 복사
Slack API DM App 생성 (via Manifest Files)
Create an App클릭
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: falseYAML
Create클릭
Install to Workspace클릭
허용클릭
클릭 시 해당 Space 에 Slack DM 전용 App 생성 확인