생성 데이터 인텔리전스

Amazon S3 액세스 포인트를 사용하여 VPC 전용 모드에서 Amazon SageMaker 노트북에 대한 교차 계정 Amazon S3 액세스 설정 | 아마존 웹 서비스

시간

인공 지능(AI)과 머신 러닝(ML)의 발전은 사기 탐지, 신용 가치 평가, 거래 전략 최적화와 같은 사용 사례를 위해 금융 산업에 혁명을 일으키고 있습니다. 이러한 사용 사례에 대한 모델을 개발하려면 데이터 과학자는 신용 결정 엔진, 고객 거래, 위험 성향 및 스트레스 테스트와 같은 다양한 데이터 세트에 액세스해야 합니다. 엄격한 규정 준수 및 규제 요구 사항을 충족하려면 데이터 과학자들이 이러한 데이터 세트에 대한 적절한 액세스 제어를 관리하는 것이 중요합니다. 일반적으로 이러한 데이터 세트는 중앙 집중식으로 집계됩니다. 아마존 단순 스토리지 서비스 (Amazon S3) 다양한 비즈니스 애플리케이션 및 엔터프라이즈 시스템의 위치입니다. 여러 사업부의 데이터 과학자가 다음을 사용하여 모델 개발에 참여하고 있습니다. 아마존 세이지 메이커 관련 데이터에 대한 액세스 권한이 부여되며, 이로 인해 관리가 필요할 수 있습니다. 접두사-레벨 액세스 제어. 사용 사례와 데이터 세트가 증가함에 따라 버킷 정책 진술에 따르면, 애플리케이션별 교차 계정 액세스를 관리하는 것은 버킷 정책이 수용하기에는 너무 복잡하고 시간이 많이 걸립니다.

Amazon S3 액세스 포인트 Amazon S3에서 공유 데이터 세트를 사용하여 애플리케이션에 대한 대규모 데이터 액세스 관리 및 보안을 단순화합니다. 액세스 포인트를 통해 이루어진 모든 요청에 ​​대해 고유하고 안전한 권한과 네트워크 제어를 적용하기 위해 액세스 포인트를 사용하여 고유한 호스트 이름을 생성할 수 있습니다.

S3 액세스 포인트는 공유 데이터 세트에 액세스하는 각 애플리케이션에 대한 액세스 권한 관리를 단순화합니다. AWS 내부 네트워크를 사용하여 동일한 지역 액세스 포인트 간에 안전한 고속 데이터 복사가 가능합니다. 및 VPC. S3 액세스 포인트는 VPC에 대한 액세스를 제한하여 프라이빗 네트워크 내의 데이터를 방화벽화하고, 기존 액세스 포인트에 영향을 주지 않고 새로운 액세스 제어 정책을 테스트하고, 특정 계정 ID 소유 S3 버킷에 대한 액세스를 제한하도록 VPC 엔드포인트 정책을 구성할 수 있습니다.

이 게시물에서는 SageMaker 노트북 인스턴스에서 교차 계정 액세스를 활성화하기 위해 S3 액세스 포인트를 구성하는 단계를 안내합니다.

솔루션 개요

사용 사례의 경우 조직에 두 개의 계정이 있습니다. 데이터 과학자가 SageMaker 노트북 인스턴스를 사용하여 모델을 개발하는 데 사용하는 계정 A(111111111111)와 S222222222222 버킷의 데이터 세트가 필요한 계정 B(3)입니다. test-bucket-1. 다음 다이어그램은 솔루션 아키텍처를 보여줍니다.

솔루션을 구현하려면 다음 상위 수준 단계를 완료하십시오.

  1. VPC, 서브넷 보안 그룹, VPC 게이트웨이 엔드포인트 및 SageMaker 노트북을 포함하여 계정 A를 구성합니다.
  2. S3 버킷, 액세스 포인트, 버킷 정책을 포함하여 계정 B를 구성합니다.
  3. 구성 AWS 자격 증명 및 액세스 관리 (IAM) 계정 A의 권한 및 정책

계정 B의 공유 데이터 세트에 액세스해야 하는 각 SageMaker 계정에 대해 이 단계를 반복해야 합니다.

이 게시물에 언급된 각 리소스의 이름은 예시입니다. 사용 사례에 따라 다른 이름으로 바꿀 수 있습니다.

계정 A 구성

계정 A를 구성하려면 다음 단계를 완료하세요.

  1. VPC 생성 라는 DemoVPC.
  2. 서브넷 생성 라는 DemoSubnet VPC에서 DemoVPC.
  3. 보안 그룹 생성 라는 DemoSG.
  4. 만들기 VPC S3 게이트웨이 엔드포인트 라는 DemoS3GatewayEndpoint.
  5. 만들기 SageMaker 실행 역할.
  6. 노트북 인스턴스 생성 라는 DemoNotebookInstance 및 다음에 설명된 보안 지침 Amazon SageMaker에서 보안을 구성하는 방법.
    1. 생성한 Sagemaker 실행 역할을 지정합니다.
    2. 노트북 네트워크 설정의 경우 생성한 VPC, 서브넷 및 보안 그룹을 지정합니다.
    3. 그 확인 직접 인터넷 접속 사용할 수 없습니다.

필요한 종속성을 생성한 후 후속 단계에서 역할에 권한을 할당합니다.

계정 B 구성

계정 B를 구성하려면 다음 단계를 완료하세요.

  1. 계정 B에서는 S3 버킷 생성 라는 test-bucket-1 수행원 Amazon S3 보안 지침.
  2. 파일 업로드 S3 버킷에.
  3. 액세스 포인트 생성 라는 test-ap-1 계정 B에서
    1. 어떤 것도 변경하거나 편집하지 마세요 공개 액세스 설정 차단 이 액세스 포인트에 대해(모든 공개 액세스는 차단되어야 함)
  4. 액세스 포인트에 다음 정책을 연결합니다.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": “arn:aws:iam:: 111111111111:role/demo ”
            },
            "Action": ["s3:GetObject", "s3:GetObjectVersion", "s3:PutObject", "s3:PutObjectAcl"]
            "Resource": [
                “arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1”,
                " arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1/object/*"
            ]
        }
    ]
}

이전 코드에 정의된 작업은 데모용 샘플 작업입니다. 당신은 할 수 있습니다 행동을 정의하다 귀하의 요구 사항이나 사용 사례에 따라.

  1. 액세스 포인트에 액세스하려면 다음 버킷 정책 권한을 추가하세요.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": " arn:aws:iam:: 111111111111:role/demo "
            },
            "Action" : ["s3:GetObject","s3:ListBucket"],
            "Resource" : ["arn:aws:s3:::test-bucket-1 ”, " arn:aws:s3:::test-bucket-1/*"]
            "Condition": {
                "StringEquals": {
                    "s3:DataAccessPointAccount": "222222222222"
                }
            }
        }
    ]
}

앞의 작업은 예시입니다. 요구 사항에 따라 작업을 정의할 수 있습니다.

IAM 권한 및 정책 구성

계정 A에서 다음 단계를 완료하세요.

  1. SageMaker 실행 역할에 AmazonSagemaker전체액세스 사용자 정의 IAM 인라인 정책, 이는 다음 코드와 같습니다.
{
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            " Action": ["s3:GetObject", "s3:GetObjectVersion", "s3:PutObject", "s3:PutObjectAcl"]
            "Resource": [
                “arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1 ”,
                "arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1 /object/*”,                             "arn:aws:s3:::test-bucket-1”,
                " arn:aws:s3:::test-bucket-1/*"
            ]
}

정책 코드의 작업은 데모용 샘플 작업입니다.

  1. 로 이동 DemoS3GatewayEndpoint 생성한 엔드포인트를 확인하고 다음 권한을 추가하세요.
{

	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "AllowCrossAccountAccessThroughAccessPoint",
			"Effect": "Allow",
			"Principal": "*",
			"Action": [
				"s3:Get*",
				"s3:List*",
				"s3:Put*"
			],
			"Resource": ": [
                “arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1 ”,
                "arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1 /object/*”,                             "arn:aws:s3:::test-bucket-1 ”,
                " arn:aws:s3:::test-bucket-1/*"
            ]
 
		}
	]
}

  1. 접두사 목록을 얻으려면 다음을 실행하십시오. AWS 명령 줄 인터페이스 (AWS CLI) 설명 접두사 목록 명령:
aws ec2 describe-prefix-lists

  1. 계정 A에서 보안 그룹으로 이동합니다. DemoSG 대상 SageMaker 노트북 인스턴스의 경우
  2. $XNUMX Million 미만 아웃바운드 규칙, 다음을 사용하여 아웃바운드 규칙을 만듭니다. 모든 트래픽 or 모든 TCP를 선택한 다음 검색한 접두사 목록 ID로 대상을 지정합니다.

이로써 두 계정 모두의 설정이 완료됩니다.

솔루션 테스트

솔루션을 검증하려면 SageMaker 노트북 인스턴스 터미널로 이동하고 다음 명령을 입력하여 액세스 포인트를 통해 객체를 나열하십시오.

  • S3 액세스 포인트를 통해 객체를 성공적으로 나열하려면 test-ap-1:
aws s3 ls arn:aws:s3:us-east-1:222222222222:accesspoint/Test-Ap-1

  • S3 액세스 포인트를 통해 객체를 성공적으로 가져오려면 test-ap-1:
aws s3api get-object --bucket arn:aws:s3:us-east-1:222222222222:accesspoint/test-ap-1 --key sample2.csv test2.csv

정리

테스트가 끝나면 삭제하세요. S3 액세스 포인트S3 버킷. 또한 삭제하세요. Sagemaker 노트북 인스턴스 요금 부과를 중지합니다.

결론

이 게시물에서는 S3 액세스 포인트를 사용하여 SageMaker 노트북 인스턴스의 대규모 공유 데이터 세트에 대한 교차 계정 액세스를 지원하고 공유 데이터 세트에 대한 대규모 액세스 관리를 구성하는 동시에 버킷 정책에 의해 부과된 크기 제약을 우회하는 방법을 보여주었습니다.

자세한 내용은 다음을 참조하십시오. Amazon S3 액세스 포인트로 공유 데이터 세트를 쉽게 관리.


저자 소개

키란 캄베테 Amazon Web Services(AWS)에서 수석 기술 계정 관리자로 일하고 있습니다. TAM으로서 Kiran은 기업 고객이 비즈니스 목표를 달성하도록 돕는 기술 전문가이자 전략 가이드 역할을 수행합니다.

안킷 소니 총 14년의 경험을 보유한 그는 NatWest Group에서 수석 엔지니어로 근무하며 지난 XNUMX년 동안 클라우드 인프라 설계자로 근무했습니다.

케사라주 사이 산딥 AWS에서 빅 데이터 서비스를 전문으로 하는 클라우드 엔지니어입니다.

spot_img

최신 인텔리전스

spot_img