제퍼넷 로고

안전한 Amazon SageMaker Studio 사전 서명 URL 1부: 기본 인프라

시간

액세스 할 수 있습니다. 아마존 세이지 메이커 스튜디오 에서 노트북 아마존 세이지 메이커 콘솔을 통해 AWS 자격 증명 및 액세스 관리 (IAM) Okta와 같은 자격 증명 공급자(IdP)의 인증된 연동. Studio 사용자가 노트북 링크를 열면 Studio는 연동 사용자의 IAM 정책을 확인하여 액세스 권한을 부여하고 사용자에 대해 미리 서명된 URL을 생성 및 확인합니다. SageMaker 콘솔은 인터넷 도메인에서 실행되기 때문에 생성된 미리 서명된 URL은 브라우저 세션에서 볼 수 있습니다. 이는 적절한 액세스 제어가 시행되지 않을 때 고객 데이터에 대한 무단 유출 및 액세스를 위한 원치 않는 위협 벡터를 나타냅니다.

Studio는 미리 서명된 URL 데이터 유출에 대한 액세스 제어를 시행하기 위한 몇 가지 방법을 지원합니다.

  • IAM 정책 조건을 사용한 클라이언트 IP 검증 aws:sourceIp
  • IAM 조건을 사용한 클라이언트 VPC 검증 aws:sourceVpc
  • IAM 정책 조건을 사용한 클라이언트 VPC 엔드포인트 검증 aws:sourceVpce

SageMaker 콘솔에서 Studio 노트북에 액세스할 때 사용 가능한 유일한 옵션은 IAM 정책 조건과 함께 클라이언트 IP 검증을 사용하는 것입니다. aws:sourceIp. 그러나 Zscaler와 같은 브라우저 트래픽 라우팅 제품을 사용하여 직원 인터넷 액세스의 규모와 규정 준수를 보장할 수 있습니다. 이러한 트래픽 라우팅 제품은 기업 고객이 IP 범위를 제어하지 않는 자체 소스 IP를 생성합니다. 이로 인해 이러한 기업 고객은 aws:sourceIp 상태.

IAM 정책 조건을 사용하여 클라이언트 VPC 엔드포인트 검증을 사용하려면 aws:sourceVpce, 미리 서명된 URL 생성은 Studio가 배포된 동일한 고객 VPC에서 시작되어야 하고 미리 서명된 URL의 확인은 고객 VPC의 Studio VPC 엔드포인트를 통해 발생해야 합니다. 기업 네트워크 사용자에 대한 액세스 시간 동안 사전 서명된 URL의 이러한 확인은 DNS 전달 규칙(Zscaler 및 기업 DNS 모두에서)을 사용하여 수행한 다음 아마존 경로 53 인바운드 해결사.

이 부분에서는 Studio 사전 서명된 URL을 보호하기 위한 가장 중요한 아키텍처에 대해 논의하고 인터넷을 통과하지 않고 사설 네트워크를 통해 VPC 엔드포인트를 통해 Studio 사전 서명된 URL을 생성 및 실행하기 위한 기본 인프라를 설정하는 방법을 보여줍니다. 이는 Studio 사전 서명된 URL에 대한 액세스 권한을 획득하는 외부 악의적인 행위자와 기업 환경 내에서 무단 또는 스푸핑된 기업 사용자 액세스에 의한 데이터 유출을 방지하기 위한 기본 레이어 역할을 합니다.

솔루션 개요

다음 다이어그램은 중요한 솔루션 아키텍처를 보여줍니다.

이 프로세스에는 다음 단계가 포함됩니다.

  1. 기업 사용자는 IdP를 통해 인증하고 기업 포털에 연결하고 기업 포털에서 Studio 링크를 엽니다.
  2. 회사 포털 애플리케이션은 API Gateway VPC 엔드포인트를 사용하여 프라이빗 API를 호출하여 미리 서명된 URL을 생성합니다.
  3. API Gateway VPC 엔드포인트 "미리 서명된 URL 생성" 호출은 기업 DNS에 구성된 대로 고객 VPC의 Route 53 인바운드 해석기로 전달됩니다.
  4. VPC DNS 해석기는 이를 API Gateway VPC 엔드포인트 IP로 확인합니다. 선택적으로 프라이빗 호스팅 영역 레코드가 있는 경우 조회합니다.
  5. API Gateway VPC 엔드포인트는 Amazon 사설 네트워크를 통해 API Gateway 서비스 계정에서 실행되는 "미리 서명된 URL API 생성"으로 요청을 라우팅합니다.
  6. API 게이트웨이는 create-pre-signedURL 개인 API 및 프록시에 대한 요청 create-pre-signedURL AWS 람다 기능.
  7. XNUMXD덴탈의 create-pre-signedURL Lambda 호출은 Lambda VPC 엔드포인트를 통해 호출됩니다.
  8. XNUMXD덴탈의 create-pre-signedURL 기능은 서비스 계정에서 실행되고, 인증된 사용자 컨텍스트(사용자 ID, 지역 등)를 검색하고, SageMaker 도메인 및 사용자 프로필 식별자를 식별하기 위해 매핑 테이블을 조회하고, sagemaker createpre-signedDomainURL API를 호출하고 미리 서명된 URL을 생성합니다. Lambda 서비스 역할에는 SageMaker API 및 Studio에 대해 정의된 소스 VPC 엔드포인트 조건이 있습니다.
  9. 생성된 미리 서명된 URL은 Studio VPC 엔드포인트를 통해 확인됩니다.
  10. Studio는 사전 서명된 URL이 정책에 정의된 고객의 VPC 엔드포인트를 통해 액세스되고 있는지 확인하고 결과를 반환합니다.
  11. Studio 노트북은 인터넷을 통과하지 않고 회사 네트워크를 통해 사용자의 브라우저 세션으로 반환됩니다.

다음 섹션에서는 VPC 엔드포인트를 사용하여 회사 네트워크에서 Studio 사전 서명된 URL을 확인하기 위해 이 아키텍처를 구현하는 방법을 안내합니다. 다음 단계를 보여줌으로써 완전한 구현을 시연합니다.

  1. 기본 아키텍처를 설정합니다.
  2. VPC 엔드포인트를 통해 SageMaker 사전 서명된 URL에 액세스하도록 회사 앱 서버를 구성합니다.
  3. 회사 네트워크에서 Studio를 설정하고 실행합니다.

기본 아키텍처 설정

게시물에서 기업 네트워크에서 Amazon SageMaker Studio 노트북에 액세스, 우리는 인터넷을 통과하지 않고 회사 네트워크에서 Studio 노트북의 미리 서명된 URL 도메인 이름을 확인하는 방법을 보여주었습니다. 해당 게시물의 지침에 따라 기본 아키텍처를 설정한 후 이 게시물로 돌아와 다음 단계로 진행할 수 있습니다.

VPC 엔드포인트를 통해 SageMaker 사전 서명된 URL에 액세스하도록 회사 앱 서버 구성

인터넷 브라우저에서 Studio에 액세스할 수 있도록 온프레미스 VPC 퍼블릭 서브넷의 Windows Server에 온프레미스 앱 서버를 설정합니다. 그러나 Studio 액세스를 위한 DNS 쿼리는 회사(사설) 네트워크를 통해 라우팅됩니다. 회사 네트워크를 통해 Studio 트래픽 라우팅을 구성하려면 다음 단계를 완료하십시오.

  1. 온프레미스 Windows 앱 서버에 연결합니다.

  2. 왼쪽 메뉴에서 비밀번호 가져 오기 그런 다음 개인 키를 찾아 업로드하여 암호를 해독합니다.
  3. RDP 클라이언트를 사용하고 자격 증명을 사용하여 Windows Server에 연결합니다.
    Windows Server 명령 프롬프트에서 Studio DNS를 확인하면 다음 스크린샷과 같이 공용 DNS 서버가 사용됩니다.

    이제 이전에 설정한 온-프레미스 DNS 서버를 사용하도록 Windows Server를 업데이트합니다.
  4. 로 이동 제어 패널, 네트워크 및 인터넷, 선택 네트워크 연결.
  5. 마우스 오른쪽 단추로 클릭 Ethernet 선택하고 등록 탭.
  6. 온프레미스 DNS 서버를 사용하도록 Windows Server를 업데이트합니다.
  7. 이제 원하는 DNS 서버를 DNS 서버 IP로 업데이트합니다.
  8. 로 이동 VPC라우팅 테이블 그리고 당신의 선택 Studio-OnPrem-Public-Rt 라우팅 테이블.
  9. 기본 아키텍처 설정 중에 생성한 피어링 연결로 대상을 사용하여 10.16.0.0/16에 경로를 추가합니다.

회사 네트워크에서 Studio 설정 및 실행

Studio를 설정하고 실행하려면 다음 단계를 완료하십시오.

  1. Chrome을 다운로드하고 이 Windows 인스턴스에서 브라우저를 실행합니다.
    당신은해야 할 수도 있습니다 Internet Explorer 보안 강화 구성 끄기 파일 다운로드를 허용한 다음 파일 다운로드 활성화.
  2. 로컬 장치 Chrome 브라우저에서 SageMaker 콘솔로 이동하여 Chrome 개발자 도구를 엽니다. 네트워크 탭.
  3. Studio 앱을 실행하고 관찰 네트워크 authtoken 확인을 위해 URL이 라우팅되는 원격 서버 주소와 함께 생성된 미리 서명된 URL을 포함하는 매개변수 값. 이 예에서 원격 주소 100.21.12.108은 SageMaker DNS 도메인을 확인하기 위한 공용 DNS 서버 주소 중 하나입니다. name d-h4cy01pxticj.studio.us-west-2.sagemaker.aws.
  4. 에서 이 단계를 반복합니다. 아마존 엘라스틱 컴퓨트 클라우드 (Amazon EC2) 기본 아키텍처의 일부로 구성한 Windows 인스턴스.

원격 주소가 퍼블릭 DNS IP가 아니라 Studio VPC 엔드포인트 10.16.42.74임을 알 수 있습니다.

결론

이 게시물에서는 미리 서명된 URL 확인을 인터넷에 노출하지 않고 Amazon 프라이빗 VPC 엔드포인트를 사용하여 회사 네트워크에서 Studio 미리 서명된 URL을 확인하는 방법을 시연했습니다. 이는 SageMaker에서 고도로 안전한 기계 학습 워크로드를 구축하기 위해 기업 네트워크에서 Studio에 액세스하기 위한 기업 보안 태세를 더욱 강화합니다. ~ 안에 일부 2 이 시리즈에서는 이 솔루션을 확장하여 다음을 사용하여 Studio에 액세스하기 위한 비공개 API를 빌드하는 방법을 보여줍니다. aws:sourceVPCE IAM 정책 검증 및 토큰 인증. 이 솔루션을 사용해보고 의견에 피드백을 남겨주세요!


저자에 관하여

램 비탈 AWS의 기계 학습 솔루션 설계자입니다. 그는 20년 이상의 분산, 하이브리드 및 클라우드 애플리케이션 설계 및 구축 경험을 보유하고 있습니다. 그는 기업 고객이 클라우드 채택 및 최적화 여정을 통해 비즈니스 성과를 개선할 수 있도록 지원하는 안전하고 확장 가능한 AI/ML 및 빅 데이터 솔루션을 구축하는 데 열정을 쏟고 있습니다. 여가 시간에는 테니스와 사진 촬영을 즐깁니다.

니람 코 시야 AWS의 엔터프라이즈 솔루션 아키텍트입니다. 그녀의 현재 초점은 기업 고객이 전략적 비즈니스 성과를위한 클라우드 도입 여정을 돕는 데 있습니다. 여가 시간에는 독서와 야외 활동을 즐깁니다.

spot_img

최신 인텔리전스

spot_img

우리와 함께 채팅

안녕하세요! 어떻게 도와 드릴까요?