주:
- 이 자습서에서는 Oracle Cloud에 액세스해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 자격 증명, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료했으면 이러한 값을 자신의 클라우드 환경과 관련된 값으로 대체하십시오.
OCI CLI를 통해 Oracle Data Safe 등록을 자동화하여 지속적인 데이터베이스 모니터링 간소화
소개
오늘날의 복잡한 위협 환경에서는 Oracle 데이터베이스에 대한 강력한 사이버 보안 태세를 유지하는 것이 필수적입니다. 지속적인 모니터링은 취약점, 잘못된 구성 및 잠재적 위협을 악용하기 전에 사전 예방적으로 식별하는 데 중요합니다. 사이버 위협이 더욱 정교해지고 타겟팅됨에 따라 규정 준수, 비정상적인 활동 및 무단 액세스에 대한 정기적인 평가가 점점 더 중요해지고 있습니다.
Oracle Data Safe 콘솔을 사용하여 Oracle Data Safe에 여러 데이터베이스를 수동으로 등록하는 것은 노동 집약적이고 시간이 많이 소요될 수 있습니다. 이 사용지침서에서는 OCI Cloud Shell 인터페이스 내에서 Oracle Cloud Infrastructure Command Line Interface(OCI CLI) 명령 및 스크립트를 사용하여 등록 프로세스를 자동화하는 간소화된 접근 방식을 제공하여 필요한 수작업과 시간을 크게 줄입니다.
대상
- 데이터베이스 관리자 및 OCI 보안 관리자
목표
-
OCI CLI를 사용하여 Oracle Data Safe 등록을 자동화하면 수작업을 줄이고 일관된 구성을 보장할 수 있습니다.
사용 사례: OCI CLI를 사용하여 Oracle Data Safe를 사용하여 모든 Oracle Database as a service(DBaaS) 등록 및 관리를 자동화합니다.
이 사용지침서에서는 OCI CLI를 사용하여 Oracle Data Safe에 Oracle Database as a service(DBaaS) 등록을 자동화하는 과정을 안내합니다. 간단한 예제를 통해 Oracle Data Safe 작업을 관리하는 특정 구획에 맞게 조정된 OCI CLI 명령에 초점을 맞춰 프로세스를 시연할 것입니다. 이 사용지침서는 또한 온프레미스 대상 데이터베이스 등록 절차를 적용하기 위한 참조로 사용될 수 있습니다. 자세한 내용은 Oracle 온프레미스 데이터베이스 등록을 참조하십시오.
전체 스크립트를 다운로드하려면 GitHub 저장소를 참조하십시오.
필요 조건
-
OCI Cloud Shell 액세스:
OCI Cloud Shell 사용을 시작하려면 먼저 Oracle Cloud Infrastructure Identity and Access Management(OCI IAM) 정책을 통해 사용자에게 액세스 권한을 부여해야 합니다. 자세한 내용은 OCI Cloud Shell을 참조하십시오.
액세스를 허용하는 OCI IAM 정책 예:
allow group <GROUP-NAME> to use cloud-shell in tenancy
도메인을 지정하려면
allow group <DOMAIN-NAME>/<GROUP-NAME> to use cloud-shell in tenancy
를 사용합니다. -
Oracle Data Safe에 대한 권한:
모든 Oracle Data Safe 리소스에 대한 사용자 그룹 권한을 부여합니다. 자세한 내용은 Oracle Data Safe 관리자 그룹 생성을 참조하십시오.
OCI IAM 정책 예:
Allow group Data-Safe-Admins to manage data-safe-family in tenancy
-
모든 대상 데이터베이스에서 Oracle Data Safe 서비스 계정을 생성합니다.
Oracle Data Safe에 대한 각 대상 데이터베이스에는 서비스 계정이 필요합니다. 자율운영 데이터베이스는 기본적으로 이를 포함하지만 자율운영 데이터베이스가 아닌 경우 수동으로 생성해야 합니다. 자세한 내용은 대상 데이터베이스에 Oracle Data Safe 서비스 계정 생성을 참조하십시오.
SQL 명령:
CREATE USER DATASAFEADMIN identified by password DEFAULT TABLESPACE "DATA" TEMPORARY TABLESPACE "TEMP"; GRANT CONNECT, RESOURCE TO DATASAFEADMIN;
참고:
- 비밀번호는 대문자, 소문자, 숫자 및 특수 문자를 포함하여 14자 이상이어야 합니다.
- SYSTEM 또는 SYSAUX 테이블스페이스를 사용하지 마십시오.
롤을 부여하려면 Oracle Data Safe 콘솔에서
datasafe_privileges.sql
스크립트를 다운로드하여 실행합니다. SYS로 스크립트를 실행합니다. 자세한 내용은 대상 데이터베이스의 Oracle Data Safe 서비스 계정에 롤 부여를 참조하십시오.샘플 스크립트 출력:
SQL> @datasafe_privileges.sql DATASAFEADMIN GRANT ALL Enter value for USERNAME (case sensitive matching the username from dba_users) Setting USERNAME to DATASAFEADMIN Enter value for TYPE (grant/revoke) Setting TYPE to GRANT Enter value for MODE (audit_collection/audit_setting/data_discovery/masking/assessment/all) Setting MODE to ALL Granting AUDIT_COLLECTION privileges to "DATASAFEADMIN" ... Granting AUDIT_SETTING privileges to "DATASAFEADMIN" ... Granting DATA_DISCOVERY role to "DATASAFEADMIN" ... Granting MASKING role to "DATASAFEADMIN" ... Granting ASSESSMENT role to "DATASAFEADMIN" ... Done. Disconnected from Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production Version 21.1.0.0.0 [oracle@dbcs21c ~]$
작업 1: OCI Cloud Shell 액세스
OCI Cloud Shell에 액세스하여 통합 기능을 활용합니다.
-
OCI 콘솔에 로그인합니다.
-
콘솔 헤더에서 Cloud Shell/Code Editor 아이콘을 누르고 드롭다운 메뉴에서 Cloud Shell을 선택합니다. OCI Cloud Shell에서 실행되는 OCI CLI는 OCI Cloud Shell이 시작될 때 콘솔의 지역 선택 메뉴에서 선택한 지역에 대해 명령을 실행합니다.
작업 2: 대상 데이터베이스에 대한 프라이빗 끝점 생성
Oracle Data Safe는 퍼블릭 또는 프라이빗 IP 주소를 사용하여 Oracle 데이터베이스에 대한 접속을 지원합니다. 전용 IP 주소가 있는 데이터베이스의 경우 Oracle Data Safe 프라이빗 끝점 또는 Oracle Data Safe 온프레미스 커넥터 중 두 가지 옵션이 있습니다. 이 자습서에서는 DBaaS 데이터베이스를 등록하기 위한 프라이빗 끝점을 생성하는 방법을 중점적으로 다룹니다.
스크립트 이름: generate_private_endpoints_and_commands_for_missing_vcns.sh
.
설명: 이 스크립트는 Oracle Data Safe 프라이빗 끝점이 없는 지정된 OCI 컴파트먼트의 VCN을 식별합니다. 누락된 VCN 및 연관된 서브넷을 나열하는 CSV 파일을 생성하고 각 VCN에 필요한 프라이빗 끝점을 생성하기 위해 OCI CLI 명령이 포함된 셸 스크립트를 생성합니다.
단계를 수행합니다:
-
사용자에게 컴파트먼트 OCID에 대한 프롬프트를 표시합니다.
-
Oracle Data Safe 프라이빗 끝점이 누락된 VCN을 식별합니다.
-
누락된 VCN 및 연관된 서브넷을 나열합니다.
-
누락된 VCN 및 서브넷의 세부정보와 함께
list_vcns_without_private_endpoints.csv
라는 CSV 파일을 생성합니다. -
식별된 VCN에 대한 프라이빗 끝점을 생성하기 위한 OCI CLI 명령이 포함된
create_private_endpoints_commands.sh
이라는 셸 스크립트를 생성합니다.
샘플 출력:
작업 3: JSON 형식으로 대상 데이터베이스 인증서 생성
이 사용지침서에서는 모든 대상 데이터베이스에서 단일 Oracle Data Safe 서비스 계정이 사용됩니다. 따라서 데이터베이스 인증서 JSON 파일은 모든 대상 데이터베이스에 대해 동일합니다.
스크립트 이름: generate_target_db_credentials.sh
.
설명: 이 스크립트는 사용자에게 사용자 이름과 비밀번호를 입력하라는 메시지를 표시한 다음 제공된 인증서를 포함하는 Credentials_Target_DBaaS.json
라는 JSON 파일을 생성합니다. JSON 파일은 대상 데이터베이스의 사용자 이름과 비밀번호를 안전하게 저장하는 데 사용됩니다.
단계를 수행합니다:
-
유저에게 Username을 입력하라는 메시지를 표시합니다.
-
사용자에게 비밀번호를 입력하라는 메시지를 표시합니다.
-
사용자 이름과 비밀번호를 포함하는
Credentials_Target_DBaaS.json
라는 JSON 파일을 생성합니다.
샘플 스크립트 출력:
작업 4: JSON 형식으로 프라이빗 끝점 접속 옵션 생성
스크립트 이름: generate_Connection_Options_private_endpoints.sh
.
설명: 이 스크립트는 OCI 컴파트먼트 내에 VCN, 서브넷 및 Oracle Data Safe 프라이빗 끝점을 나열하는 프로세스를 자동화합니다. 연관된 VCN 및 서브넷 이름을 포함하여 각 프라이빗 끝점에 대한 자세한 정보가 포함된 CSV 파일을 생성하고, Oracle Data Safe 접속 옵션을 정의하기 위해 각 끝점에 대해 개별 JSON 파일을 생성합니다.
단계를 수행합니다:
-
사용자에게 컴파트먼트 ID를 묻습니다.
-
모든 VCN을 나열하고 출력을
vcn_list.txt
에 저장합니다. -
모든 서브넷을 나열하고 출력을
subnet_list.txt
에 저장합니다. -
모든 Oracle Data Safe 프라이빗 끝점을 나열하고 출력을
PE_list.txt
에 저장합니다. -
각 프라이빗 끝점에 대한 세부정보가 포함된
list_All_private_endpoints_details.csv
라는 CSV 파일을 생성합니다. -
Oracle Data Safe 접속 옵션을 지정하려면 각 프라이빗 끝점에 대한 JSON 파일을 생성합니다.
샘플 스크립트 출력:
작업 5: Oracle Data Safe에 자율운영 데이터베이스 등록
Secure Access from Everywhere에 Oracle Autonomous Database Serverless를 등록할 때는 기본적으로 연결 옵션을 선택하거나 서비스 계정 세부정보를 지정할 필요가 없습니다. 이 사용지침서에서는 Oracle Autonomous Database Serverless를 관리하고 등록하는 방법을 보여줍니다.
스크립트 이름: generate_Autonomous_database_details_with_data_safe.sh
.
설명: 이 스크립트는 OCI 컴파트먼트에 Oracle Autonomous Databases를 나열하고 해당 Oracle Data Safe 등록 상태를 확인하는 프로세스를 자동화합니다. 모든 Oracle Autonomous Databases의 세부 정보가 포함된 CSV 파일을 생성하고 Oracle Data Safe에 등록되지 않은 데이터베이스에 대한 JSON 파일을 생성합니다. 또한 이 스크립트는 등록되지 않은 각 데이터베이스에 대해 Oracle Data Safe 등록 명령을 준비하고 이를 셸 스크립트에 저장합니다. 따라서 사용자는 생성된 명령을 실행하여 등록되지 않은 데이터베이스를 빠르게 등록할 수 있습니다.
단계를 수행합니다:
-
컴파트먼트 ID를 묻는 프롬프트를 표시합니다.
-
Oracle Autonomous Database 세부정보가 포함된 CSV 파일을 생성합니다.
-
등록되지 않은 데이터베이스에 대한 JSON 파일을 생성합니다.
-
셸 스크립트에서 Oracle Data Safe 등록 명령을 준비합니다.
-
등록 명령을 실행하여 데이터베이스를 등록합니다.
샘플 스크립트 출력:
작업 6: Oracle Data Safe에 Oracle Cloud 데이터베이스 등록
스크립트 이름: generate_Cloud_database_details_with_data_safe.sh
.
설명: Oracle 클라우드 데이터베이스 세부정보 및 해당 프라이빗 끝점의 추출 및 처리를 자동화하여 JSON 구성 파일을 생성하고 Oracle Data Safe에 대한 등록 명령을 생성합니다.
단계를 수행합니다:
-
컴파트먼트 ID를 묻는 프롬프트를 표시합니다.
-
DBaaS 데이터베이스를 나열하고
Output1.txt
에 저장합니다. -
VM 클러스터 ID 및 데이터베이스 시스템 ID가 누락된 데이터베이스에 대한 서브넷 ID를 추가합니다.
-
결과를
Oracle_Cloud_Databases_Details.csv
에 저장합니다. -
프라이빗 끝점을 나열하고
Datasafe_Private-Endpoint_List.txt
에 저장합니다. -
각 PDB 이름에 대한 JSON 파일을 생성합니다.
-
Datasafe_CloudDB_Registration_Commands.sh
에서 등록 명령을 만듭니다.
샘플 스크립트 출력:
작업 7: 보안 및 사용자 평가 일정 업데이트
대상 데이터베이스에 대한 최신 보안 및 사용자 평가를 OCI의 지정된 컴파트먼트에 자동으로 저장하도록 일정을 구성할 수 있습니다. 자세한 내용은 보안 평가 일정 잡기 및 사용자 평가 일정 잡기를 참조하십시오.
스크립트 이름: generate_datasafe_assessment_schedules.sh
.
설명: 이 셸 스크립트는 Oracle Data Safe 대상 데이터베이스 검색, 해당 보안 및 사용자 평가, OCI에 대한 업데이트 일정 생성 프로세스를 자동화하도록 설계되었습니다. 이 스크립트는 사용자에게 컴파트먼트 ID를 묻고, Oracle Data Safe에서 활성 대상 데이터베이스를 검색하고, 두 개의 업데이트 일정 스크립트를 생성합니다. 하나는 보안 평가용이고 다른 하나는 사용자 평가용입니다.
단계를 수행합니다:
-
컴파트먼트 ID를 묻는 프롬프트를 표시합니다.
-
구획 ID를 입력합니다.
-
활성 대상 나열:
Datasafe_Active_TargetDB_list.txt
에 저장합니다. -
평가 검색:
Datasafe_Active_TargetDBs.txt
에 세부정보를 추가합니다. -
스크립트 생성:
schedule_security_assessments.sh
및schedule_user_assessments.sh
를 생성합니다.
샘플 스크립트 출력:
작업 8: 대상 데이터베이스에 대한 감사 로그 수집 시작
Target Database가 등록되면 Oracle Data Safe는 사용 가능한 Audit Trail을 자동으로 감지하고 각 Target Database에 대해 해당하는 Audit Trail 리소스를 생성합니다. 감사 추적 수집이 시작되면 Oracle Data Safe는 모니터링 및 분석을 위해 대상 데이터베이스의 감사 레코드를 해당 저장소로 복사합니다. 감사 데이터 수집은 필요에 따라 시작하거나 정지하여 제어할 수 있습니다. 자세한 내용은 감사 추적을 참조하십시오.
스크립트 이름: Generate_DataSafe_Audit_Collection_Scripts.sh
.
설명: Generate_DataSafe_Audit_Collection_Scripts.sh
스크립트는 Oracle Data Safe 대상 데이터베이스에 대한 감사 추적 데이터 수집 프로세스를 자동화합니다. 사용자에게 컴파트먼트 ID 및 감사 추적 수집 시작 시간을 묻고, NOT_STARTED 상태의 감사 추적을 검색하고, 모든 대상 데이터베이스에 대해 감사 추적 수집을 시작하는 단일 셸 스크립트를 생성합니다.
단계를 수행합니다:
-
컴파트먼트 ID 입력: 사용자에게 OCI 컴파트먼트 ID를 묻습니다.
-
시작 시간 입력: 감사 수집 시작 시간을
YYYY-MM-DD
형식으로 표시합니다. -
감사 추적 인출: OCI에서 NOT_STARTED 상태의 감사 추적을 검색합니다.
-
CSV 생성: 관련 감사 추적 데이터를
audit_trails.csv
로 추출합니다. -
스크립트 생성: 모든 대상에 대한 감사 수집을 시작하는 명령으로
Data_safe_Target_DB_Audit_Collection_Start.sh
를 생성합니다.
샘플 스크립트 출력:
작업 9: Oracle Data Safe 인벤토리 준비
스크립트 이름: generate_data_safe_db_inventory.sh
.
설명: 이 셸 스크립트는 OCI와 상호 작용하여 AUTONOMOUS_DATABASE, DATABASE_CLOUD_SERVICE 및 INSTALLED_DATABASE 유형에 따라 Oracle Data Safe 대상 데이터베이스 정보를 검색하고 처리합니다. 각 데이터베이스 유형에 대한 세부 정보를 가진 출력 파일을 생성합니다.
단계를 수행합니다:
-
입력 컴파트먼트 ID: 사용자에게 데이터베이스가 있는 컴파트먼트 ID를 입력하라는 메시지를 표시합니다.
-
데이터베이스 나열 및 필터: 지정된 컴파트먼트의 모든 Oracle Data Safe 대상 데이터베이스를 나열하고 유형별로 필터링합니다.
-
데이터베이스 세부정보 검색:
-
AUTONOMOUS_DATABASE: 표시 이름, 데이터베이스 ID 및 기반 구조 유형과 같은 세부정보를 검색합니다.
-
DATABASE_CLOUD_SERVICE: 데이터베이스 시스템 ID, VM 클러스터 ID(널 값 처리) 및 리스너 포트와 같은 세부정보를 검색합니다.
-
INSTALLED_DATABASE: 인스턴스 ID, IP 주소 및 서비스 이름을 포함한 정보를 검색합니다.
-
-
출력 파일 생성: 수집된 세부 정보를 사용하여 각 데이터베이스 유형에 대해 별도의 파일을 생성합니다.
-
정리: 임시 파일을 제거하고 출력을 완료합니다.
샘플 스크립트 출력:
관련 링크
확인
-
작성자 - Alex Kovuru(Principal Cloud Architect)
-
제공자 - Indiradarshni Balasundaram(클라우드 엔지니어)
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Streamline Continuous Database Monitoring by Automating Oracle Data Safe Registration with OCI CLI
G15075-01
September 2024