주:
- 이 자습서에서는 Oracle Cloud에 액세스해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 자격 증명, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료했으면 이러한 값을 자신의 클라우드 환경과 관련된 값으로 대체하십시오.
Oracle Access Governance Event Data Publisher에서 OCI 스트림에 게시된 메시지 읽기
소개
이벤트 데이터 게시는 일회성 데이터를 내보내고 진행 중인 데이터 이벤트를 Oracle Cloud Infrastructure(OCI) 클라우드 계정과 같은 외부 시스템에 지속적으로 게시하는 프로세스입니다. Oracle Access Governance를 사용하면 ID, ID 모음, 정책, 리소스, 리소스 액세스 등의 데이터 이벤트를 일회성으로 내보내고 지속적으로 클라우드 테넌시에 게시할 수 있는 유연성을 확보할 수 있습니다. 이 데이터를 사용하여 인사이트를 도출하거나, 규정 준수를 위해 데이터를 저장하거나, 액세스 관리 및 거버넌스 데이터를 분석할 수 있습니다.
이벤트는 ID, 정책, 리소스 등과 같은 Oracle Access Governance 구성요소를 생성, 수정 또는 삭제할 때 발생하는 모든 데이터 상태 변경을 나타냅니다. 관리자는 Event Data Publisher를 사용하여 액세스 및 ID 데이터를 완벽하게 제어하고 이벤트 로깅을 자동화하고 규정 준수 보고를 간소화할 수 있습니다.
데이터 이벤트 게시 플로우는 일회성 익스포트에 OCI 버킷을 사용하고, 파일 크기에 따라 이후 업데이트를 OCI 스트림 또는 OCI 버킷에 게시합니다.
이 사용지침서에서는 Oracle Access Governance를 통해 OCI의 사용자 업데이트를 캡처하여 OCI 스트림에 게시하는 방법과 OCI Cloud Shell을 통해 스크립트를 사용하여 이러한 스트림 메시지를 소비 및 디코딩하는 방법을 안내합니다.
주: 이벤트 데이터 게시자는 ID, ID 모음, 정책 및 리소스 익스포트를 지원하지만 이 자습서에서는 ID에 대한 이벤트 캡처를 중점적으로 다룹니다.
셸 스크립트 개요
이 셸 스크립트의 목적은 OCI 스트림에 게시된 메시지를 검색하고 디코딩하는 것입니다. 이러한 메시지는 원시 형식으로 읽을 수 없게 만드는 방식으로 인코딩됩니다. 스크립트를 실행하면 사람이 읽을 수 있는 명확한 형식으로 메시지를 볼 수 있으므로 OCI 콘솔에서 중요한 정보가 사라진 후에도 중요한 정보에 액세스할 수 있습니다.
특히 이 스크립트는 지정된 OCI 스트림에서 메시지를 읽기 위한 시작점을 표시하는 커서를 생성합니다. 커서는 지정된 오프셋 및 테스트 스트림 메시지를 생성하여 패치(fetch)되는 값을 가진 분할 영역을 기반으로 합니다. 커서를 사용하여 스크립트는 OCI 스트림에서 메시지를 패치(fetch)합니다. 결국 스크립트는 검색된 각 메시지를 처리하고 디코딩합니다.
대상
Oracle Access Governance 및 Oracle Cloud Infrastructure Identity and Access Management(OCI IAM) 관리자.
목표
-
OCI 스트림에 대한 키 매개변수를 검색합니다.
-
콘솔에서 하나 이상의 OCI 유저에 대해 몇 가지 속성을 수정합니다.
-
OCI용 Oracle Access Governance에서 데이터 로드를 수행합니다.
-
스크립트를 실행하도록 OCI Cloud Shell 환경을 구성합니다.
-
스크립트를 실행하여 스트림 메시지를 읽습니다.
필요 조건
-
관리 권한이 있는 Oracle Access Governance 인스턴스입니다. 자세한 내용은 서비스 인스턴스 설정 및 애플리케이션 롤 정보를 참조하십시오.
-
Oracle Access Governance와 통합된 OCI 테넌시입니다. 자세한 내용은 Oracle Cloud Infrastructure(OCI) Identity and Access Management(IAM)와 통합을 참조하십시오.
-
Oracle Access Governance에서 OCI로 구성된 이벤트 데이터 게시자입니다. 자세한 내용은 Oracle Access Governance에서 이벤트 데이터 게시자 구성을 참조하십시오.
작업 1: OCI 스트림에 대한 키 매개변수 검색
이 작업에서는 OCI 콘솔에 로그인하여 스트림에 대한 키 매개변수를 검색합니다.
-
OCI 콘솔에 로그인하여 분석 및 AI, 메시징으로 이동하고 스트리밍을 누릅니다.
-
스트림이 위치한 컴파트먼트를 선택하고 스트림을 눌러 세부정보를 확인하십시오.
-
OCID 및 메시지 끝점 스트림에 대한 값을 기록해 둡니다.
-
테스트 메시지 생성을 누르고 샘플 메시지를 데이터로 입력하고 생성을 누릅니다. Success 메시지를 반환해야 합니다.
-
취소를 눌러 테스트 스트림 창을 닫습니다.
-
메시지 로드를 눌러 테스트 메시지를 확인합니다.
-
최근 메시지 섹션에서 분할 영역 및 오프셋 값을 기록해 둡니다.
작업 2: OCI에서 사용자 속성 업데이트
이 작업에서는 OCI의 사용자 속성을 변경합니다.
-
OCI 콘솔로 이동하고 ID 및 보안으로 이동한 다음 도메인을 누릅니다.
-
도메인을 선택하고 사용자를 누릅니다. 업데이트하려는 사용자를 누르고 사용자 편집을 누릅니다.
-
국가, 제목, 부서, 비용 부서, 사용자 유형, 직원 번호 등의 값을 업데이트합니다.
-
변경사항 저장을 누릅니다.
주: 원하는 경우 몇 명의 사용자를 더 업데이트할 수 있습니다.
작업 3: Oracle Access Governance에서 데이터 로드 수행
이 작업에서는 OCI 변경사항을 동기화하기 위해 Oracle Access Governance에서 데이터 로드를 수행합니다.
-
Oracle Access Governance에 로그인하고 서비스 관리 및 조정된 시스템으로 이동합니다.
-
OCI에 대한 조정 시스템을 찾아서 3점() 아이콘을 누르고 통합 관리를 선택합니다.
-
지금 데이터 로드를 누르고 데이터 로드가 완료될 때까지 기다립니다.
작업 4: 스트림에서 메시지를 캡처하기 위해 스크립트를 실행하도록 OCI Cloud Shell 구성
이 작업에서는 OCI Cloud Shell을 구성하고 제공된 스크립트를 사용하여 Oracle Access Governance에서 게시한 메시지를 디코딩합니다.
-
OCI 콘솔로 이동하여 오른쪽 상단 모서리에서 Cloud Shell을 누르고 클라우드 셸 창이 초기화될 때까지 기다립니다.
-
다음 매개변수를 초기화합니다.
export STREAM_OCID=<STREAM_OCID_VALUE> export ENDPOINT=<MESSAGES_ENDPOINT> export CURSOR_TYPE="AFTER_OFFSET" export PARTITION=<PARTITION> export OFFSET=<OFFSET>
-
스트림에 대한
STREAM_OCID
,ENDPOINT
,PARTITION
및OFFSET
매개변수를 작업 1에서 캡처된 값으로 바꿉니다. -
읽기를 위해 지정된 오프셋 값 이후에 생성된 모든 메시지를 포함하려면
CURSOR_TYPE
가AFTER_OFFSET
로 설정됩니다. 이 값은 수정하지 마십시오.주: 오프셋에 대한 샘플 값은 테스트 메시지에서 얻을 수 있지만 메시지를 캡처할 값을 선택해야 합니다. 이는
AFTER_OFFSET
와 같은CURSOR_TYPE
가 수행하는 작업입니다.
-
-
셸 스크립트 파일을 생성하고 실행 파일로 만듭니다.
touch ag-streaming.sh chmod u+x ag-streaming.sh
-
vi 편집기를 사용하여 스크립트를 엽니다.
vi ag-streaming.sh
-
i를 눌러 삽입 모드로 들어갑니다. 다음 내용을 붙여 넣은 다음 Esc 및 :wq!를 눌러 변경 사항을 저장합니다.
#!/bin/bash # Validate required environment variables required_vars=("STREAM_OCID" "ENDPOINT" "CURSOR_TYPE" "PARTITION" "OFFSET") for var in "${required_vars[@]}"; do if [ -z "${!var}" ]; then echo "Error: Environment variable $var is not set." exit 1 fi done # Create a cursor for the OCI Stream # echo "Creating a cursor for the OCI Stream..." oci streaming stream cursor create-cursor \ --partition "$PARTITION" \ --stream-id "$STREAM_OCID" \ --type "$CURSOR_TYPE" \ --offset "$OFFSET" \ --endpoint "$ENDPOINT" > cursor.json # Extract cursor value cursor=$(jq -r '.data.value' cursor.json) if [ -z "$cursor" ]; then echo "Error: Failed to retrieve cursor value." exit 1 fi # Read messages from the OCI Stream echo "Reading messages from the OCI Stream..." messages=$(oci streaming stream message get \ --stream-id "$STREAM_OCID" \ --cursor "$cursor" \ --endpoint "$ENDPOINT") # Check if messages were retrieved if [ -z "$messages" ] || ! echo "$messages" | jq -e '.data[] | select(.key != null)' > /dev/null 2>&1; then echo "No valid messages found." exit 1 fi # Extract and decode the data from messages echo "Processing messages..." # Extract and count the number of messages message_count=$(echo "$messages" | jq -r '.data[] | select(.key != null) | .value' | wc -l) echo "$messages" | jq -r '.data[] | select(.key != null) | .value' | while read -r value; do if [ -n "$value" ]; then counter=$((counter + 1)) echo echo "Decoding message $counter of $message_count..." # Base64 decode the message decoded_message=$(echo "$value" | base64 --decode 2>/dev/null || echo "Error decoding message") final_decoded_message=$(echo "$decoded_message" | base64 --decode 2>/dev/null || echo "Error decoding message further") # Print the decoded message echo "Decoded Message : $final_decoded_message" fi done
-
스크립트를 실행하고 출력 메시지를 파일로 재지정합니다. 예를 들어, messages_dump.txt가 사용됩니다. 또는 스크립트를 실행하여 콘솔에 메시지를 표시할 수 있습니다.
./ag-streaming.sh > messages_dump.txt
-
OCI Cloud Shell에서
messages_dump.txt
파일을 다운로드하여 이전에 생성된 사용자 업데이트에 대한 디코딩된 메시지를 확인합니다.
이 사용지침서에서는 Oracle Access Governance의 이벤트 데이터 게시자로부터 게시된 OCI 스트림에서 메시지를 읽는 방법을 배웠습니다. OCI Cloud Shell을 사용하여 OCI CLI(명령행 인터페이스)를 활용하여 지정된 오프셋을 기반으로 메시지를 읽는 방법을 확인했습니다. 이러한 메시지에는 OCI 사용자, 그룹, 리소스 및 정책 연관과 관련된 변경 사항이 포함되어 있으므로 감사, 준수 및 보고 측면에서 중요합니다.
다음 단계
이 튜토리얼을 마치면 Oracle Access Governance에서 OCI 스트림으로 게시된 데이터 이벤트 메시지의 콘텐츠를 분석할 수 있습니다. 선택적으로 추가 프로세스를 설정하여 감사 및 준수 요구 사항에 대한 이벤트 메시지를 분석할 수 있습니다. 또한 데이터를 스트림에서 자율 데이터 웨어하우스로 이동하여 고급 분석 및 시각화를 수행할 수 있습니다. 장기 스토리지를 위해 데이터를 OCI Object Storage로 이동하거나 Hadoop/Spark 작업을 실행할 수도 있습니다.
관련 링크
확인
- 작성자 - Anuj Tripathi(NA 솔루션 엔지니어링 수석 클라우드 아키텍트)
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Read Messages Published to an OCI Stream from Oracle Access Governance Event Data Publisher
G20550-01
November 2024