일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- devops
- VAGRANT
- Terraform Cloud
- vm
- 자격증
- MIG
- cicd
- CentOS
- AWS
- Google Cloud Platform
- 우테캠
- cloud
- Uptime Check
- docker
- direnv
- cloud function
- github
- 보안 규칙
- interconnect
- Java
- terraform
- pub/sub
- Python
- kubernetes
- cloud armor
- vpc peering
- gcp
- Clean Code
- 후기
- IAM
- Today
- Total
EMD Blog
Cloud 모니터링의 알림 채널을 Pub/Sub으로 설정할 경우 데이터 암호화 이슈 본문
Cloud 모니터링의 알림 채널을 Pub/Sub으로 설정해 알림 메세지를 게시하면 Cloud Functions에서 메세지 내용 확인 시 데이터가 암호화되어 있는 것을 볼 수 있다.
모니터링 알림 스키마 구조
https://cloud.google.com/monitoring/support/notification-options#pubsub 위 문서에서 중간쯤 보면 스키마 구조와 설명이 적혀있다.
하지만 메세지를 출력해보면 아래와 같이 나온다. (검은색으로 칠해진 부분은 base64 데이터이다.)
즉, 아래구조로 출력된다. ( Message ID와 Publish Time은 Pub/Sub에서 생성)
{
data : string,
messageId: string,
message_id : string,
publishTime : string
publish_time : string
}
이 이슈는 모니터링 알림이 Pub/Sub에 알림 메세지를 게시할 때 내부적으로 REST API를 사용하기 때문인데 아래 문서를 보면 REST API요청 시 데이터는 base64로 인코딩 되어야 한다고 나와있다.
https://cloud.google.com/pubsub/docs/publisher#message_format
또한 Pub/Sub은 메세지에 Messge ID, 타임스탬프 데이터를 붙여서 전달한다고 적혀있다. 그래서 Cloud Functions가 데이터를 받았을 때는 위와 같은 모양새가 되어있는 것이다. 아래 문서를 API문서를 참고.
https://cloud.google.com/pubsub/docs/reference/rest/v1/PubsubMessage
중요한 것은 Pub/Sub뿐만 아니라 다른 Google의 다른 API들도 아래 문서에 나와 있는 “유형 및 형식” 규칙을 따른다. 형식(format)은 실제 속성, 유형(type)은 JSON으로 표현하기 위해 대체로 사용할 속성을 말한다. format이 없는 애들은 유형이 실제 속성이다. 아래 문서를 참고해 API문서에서 값을을 변환해 사용하면 된다. (ex 유형이 string이고 형식이 int64인 필드가 존재한다면 해당 데이터는 string형식으로 데이터를 전달해 주지만 우리가 사용할 때는 int64로 변환해 사용하면 된다.)
https://developers.google.com/discovery/v1/type-format
base64로 인코딩된 데이터는 디코딩하면 위 스키마 구조대로 나오니 변환해서 사용하면 된다.
'Public Cloud > GCP' 카테고리의 다른 글
Proxy Server MIG 구성 이슈 (0) | 2022.09.04 |
---|---|
스테이트풀 MIG 구성 시 오토스케일링 중지 설정 이슈 (0) | 2022.09.04 |
Cloud Function을 배포하고 Pub/Sub으로 호출했을때 Push 안되는 이슈 (0) | 2022.09.04 |
GCP Cloud Function을 Pub/Sub 트리거로 구성 시 구독 네이밍 이슈 (0) | 2022.09.04 |
Cloud Monitoring에서 Uptime Check 설정 시 IP 변동 이슈 (0) | 2022.09.04 |