보안
이 페이지의 내용
Atlas는 사용자 권한을 관리할 수 있는 시스템을 조직, 프로젝트 및 데이터베이스 수준에서 제공합니다. Atlas Stream Processing은 스트림 처리 작업에 특화된 추가 역할과 권한을 통해 이 시스템을 확장하며, 특정 스트림 처리 인스턴스로 사용자 권한을 제한하는 기능도 제공합니다.
조직 및 프로젝트 액세스
사용자는 프로젝트 수준에서 스트림 처리 인스턴스 및 관련 연결 레지스트리를 관리합니다. Atlas Stream Processing은 이러한 목적을 위한 Project Stream Processing Owner
역할을 제공합니다. 이 역할을 가진 사용자는 모든 스트림 처리 인스턴스 또는 연결 레지스트리 관리 작업을 수행하고, 프로젝트 내에서 데이터베이스 및 데이터베이스 사용자를 관리할 수 있습니다. 이 역할을 사용자에게 할당하면 최소 권한 원칙에 따라 기능에 불필요한 권한을 부여하지 않고도 Atlas Stream Processing 프로젝트를 구성하는 데 필요한 모든 작업을 수행할 수 있습니다.
필요한 경우 Project Owner
또는 Organization Owner
역할이 있는 사용자로서 Project Stream Processing Owner
역할이 승인한 조치를 수행할 수 있습니다.
스트림 처리 인스턴스 액세스
데이터베이스 사용자는 Atlas 클러스터에 액세스 하는 것과 마찬가지로 기존 스트림 처리 인스턴스에 액세스 하고 스트림 프로세서를 관리할 수 있습니다. 데이터베이스 사용자에게 할당된 역할 및 작업은 스트림 처리 인스턴스 내의 스트림 프로세서에서 수행할 수 있는 작업을 결정합니다. Atlas Stream Processing은 다음과 같은 권한 작업을 제공합니다.
processStreamProcessor
createStreamProcessor
startStreamProcessor
stopStreamProcessor
dropStreamProcessor
listStreamProcessors
sampleStreamProcessor
streamProcessorStats
listConnections
필요한 데이터베이스 사용자 또는 사용자 지정 역할 에 이러한 권한 작업을 정확히 할당할 수 있습니다. 또는 atlasAdmin
또는 readWriteAnyDatabase
을(를) 가진 데이터베이스 사용자가 이러한 모든 작업을 수행할 수 있습니다.
Networking
Atlas Stream Processing은 Apache Kafka와 같은 Atlas 클러스터와 외부 스트리밍 데이터 소스에 대한 연결을 지원합니다. Atlas 내의 연결에는 수동 구성이 필요하지 않습니다. 외부 스트리밍 데이터 소스에 연결하려면 외부 스트리밍 데이터 소스의 액세스 목록에 Atlas IP 주소를 추가해야 합니다.
필요한 Atlas IP 주소를 식별하려면 다음 명령을 실행하세요.
curl -H 'Accept: application/vnd.atlas.2023-11-15+json' -s \ 'https://cloud.mongodb.com/api/atlas/v2/unauth/controlPlaneIPAddresses'
그러면 제공자 및 리전별로 그룹화된 사용 가능한 Atlas IP 주소 목록이 반환됩니다. 대상 스트림 처리 인스턴스가 배포된 제공자-리전 쌍의 모든 아웃바운드 IP 주소를 식별하고 이를 외부 데이터 소스의 액세스 목록에 추가합니다. 자세한 내용은 Atlas Control Plane에 대한 액세스 허용을 참조하세요.
외부 스트리밍 데이터 소스에 대한 연결을 구성할 때 공용 IP 주소를 통한 액세스 또는 VPC 피어링 연결을 선택할 수 있습니다. 자세한 내용은 연결 레지스트리에 연결 추가를 참조하세요.
특정 Atlas Stream Processing 인스턴스에 대한 액세스 제한
기본적으로 Atlas Stream Processing 권한 작업이 있는 사용자는 모든 Atlas Stream Processing 인스턴스에서 관련 작업을 수행할 수 있습니다. 이러한 권한의 적용을 특정 Atlas Stream Processing 인스턴스로 제한할 수 있습니다.
AtlasGo Atlas 에서 프로젝트 의 Database Access 페이지로 고 (Go) 합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Security 제목 아래의 Database Access를 클릭합니다.
데이터베이스 액세스 페이지가 표시됩니다.
권한을 수정하려는 사용자의 행에서 Edit 를 클릭합니다.
모달 창에서 Restrict Access to Specific Clusters /Federated Database Instances/Stream Processing Instances 레이블이 지정된 스위치를 켜기로 전환합니다.
사용자에게 권한을 부여하려는 Atlas Stream Processing 인스턴스의 이름을 찾습니다. 이름 옆의 확인란을 선택하여 해당 Atlas Stream Processing 인스턴스에 대한 권한을 사용자에게 부여합니다. 해당 Atlas Stream Processing 인스턴스에 대한 사용자 권한을 거부하려면 확인란을 선택 취소합니다.
실행 프로필
Atlas 데이터베이스에 연결할 때 사용하는 데이터베이스 사용자 역할을 $source
또는 $merge
싱크로 구성할 수 있습니다. 이렇게 하면 Atlas Stream Processing 인스턴스 및 해당 연결을 구성하는 상승된 권한 의 자격 증명을 통해 Stream Processing 관련 데이터베이스 사용자가 해당 데이터베이스를 호스팅하는 클러스터에 간접적으로 액세스하지 못하도록 할 수 있습니다.Atlas Atlas user
참고
최소 권한 원칙에 따라 사용자가 원하는 작업을 수행하는 데 필요한 권한만 있는 사용자 지정 역할을 정의합니다.
AtlasGo Atlas 에서 프로젝트 의 Stream Processing 페이지로 고 (Go) 합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Services 제목 아래의 Stream Processing를 클릭합니다.
스트림 처리 페이지가 표시됩니다.
구성하려는 Atlas Stream Processing 인스턴스의 창에서 Configure 을 클릭합니다.
Connection Registry 탭을 클릭합니다. 구성하려는 Atlas 데이터베이스 연결의 행에서 다음을 클릭합니다..
Execute As 드롭다운 메뉴에서 데이터베이스에 연결할 때 사용할 역할을 선택합니다.
Auditing
Atlas Stream Processing 감사를 통해 관리자는 스트림 처리 인스턴스에서 인증 및 엔티티 관리 이벤트를 추적할 수 있습니다. 특정 스트림 처리 인스턴스에서 감사 가능한 이벤트가 발생할 때마다 Atlas Stream Processing은 해당 스트림 처리 인스턴스의 로그에 해당 이벤트를 기록합니다. 로그는 해당 로그가 속한 스트림 처리 인스턴스의 수명 동안 유지되며, Atlas Stream Processing은 오래된 이벤트를 절대로 잘라내지 않습니다. 스트림 처리 인스턴스를 삭제하면 해당 스트림 처리 인스턴스에 속한 로그가 추가로 30일 동안 지속됩니다.
스트림 처리 인스턴스에 대한 감사 로그를 다운로드하려면 감사 로그 다운로드를 참조하세요.
Atlas Stream Processing은 다음 인증 이벤트 감사를 지원합니다.
이벤트 | 설명 |
---|---|
인증 성공 | 사용자가 스트림 처리 인스턴스에 성공적으로 연결할 때 발생 |
인증 실패 | 사용자가 스트림 처리 인스턴스에 연결하지 못할 때 발생 |
연결 종료 | 사용자가 연결을 종료할 때 발생 |
Atlas Stream Processing은 다음 엔터티 관리 이벤트 감사를 지원합니다.
startStreamProcessor | 사용자가 스트림 프로세서를 시작할 때 발생 |
---|---|
createStreamProcessor | 사용자가 스트림 프로세서를 생성할 때 발생 |
stopStreamProcessor | 사용자가 스트림 프로세서를 중지할 때 발생 |
dropStreamProcessor | 사용자가 스트림 프로세서를 삭제할 때 발생 |
.process() | 사용자가 .process() 호출을 실행할 때 발생 |
.sample() | 사용자가 .sample() 호출을 실행할 때 발생 |
액세스한 감사 로그 | 사용자가 감사 로그를 다운로드하려고 할 때 발생 |