리소스 분리 및 액세스 제어

리소스 격리는 클라우드 리소스를 구성할 때 중요한 고려 사항입니다. 구획을 사용하면 리소스를 논리적으로 구성하고 비즈니스에 의미 있는 방식으로 리소스에 대한 액세스를 제어할 수 있습니다. 예를 들어, 회사의 각 부서에서 사용하는 리소스를 별도의 구획에 격리할 수 있습니다. 대신 네트워킹, 보안, 데이터베이스 또는 애플리케이션 개발과 같은 운영 기능으로 구획화할 수 있습니다. 또한 가상 클라우드 네트워크(VCN)를 사용하여 네트워크 계층에서 리소스를 격리할 수 있습니다.

조직의 현재 및 향후 보안 요구 사항을 염두에 두고 구획 및 VCN을 신중하게 계획해야 합니다. 이 문서의 권장 사항은 요구 사항을 충족하는 데 도움이 될 것입니다.

구획 및 태그를 사용하여 리소스 구성

엔터프라이즈 설계자, 보안 설계자, 애플리케이션 설계자

구획 및 태그는 액세스 제어를 위해 리소스를 구성하고 격리하는 데 유용한 도구입니다.
  • 특정 리소스 범주에 대한 구획을 생성 및 지정하고, 액세스가 필요한 사용자 그룹에만 리소스에 액세스할 수 있도록 IAM 정책을 작성합니다.
  • 운영 워크로드와 비운영 워크로드를 별도의 구획으로 분리합니다.
  • 하위 구획을 만들고 사용하여 추가 조직 계층에 대한 리소스를 격리합니다. 각 구획 레벨에 대해 별도의 정책을 작성합니다.
  • 권한이 부여된 사용자만 구획을 다른 상위 구획으로 이동하고 리소스를 한 구획에서 다른 구획으로 이동할 수 있습니다. 이 제한을 적용하는 데 적합한 정책을 작성합니다.
  • 컴파트먼트 레벨 할당량을 설정하여 컴파트먼트에 생성할 수 있는 각 유형의 리소스 수를 제한합니다.
  • 루트 구획 레벨에서 IAM 정책을 작성하지 마십시오.
  • IAM 정책에 컴파트먼트를 지정하여 인스턴스 주체가 관리할 수 있는 리소스를 제한합니다.
  • 리소스에 태그를 지정하여 비즈니스 요구사항에 따라 리소스를 구성하고 식별합니다.

역할 기반 액세스 제어 구현

Enterprise Architect, Security Architect, Application Architect

역할별로 권한을 지정하여 액세스를 제한합니다.
  • 구획 수준 정책을 작성하여 각 그룹의 사용자에 대한 액세스 권한을 액세스해야 하는 구획으로만 제한합니다.
  • 대상 리소스 및 필요한 액세스 권한 측면에서 가능한 한 세분화된 정책을 작성합니다.
  • 배치된 모든 작업 로드(예: 네트워크 관리 및 볼륨 관리)에 공통되는 작업을 수행할 수 있는 권한이 있는 그룹을 생성하고 해당 그룹에 적절한 관리자 사용자를 지정합니다.

컴퓨트 인스턴스에 사용자 인증서 저장 안함

Enterprise Architect, Security Architect, Application Architect

Oracle Cloud Infrastructure API를 호출하도록 컴퓨트 인스턴스에 권한을 부여하려면 사용자 인증서를 인스턴스에 저장하지 마십시오. 대신 인스턴스를 인스턴스 주체로 지정하십시오.

인스턴스가 자신을 인증하는 데 필요한 인증서는 자동으로 만들어지고 인스턴스에 지정되며 순환됩니다. 동적 그룹이라고 하는 논리적 집합에서 이러한 인스턴스를 그룹화하고 동적 그룹이 특정 리소스에 대해 특정 작업을 수행할 수 있도록 정책을 작성할 수 있습니다.

Oracle Cloud Infrastructure Vault를 사용하여 엄격한 액세스 제어를 통해 암호화 키를 관리하고 보호할 수 있습니다.

컴퓨트 인스턴스에 대한 로그인 액세스 강화

Enterprise Architect, Security Architect, Application Architect

컴퓨트 인스턴스에 로그인하는 데 보안 방법만 사용해야 합니다.
  • 표준 엔터프라이즈 로그인 솔루션이 있는 경우 암호 기반 로그인을 사용 안함으로 설정합니다.
  • 루트 로그인을 사용 안함으로 설정합니다.
  • SSH 키 기반 인증만 사용합니다.
  • SSH 키를 공유하지 마십시오. SSH 키 공유를 방지하려면 임시 SSH 키와 함께 Oracle Cloud Infrastructure Bastion을 활용합니다.
  • 네트워크 보안 그룹을 사용하여 소스 IP 주소를 기준으로 액세스를 제한합니다.
  • 불필요한 서비스를 비활성화합니다.
  • IAM ID 도메인이 있는 가상 머신에 대해 Linux PAM(Pluggable Authentication Module) 통합을 사용하는 것이 좋습니다.

안전한 리소스 간 액세스

Enterprise Architect, Security Architect, Application Architect

인스턴스를 주체로 지정하는 경우 해당 인스턴스에 대한 액세스 권한이 있는 사용자 및 그룹을 검토합니다. 적절한 사용자와 그룹만 액세스할 수 있는지 확인합니다.

네트워크 계층에서 리소스 분리

Enterprise Architect, Security Architect, Application Architect

가상 클라우드 네트워크는 Oracle Cloud Infrastructure의 리소스 간에 첫번째 레벨의 네트워크 격리를 제공합니다.
워크로드가 여러 개 있거나 부서/조직이 서로 다른 경우 각 VCN을 사용하여 네트워크 계층에서 리소스를 격리합니다.
필요한 경우 VCN 피어링을 사용합니다. DMZ(Demilitarized Zone) VCN을 사용하여 VCN 간 트래픽을 분석할 수 있습니다. 또한 공용(public) 액세스가 필요한 리소스를 평가한 후에는 공용(public) 및 전용(private) 서브넷을 주의 깊게 사용합니다.
  • 로드 밸런서를 활용하여 공개적으로 서비스를 노출하고 백엔드 대상을 전용 서브넷에 배치합니다.
  • 네트워크 보안 그룹을 활용하여 애플리케이션의 각 계층에 대해 애플리케이션 마이크로 세분화를 적용합니다.
  • VCN 내에서 동/서 트래픽이 필요한 허용 목록은 필요하지 않은 경우 트래픽 플로우를 허용하지 않습니다.
  • 허브 앤 스포크 네트워크 토폴로지에서 모든 스포크 VCN 트래픽을 DMZ(Demilitarized Zone) VCN으로 라우팅하고, OCI 네트워크 방화벽 또는 기타 네트워크 어플라이언스를 통해 라우팅하여 적절한 액세스를 보장합니다.

보안 영역 정의

Enterprise Architect, Security Architect, Application Architect

Security Zones은 잘못된 구성을 방지하기 위해 Oracle Cloud Infrastructure의 구획에 대한 기본 보안 정책을 적용합니다. 여기에는 클라우드 보안 상태 관리를 지원하는 정책 라이브러리 및 내장된 보안 모범 사례가 포함됩니다.
  • 자체 VCN 및 컴파트먼트의 프라이빗 서브넷에 운용 리소스에 대한 보안 정책을 사용으로 설정합니다.
  • 공용 서브넷을 사용하여 별도의 VCN에서 인터넷 연결 구성요소를 분리하고 로컬 피어링 게이트웨이를 사용하여 보안 영역 VCN에 연결합니다. 또한 Web Application Firewall을 추가하여 로드 밸런서와 같은 인터넷 연결 구성요소를 보호합니다.
  • Oracle Security Advisor를 사용하여 Security Zone에서 리소스를 쉽게 생성할 수 있습니다.