Use Oracle API Access Control with Oracle Exadata Database Service on Cloud@Customer and Oracle Exadata Database Service on Dedicated Infrastructure

소개

Oracle API Access Control을 통해 고객은 Oracle Exadata Database Service on Dedicated Infrastructure 및 Oracle Exadata Database Service on Cloud@Customer로 노출된 REST API에 대한 액세스를 관리할 수 있습니다. 특정 API를 권한 있는 API로 지정하면 고객은 해당 API를 호출할 때 테넌시 내의 승인된 그룹의 사전 승인이 필요하도록 보장할 수 있습니다.

또한 Oracle API Access Control은 Oracle Cloud Infrastructure(OCI) 기술을 활용하여 특정 워크플로를 적용함으로써 감사 통합을 지원합니다.

개인이 권한 있는 작업을 수행하기 위해 액세스를 요청하고, 승인자는 작업을 검토하고 승인하며, 이후 OCI 제어 플레인에서 특수 승인 리소스를 승인된 상태로 전환합니다. 이를 통해 요청자는 대상 리소스에 API를 전송하고 원하는 작업을 수행할 수 있습니다.

주요 이점:

목표

Oracle Exadata Database Service on Cloud@Customer용 Oracle API Access Control 서비스를 구성하고 운영합니다. Oracle Exadata Database Service on Dedicated Infrastructure와 유사한 지침이 적용됩니다.

필수 조건

작업 1: OCI 테넌시에서 유저 및 그룹 설정

Oracle API Access Control의 첫 번째 단계는 OCI 테넌시 내에서 사용자 및 그룹을 설정하는 것입니다. 두 번째 단계는 이러한 사용자 및 그룹이 제어를 구성하고 요청을 관리하는 것입니다.

  1. OCI 콘솔에 로그인하고 기본 ID 도메인 내의 ID 및 보안으로 이동합니다.

  2. 유저 및 그룹을 생성합니다. 이름이 ExaCC Approver인 사용자가 구성되었으며 이 사용자는 ExaCC-API-Approver-grp 그룹의 멤버입니다.

    이미지 1: 사용자 그룹

작업 2: Oracle API 액세스 제어에 대한 OCI IAM 정책 구성

이 작업에서 Oracle API 액세스 제어 서비스가 작동할 수 있도록 OCI IAM 정책을 구성하고 ExaCC-API-Approver-grp 그룹이 서비스를 관리하도록 합니다. 이 예제에 제공된 정책 문을 사용하면 서비스가 작동할 수 있습니다. OCI IAM 정책 구문은 세분화된 제어를 제공하므로 업무를 추가로 분리할 수 있습니다.

Oracle API Access Control에 대한 OCI IAM 정책 예:

allow group <admin_group/approver_group/managers> to manage privileged-api-family in tenancy
allow any-user TO use database-family IN tenancy where ALL { request.principal.type in ('pactlprivilegedapirequest', 'pactlprivilegedapicontrol') }
allow any-user TO use ons-topics IN tenancy where ALL { request.principal.type in ('pactlprivilegedapirequest', 'pactlprivilegedapicontrol') }
allow group <admin_group/approver_group/managers> to use database-family in tenancy
allow group <admin_group/approver_group/access_request_group> to read domains in tenancy
allow group <admin_group/approver_group/access_request_group> to inspect compartments in tenancy
allow group <admin_group/approver_group/access_request_group> to use ons-topics in tenancy

이미지 2: 정책

승인자 그룹은 데이터베이스 패밀리를 사용할 수 있어야 하지만 관리할 필요는 없습니다. 또한 승인 그룹은 도메인을 읽고, 구획을 검사하고, OCI Notification 주제를 통지에 사용할 수 있어야 합니다.

OCI IAM 정책에 대한 자세한 내용은 리소스 유형 및 위임 액세스 제어 정책 정보를 참조하십시오.

작업 3: 리소스 제어

Oracle API Access Control 및 해당 정책을 적용한 상태에서 Oracle API Access Control 사용자로 로그인하여 리소스를 제어할 수 있습니다.

  1. OCI 콘솔로 이동하고 Oracle Database, API 액세스 제어로 이동한 다음 권한 있는 API 제어 생성을 누릅니다.

    이미지 3: CreateAPI 제어

  2. 컴파트먼트(ExaCC)를 선택하고 새 콘트롤을 생성합니다.

  3. 컨트롤에 대한 이름설명을 입력합니다.

  4. 리소스 유형 선택: 이 자습서를 보려면 Exadata 인프라를 선택합니다.

    • OCI 또는 Oracle Multicloud의 Oracle Exadata Database Service on Dedicated Infrastructure용 Exadata Cloud Infrastructure.
    • Exadata Infrastructure for Oracle Exadata Database Service on Cloud@Customer.

    이미지 4: CreateAPI 통제

  5. Exadata 인프라 컴파트먼트 선택: Exadata 인프라는 별도의 컴파트먼트(eccw-infrastructure)에 있습니다.

  6. Exadata 인프라 선택: 제어할 인프라는 eccw-infrastructure입니다.

  7. 인프라에 대해 제어할 API를 선택합니다.

    예:

    • Infrastructure 삭제를 보호할 수 있습니다.
    • VM(가상 머신) 클러스터의 경우 업데이트, 삭제, VM 추가/제거 및 구획 변경을 보호할 수 있습니다.
    • VM 클러스터 업데이트의 경우 CPU 코어 수 변경(자동 스케일링 소프트웨어에 영향을 미침) 또는 SSH 공개 키와 같은 다양한 속성을 권한 있는 것으로 선택할 수 있습니다.
    • 다음을 제어할 수도 있습니다.
      • 데이터베이스 홈 API(예: 삭제)
      • 가상 머신 API(예: 콘솔 연결 업데이트 및 만들기)
      • 크기 조정, 업데이트 및 삭제를 포함한 VM 클러스터 네트워크 API
      • 컨테이너 데이터베이스 API: 삭제, 투명한 데이터 암호화 키 관리 키 교체, 업데이트 및 업그레이드를 포함합니다.
      • 플러거블 데이터베이스 시작/중지, 새로고침, 업데이트 및 삭제와 같은 작업이 포함된 플러거블 데이터베이스 API 이 예에서는 CPU 코어 수(7a) 변경 및 CDB 삭제(7b)에 대한 제어를 적용하려고 합니다.

    주: 지정된 제어는 초기 제어가 생성된 후 수정할 수 있지만 수정하려면 Oracle API 액세스 제어 승인 프로세스도 필요합니다.

  8. 승인 정보에서 승인 정보에 대해 IAM 정책 사용을 선택합니다. ID 도메인이 있는 테넌시에서 작업하는 경우 필수입니다.

  9. 선택적으로, 특히 민감한 시스템에 대해 두번째 승인을 요구할 수 있으며, 액세스 요청을 승인하려면 두 개의 개별 ID가 필요합니다.

  10. 통지 토픽 선택: 액세스 요청 통지에 대한 OCI 통지 토픽을 선택하고 생성을 눌러야 합니다. 컨트롤을 만든 후 온라인 상태가 되려면 몇 분 정도 걸립니다.

    다음 이미지는 OCI 통지 토픽 생성, 구독 생성 및 구성을 보여줍니다.

    이미지 5: 항목

    이미지 6: 가입

참고: OCI 감사 레코드는 리소스가 상주하는 구획에 연결됩니다. 따라서 ExaCC 컴파트먼트에서 이 Oracle API 액세스 제어를 생성할 때 API 제어의 수명 주기 관리와 관련된 감사 레코드를 찾을 수 있습니다. eccw-infrastructure 컴파트먼트에 있는 Exadata 인프라에 대한 업데이트는 해당 감사 레코드가 eccw-infrastructure 컴파트먼트에 표시됩니다.

작업 4: API 제어 적용 시연

API가 시스템을 제어하는 방법을 설명하려면 다음 단계를 수행하십시오.

  1. OCI 콘솔에 infra-db-admin-user 유저로 로그인합니다.

  2. Cloud at Customer의 Oracle Database Service를 선택합니다.

  3. 가상 머신 클러스터Exadata 인프라를 선택합니다.

  4. Oracle API 액세스 제어가 사용으로 설정된 eccw-cl3 VM 클러스터가 표시됩니다.

  5. 메뉴에서 직접 VM당 ECPU 수를 변경하려고 시도하면 현재 리소스에 대해 허용되지 않으므로 작업이 거부됩니다.

    이미지 7: ECPU 크기 조정

  6. 마찬가지로, 데이터베이스를 종료하려고 하면 작업이 허용되지 않습니다.

  7. OCI 콘솔에서 감사 레코드를 확인합니다.

    1. 관찰가능성 및 경영으로 이동합니다.

    2. 로깅을 선택하고 감사를 누릅니다.

    3. ExaCC 구획을 선택합니다.

    4. PUTPOST와 같은 작업 또는 상태 변경에 대한 감사

    eccw-infrastructure 컴파트먼트에서 Oracle API 액세스 제어 승인 검사가 요청을 실패했음을 나타내는 Not Found (404) 오류가 표시됩니다.

    이미지 8: ECPU 감사 확장

작업 5: 액세스 요청 생성 및 승인

  1. OCI 콘솔로 이동하여 Oracle Database로 이동하고 API Access Control을 누릅니다.

  2. CPU 코어 수 업데이트 요청을 생성할 수 있는 권한 있는 액세스 요청 생성을 누릅니다.

    1. 컴파트먼트: ExaCC 컴파트먼트를 선택합니다.

    2. 티켓 번호: 티켓에 대한 참조를 추가합니다(자유 형식 텍스트).

    3. 리소스 유형: 리소스 유형은 VM 클러스터입니다.

    4. 권한 있는 작업 선택: VM 클러스터 cpuCoreCount 업데이트 요청입니다. 필요한 경우 단일 액세스 창에 더 많은 작업을 추가할 수 있습니다.

      이미지 9: 액세스 요청 생성

    5. 계획된 유지 관리를 위해 또는 즉시 미래 일자에 대한 액세스를 요청할 수 있습니다.

    6. 통지 항목 선택: 통지를 받을 항목을 선택하고 생성을 누릅니다.

      이미지 10: 액세스 요청 생성

    액세스 요청이 생성된 컴파트먼트에서 올림됨 상태로 표시됩니다.

    이미지 11: 액세스 요청 생성

    직접 승인하려고 하면 다른 사용자가 승인해야 함을 나타내는 오류가 표시됩니다.

  3. ExaCC Approver 승인자 사용자로 시스템에 액세스합니다. 컴파트먼트에서 액세스 요청을 확인할 수 있습니다.

    이미지 12: 승인 요청

    ExaCC-API-Approver-grp 멤버에게 전자메일 통지가 전송됩니다.

    이미지 13: 전자 메일 통지

  4. 제기된 요청에 액세스할 수 있습니다.

    이미지 14: 승인 요청

  5. UpdateVmCluster cpuCoreCount에 대한 요청을 검토하고 요청을 즉시 승인하거나 미래 시간을 선택하십시오.

    이미지 15: 승인 요청

    이미지 16: 승인 요청

  6. 액세스 요청이 승인되면 VM 클러스터 리소스로 돌아가서 VM당 ECPU 수를 업데이트합니다. 이제 시스템에서 VM당 ECPU 수 변경을 허용합니다.

작업 6: 승인된 작업 감사

감사 관점에서

  1. OCI 콘솔로 이동하여 관찰 가능성 및 관리로 이동하고 감사를 선택합니다.

  2. Oracle API 액세스 제어 액세스 요청이 구성된 컴파트먼트로 이동합니다. POSTsPUTs를 참조하십시오.

  3. infra-db-admin-user 유저가 Oracle API Access Control 액세스 요청을 생성했음을 확인할 수 있습니다.

    이미지 17: 승인 대기 중인 감사

  4. 직접 승인하려고 하면 잘못된 요청(400)이 표시됩니다.

    이미지 18: 자체 승인

    이미지 19: 자체 승인

  5. ExaCC Approver가 액세스 요청을 승인했음을 확인할 수 있습니다.

    이미지 20: 감사 승인됨

마찬가지로, eccw-infrastructure 컴파트먼트를 볼 때 승인 후 발생한 VM 클러스터에 대한 업데이트가 관찰됩니다. API가 전송됨을 나타내는 VM 클러스터 업데이트 시작API 액세스 제어 검사가 승인됨을 확인할 수 있습니다.

작업 7: Oracle API 액세스 제어 요청 취소

Oracle API 액세스 제어 요청은 제출한 사람 또는 승인자가 취소할 수 있습니다. 요청이 취소되면 작업 수행 시도가 허용되지 않습니다.

eccw-infrastructure 컴파트먼트의 감사 관점에서 PUTPOST 메소드를 확인할 수 있습니다. 승인 후 허용된 VM 클러스터 업데이트와 액세스 요청이 승인되지 않아 발생한 VM 클러스터 업데이트에 대한 실패가 표시됩니다. 액세스 요청 자체의 수명 주기 관리를 검토할 때 요청이 개설된 시기, 자체 승인에 대한 400 오류 및 다른 사용자의 성공적인 승인을 확인할 수 있습니다.

이미지 21: 취소

이미지 22: 취소

작업 8: 컨트롤 편집 또는 제거

태스크 9: 통제 삭제에 대한 최종 감사 완료

제어 삭제에 대한 감사 관점

이미지 25: 최종 감사

승인

추가 학습 자원

docs.oracle.com/learn에서 다른 랩을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer가 되십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.