기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
OpenSearch UI 애플리케이션에 대한 네트워크 액세스 제한
기본적으로 OpenSearch UI 애플리케이션은 모든 네트워크 위치의 요청을 수락하는 퍼블릭 엔드포인트를 노출합니다. 사용자는 여전히 인증(IAM 또는 AWS IAM Identity Center) 및 권한 부여를 받을 수 있지만 퍼블릭 인터넷에 있는 모든 사용자가 애플리케이션 및 해당 API에 연결할 수 있습니다. APIs
OpenSearch UI에 대한 액세스가 승인된 네트워크에서만 이루어져야 하는 경우 이미 사용 중인 AWS Identity and Access Management (IAM) 정책 도구를 사용하여 이를 적용할 수 있습니다. 예를 들어 인터페이스 VPC 엔드포인트(AWS PrivateLink)를 통해서만 또는 회사 IP 주소 범위에서만 액세스가 도착하도록 요구할 수 있습니다. OpenSearch UI는 표준 IAM 요청 조건 키를 사용하여 액세스를 평가하기 때문에 다른 곳에서 이미 사용하고 있는 것과 동일한 정책 언어 및 조건 키(aws:SourceVpce, aws:SourceVpc및 aws:SourceIp)를 사용합니다 AWS. 서비스별 정책 형식을 배울 필요가 없습니다.
가장 많이 대상으로 지정된 수준에서 가장 광범위한 수준까지 세 가지 수준에서 액세스를 제한할 수 있습니다.
-
자격 증명 기반 정책은 특정 보안 주체(사용자 또는 역할)를 제한합니다.
-
VPC 엔드포인트 정책은 사용자가 특정 엔드포인트를 통해 연결할 수 있는 애플리케이션을 제한합니다.
-
리소스 제어 정책(RCP)은 조직의 모든 계정에 액세스를 균일하게 적용하고 인증하기 전에 네트워크 외부 사용자를 차단할 수 있습니다.
이 주제에서는 OpenSearch UI가 네트워크 액세스를 평가하고 가장 일반적인 작업을 안내하여 승인된 네트워크 외부의 사용자에 대한 로그인 페이지를 차단하는 방법을 설명합니다. 세 가지 제어 유형 각각에 대한 정책 예제 및 AWS CLI 명령은 섹션을 참조하세요OpenSearch UI 애플리케이션에 대한 네트워크 액세스 제어 구성 참조. 프라이빗 연결 자체 생성에 대한 자세한 내용은 섹션을 참조하세요VPC 엔드포인트에서 OpenSearch UI에 대한 액세스 관리.
주제
OpenSearch UI가 네트워크 액세스를 평가하는 방법
OpenSearch UI는 두 단계로 액세스를 평가하며 각 단계는 애플리케이션 리소스에 대해 고유한 IAM 작업을 승인합니다.
-
opensearch:ViewLoginPage. 브라우저가 애플리케이션 로그인 페이지를 처음 요청할 때 사용자가 로그인하기 전에 권한이 부여됩니다. 사용자에게 아직 AWS 자격 증명이 없으므로이 요청은 익명입니다. OpenSearch UI는 인증 전에이 작업을 평가하므로 네트워크 외부 요청에 대해 거부하는 리소스 제어 정책은 네트워크 외부 사용자가 로그인 페이지에 도달하지 못하도록 합니다. 이 거부는 IAM과 AWS IAM Identity Center 사용자 모두에게 균일하게 적용됩니다. -
opensearch:ApplicationAccessAll. 사용자가 로그인한 후 애플리케이션 및 해당 APIs. 자격 증명 기반 정책, VPC 엔드포인트 정책 또는 RCP를 사용하여이 작업을 제한할 수 있습니다.
OpenSearch UI는 애플리케이션 리소스 ARN에 대해 두 작업을 모두 승인합니다.
arn:aws:opensearch:region:account-id:application/application-id
요청이 도착하면 OpenSearch UI는 연결의 신뢰할 수 있는 네트워크 메타데이터에서 다음 IAM 요청 조건 키를 채워 정책 조건에서 참조할 수 있습니다.
-
aws:SourceVpce. 요청이 도착한 인터페이스 VPC 엔드포인트의 ID입니다. -
aws:SourceVpc. 요청이 도착한 VPC의 ID입니다. -
aws:SourceIp. VPC 엔드포인트를 통해 도착하지 않는 요청에 대한 요청의 퍼블릭 소스 IP 주소입니다.
사전 조건
-
특정 보안 주체를 제한하려면 애플리케이션에 액세스하는 사용자 또는 역할에 대한 IAM 정책을 관리할 수 있는 권한이 있어야 합니다. 엔드포인트를 제한하려면 엔드포인트에 연결하는 데 사용되는 VPC 엔드포인트의 정책을 관리할 수 있는 권한이 있어야 합니다.
-
리소스 제어 정책을 사용하여 조직 전체에 액세스를 적용하려면 계정이 모든 기능이 활성화된 AWS 조직의 멤버여야 하며 리소스 제어 정책을 관리할 권한이 있어야 합니다. 자세한 내용은 Organizations 사용 설명서의 리소스 제어 정책(RCPs)을 참조하세요. AWS
참고
리소스 제어 정책은 조직의 관리 계정에 있는 리소스에 영향을 미치지 않습니다. RCP를 사용하여 OpenSearch UI 애플리케이션에 대한 네트워크 액세스를 제한하려면 애플리케이션이 멤버 계정에 있어야 합니다.
-
VPC 엔드포인트에 대한 액세스를 제한하려면 먼저 OpenSearch UI용 인터페이스 VPC 엔드포인트를 생성합니다. 자세한 내용은 VPC 엔드포인트에서 OpenSearch UI에 대한 액세스 관리 단원을 참조하십시오.
-
이 주제의 AWS Command Line Interface (AWS CLI) 예제를 실행하려면를 설치하고 구성합니다 AWS CLI. 자세한 내용은 AWS Command Line Interface 사용 설명서에서 AWS Command Line Interface시작하기를 참조하세요.
승인된 네트워크 외부에서 로그인 페이지 액세스 차단
다음 절차는 승인된 네트워크 외부 사용자의 로그인 페이지를 차단합니다. 요청이 여전히 익명일 때 사용자가 로그인하기 opensearch:ViewLoginPage 전에 OpenSearch UI가 권한을 부여하기 때문에 IAM 또는 AWS IAM Identity Center 인증을 사용하는 애플리케이션에 적용됩니다.
승인된 네트워크 외부에서 로그인 페이지 액세스를 차단하려면
-
애플리케이션이 조직의 멤버인 AWS 계정에 있고 조직에 리소스 제어 정책이 활성화되어 있는지 확인합니다. 자세한 내용은 Organizations 사용 설명서의 정책 유형 활성화를 참조하세요. AWS
-
사용자가 연결하는 승인된 네트워크 경로를 결정하고 일치하는 조건 키를 선택합니다.
aws:SourceVpce인터페이스 VPC 엔드포인트, VPC 또는 회사 네트워크의 송신aws:SourceIp범위와 같은 퍼블릭 IP 주소 범위에aws:SourceVpc를 사용합니다. -
요청이 승인된 네트워크와 라는 로컬 파일과 일치하지
opensearch:ApplicationAccessAll않는 한opensearch:ViewLoginPage및를 거부하는 리소스 제어 정책을 저장합니다policy.json. 다음 예시에서는 단일 인터페이스 VPC 엔드포인트를 승인합니다. 다른 조건 키는 단원을 참조하십시오OpenSearch UI 애플리케이션에 대한 네트워크 액세스 제어 구성 참조.자리 표시자 값을자체 VPC 엔드포인트 ID로 바꿉니다.{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyOpenSearchUIAccessOutsideVpce", "Effect": "Deny", "Principal": "*", "Action": [ "opensearch:ViewLoginPage", "opensearch:ApplicationAccessAll" ], "Resource": "arn:aws:opensearch:*:*:application/*", "Condition": { "StringNotEqualsIfExists": { "aws:SourceVpce": "vpc-endpoint-id" } } } ] } -
리소스 제어 정책을 생성합니다. 조직의 관리 계정 또는 위임된 관리자 계정에서 다음 명령을 실행합니다.
aws organizations create-policy \ --nameDenyOpenSearchUIOffNetwork\ --description "Denies OpenSearch UI access from outside the approved network" \ --type RESOURCE_CONTROL_POLICY \ --content file://policy.json응답에는 로 시작하는 정책 ID가 포함됩니다
p-. 다음 단계에서이 값을 기록해 둡니다. -
정책을 조직 루트, 조직 단위 또는 애플리케이션이 포함된 계정에 연결합니다. 첫 번째 변경의 범위를 제한하려면 단일 계정에 연결하고 동작을 확인한 후 범위를 확장합니다.
aws organizations attach-policy \ --policy-idp-example12345\ --target-id111122223333 -
정책이 적용될 때까지 최대 1분 정도 기다립니다.
-
승인된 네트워크 외부에서의 애플리케이션 로그인 페이지를 요청합니다
https://. 로그인 페이지 대신application-endpoint/_login/403 forbidden응답을 받게 됩니다.참고
/_login/경로를 요청하여 정책이 로그인 페이지를 거부하는지 확인합니다. 경로 없이 애플리케이션 URL을 열면 브라우저가 로그인 페이지를 요청하기 전에 로그인하도록 리디렉션될 수 있습니다. 이 경우opensearch:ApplicationAccessAll는 로그인한 후 액세스를 거부합니다. -
승인된 네트워크 내에서 동일한 URL을 요청합니다. 로그인 페이지가 렌더링되고 정상적으로 로그인할 수 있습니다.
참고
AWS IAM Identity Center 인증을 사용하는 애플리케이션의 경우 사용자가 로그인하는 네트워크 경로를 제한합니다. OpenSearch UI는 모든 애플리케이션에 대한 인증 opensearch:ViewLoginPage 전에 평가되므로 거부하면 네트워크 외부 사용자가 로그인할 수 없습니다. 또한 이미 유효한 세션을 보유한 IAM Identity Center 사용자의 요청을 제한하려면 해당 사용자가 VPC 엔드포인트를 통해 애플리케이션에 연결하도록 하세요.
고려 사항
네트워크 액세스 제어를 구성할 때는 다음 사항에 유의하세요.
-
컨트롤 선택. 자격 증명 기반 정책을 사용하여 특정 보안 주체를 제한하고, VPC 엔드포인트 정책을 사용하여 사용자가 엔드포인트를 통해 연결할 수 있는 애플리케이션을 제어하고, 리소스 제어 정책을 사용하여 전체 조직에 액세스를 적용합니다. 심층 방어를 위해 결합할 수 있습니다.
-
사전 인증과 인증된 액세스 비교. RCP로
opensearch:ViewLoginPage적용되는 만 네트워크 외부 사용자가 로그인하기 전에 차단하고 IAM과 AWS IAM Identity Center 사용자 모두에게 균일하게 적용됩니다. 인증된 보안 주체가 애플리케이션에 액세스할 수 있는 위치를opensearch:ApplicationAccessAll제한하는 데만 적용되는 조건입니다. -
정책 평가. 명시적는
Deny항상를 재정의합니다Allow. 리소스 제어 정책은 조직의 리소스에 사용할 수 있는 최대 권한을 설정하며, RCPDeny의 명시적은 자격 증명 기반 정책에 의해 재정의될 수 없습니다. 비프로덕션 애플리케이션을 광범위하게 적용하기 전에 정책을 테스트합니다. -
모니터링. AWS CloudTrail 및 IAM Access Analyzer를 사용하여 네트워크 조건이 액세스에 미치는 영향을 검토합니다.