주:

여러 Oracle Cloud Infrastructure 테넌시의 로그를 중앙 Oracle Cloud Infrastructure 테넌시 버킷으로 중앙 집중화

소개

모든 로그가 서로 다른 테넌시에서 온 경우에도 한 곳에서 모든 로그를 중앙 집중화해야 하는 경우가 있습니다. 산업 규제 또는 회사 정부 정책 때문일 수 있습니다. 어떤 경우든 이를 달성하기 위해 다양한 관리 문제에 직면할 수 있습니다.

이 사용지침서에서는 OCI 크로스 테넌시 액세스 및 OCI 커넥터 허브 서비스를 사용하여 아카이빙 또는 시각화를 목적으로 중앙 테넌시에 따라 여러 OCI(Oracle Cloud Infrastructure) 테넌시에서 생성된 감사, 서비스 또는 사용자정의 로그를 중앙 집중화합니다.

아키텍처 다이어그램

아키텍처 다이어그램

주: 이 자습서에서는 모든 테넌시가 동일한 영역에 있어야 합니다.

목표

필요 조건

작업 1: 대상 테넌시에 정책 생성

다음 OCI IAM 정책은 OCI Object Storage 버킷이 상주하는 대상 테넌시(테넌시 C)에 구성됩니다.

  1. 테넌시 A에 대한 다음 정보를 검색합니다.

    • OCID
    • 구획 OCID - OCI 커넥터 허브가 배치됩니다.
  2. 테넌시 C에 대한 다음 정보를 검색합니다.

    • 버킷이 생성된 구획 이름입니다.
  3. 1단계 및 2단계에서 수집한 정보를 사용하여 다음 정책을 생성합니다.

    • 원격 테넌시를 정의합니다.

      define tenancy SCTenancyA as <Tenancy A OCID>
      

      주: 1단계에서 수집한 정보로 <Tenancy A OCID>를 업데이트합니다.

    • 원격 테넌시의 서비스 커넥터 주체가 로컬 구획의 버킷을 읽을 수 있도록 허용합니다.

      admit any-user of tenancy SCTenancyA to read buckets in compartment <Tenancy C Compartment name> where all { request.principal.type='serviceconnector', request.principal.compartment.id='<Tenancy A Compartment OCID>' }
      

      주: <Tenancy C Compartment name><Tenancy A Compartment OCID>를 해당 정보로 업데이트합니다.

    • 원격 테넌시의 서비스 커넥터 주체가 로컬 버킷에서 객체 검사 및 객체 생성 작업으로 제한된 객체를 관리할 수 있도록 허용합니다.

      admit any-user of tenancy SCTenancyA to manage objects in compartment <Tenancy C Compartment name> where all { request.principal.type='serviceconnector', request.principal.compartment.id=’ <Tenancy A Compartment OCID>' , any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT'}}
      

      참고:

      • 해당 정보로 <Tenancy C Compartment name><Tenancy A Compartment OCID>를 업데이트합니다.
      • 모든 리소스는 소스 또는 대상 구획의 범위에 있습니다. 배서, 입학 및 명세서 정의에 대한 자세한 내용은 배서, 입학 및 명세서 정의를 참조하십시오.
  4. OCI 콘솔에 로그인하고 ID 및 보안으로 이동한 후 정책을 누릅니다.

  5. 루트 구획에 있는지 확인하고 정책 생성을 누릅니다.

  6. 이름, 설명을 입력하고 수동 편집기 표시를 누릅니다.

  7. 작업 1.3에서 생성된 정책을 작성하고 생성을 누릅니다.

정책은 다음과 같습니다.

Policies_destination.

태스크 2: 소스 테넌시에 정책 생성

OCI 커넥터 허브가 배치될 각 소스 테넌시(테넌시 A 및 테넌시 B)에서 다음 OCI IAM 정책을 구성해야 합니다. OCI 커넥터 허브는 로그를 수집하여 중앙 저장소로 전송합니다.

  1. 테넌시 A에 대한 다음 정보를 검색합니다.

    • 구획 OCID - OCI 커넥터 허브가 배치됩니다.
  2. 테넌시 C에 대한 다음 정보를 검색합니다.

    • OCID
  3. 1단계 및 2단계에서 수집한 정보를 사용하여 다음 정책을 생성합니다.

    • 원격 테넌시를 정의합니다.

      Define tenancy OSTenancyC as <Tenancy C OCID>
      

      주: <Tenancy C OCID>를 해당 정보로 업데이트합니다.

    • 로컬 테넌시의 서비스 커넥터 주체가 대상 테넌시의 버킷을 읽을 수 있도록 허용합니다.

      endorse any-user to read buckets in tenancy OSTenancyC where all {request.principal.type = 'serviceconnector', request.principal.compartment.id='<Tenancy A Compartment OCID>' }
      

      주: <Tenancy A Compartment OCID>를 해당 정보로 업데이트합니다.

    • 로컬 테넌시의 서비스 커넥터 주체가 대상 테넌시의 객체 검사 및 객체 생성 작업으로 제한된 객체를 관리할 수 있도록 허용합니다.

      endorse any-user to manage objects in tenancy OSTenancyC where all {request.principal.type = 'serviceconnector', request.principal.compartment.id='<Tenancy A Compartment OCID>' , any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT'}}
      

      참고:

      • 해당 정보로 <Tenancy A Compartment OCID>를 업데이트합니다.
      • 모든 리소스는 소스 또는 대상 구획의 범위에 있습니다. 배서, 입학 및 명세서 정의에 대한 자세한 내용은 배서, 입학 및 명세서 정의를 참조하십시오.
  4. OCI 콘솔에 로그인하고 ID 및 보안으로 이동한 후 정책을 누릅니다.

  5. 루트 구획에 있는지 확인하고 정책 생성을 누릅니다.

  6. 이름, 설명을 입력하고 수동 편집기 표시를 누릅니다.

  7. 작업 2.3에 준비된 정책을 입력하고 생성을 누릅니다.

정책은 다음과 같습니다.

Policies_source.

작업 3: 소스 테넌시에 OCI 커넥터 허브 배치

OCI CLI를 사용하여 소스 테넌시(테넌시 A 및 테넌시 B)에 OCI 커넥터 허브를 배치합니다.

주: 다른 테넌시의 리소스에 액세스하는 커넥터를 생성하려면 OCI SDK, CLI 또는 API를 사용해야 합니다.

  1. 소스 테넌시의 OCI CLI(테넌시 A 및 테넌시 B)에 접속합니다. 이 사용지침서에서는 OCI Cloud Shell을 사용합니다. OCI Cloud Shell 사용 방법에 대한 자세한 내용은 Cloud Shell 사용을 참조하십시오.

  2. source.jsontarget.json라는 컨텐트가 있는 두 개의 파일을 생성합니다.

    • source.json: 소스 테넌시(테넌시 A 또는 테넌시 B)에서 로그 소스가 정의되며, 여기서 로그가 수집됩니다.

      다음 매개변수를 샘플 코드의 값으로 업데이트합니다.

      • <Tenancy A OCID where Audit log resides>
      • <Tenancy A Compartment OCID where log group resides>
      • <Tenancy A Log Group OCID>
      • <Tenancy A _Log-ID OCID_>
      {
      
      "kind": "logging",
      
      "logSources": [
      
      					{
      
      					"compartment-id": "_<Tenancy A OCID where Audit log resides>_",
      
      					"log-group-id": "_Audit_Include_Subcompartment",
      
      					"log-id": null
      
      					},
      
      					{
      
      					"compartment-id": "_<Tenancy A Compartment OCID where log group resides>_",
      
      					"log-group-id": _"<Tenancy A Log Group OCID>",_
      
      					"log-id": "<Tenancy A _Log-ID OCID_>"
      
      					}
      
      				]
      
      }
      

      주: 위의 source.json 샘플에는 두 개의 로그 소스가 있습니다. 첫번째 로그 소스는 루트 구획 및 모든 하위 구획에서 감사 로그를 수집하도록 OCI Connector Hub를 구성합니다. 두번째 작업은 log-idlog-group-id로 정의된 로그 그룹(예: 서브넷 로그)에서 특정 로그를 수집하도록 OCI 커넥터 허브를 구성합니다. 필요에 따라 이 구성에서 로그 소스를 추가하거나 제거할 수 있습니다.

    • Target.json: 로그를 아카이브할 대상 테넌시(테넌시 C)에서 버킷을 정의합니다.

      {
      			"kind": "objectStorage",
      			"bucketName": "<Tenancy C bucket name>",
      			"namespace": "<Tenancy C namespace where bucket was created>"
      }
      

      주: 버킷 세부정보에서 버킷 네임스페이스를 가져올 수 있습니다.

  3. 다음 명령을 실행합니다.

    oci sch service-connector create --compartment-id <Compartment OCID where SCH will be placed in Tenancy A> --display-name <Display name> --source file://Source.json --target file://Target.json
    

    주: source.jsontarget.json 파일에 액세스할 수 있어야 합니다.

    Connector_deployment.

  4. 필요에 따라 다른 모든 소스 테넌시에 대해 1-3단계를 반복합니다. 추가 OCI 커넥터 허브 대상 옵션은 ObjectStorageTargetDetails 참조를 참조하십시오.

  5. 결과를 확인합니다.

    • 소스 테넌시에는 정의된 소스 및 대상 버킷이 포함된 OCI 커넥터 허브가 생성됩니다.

      Connector_console.

    • 대상 버킷에는 각 OCI 커넥터 허브에 대한 항목이 포함됩니다.

      Bucket_Content.

확인

추가 학습 자원

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

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