Amazon VPC 또는 기업 네트워크에서 SageMaker AI 노트북 인스턴스에 대한 액세스를 제한하려면 어떻게 해야 합니까?
Amazon Virtual Private Cloud(Amazon VPC) 또는 기업 네트워크에서 Amazon SageMaker AI 노트북 인스턴스에 대한 액세스를 제한하려고 합니다.
해결 방법
Amazon VPC 또는 기업 네트워크에서 SageMaker AI 노트북 인스턴스에 대한 액세스를 제한하려면 다음 방법 중 하나를 사용하십시오.
IAM 정책을 사용하여 ID가 노트북 인스턴스를 시작하지 못하도록 제한
시스템이 SageMaker AI 노트북 인스턴스를 시작하면 시스템은 CreatePresignedNotebookInstanceUrl API 호출을 수행합니다. ID가 노트북 인스턴스를 시작하지 못하도록 제한하려면 AWS Identity and Access Management(IAM) 정책을 사용해야 합니다. 이 API 호출에 대한 액세스를 제한하도록 설정하십시오.
다음 단계를 완료하십시오.
- IAM 콘솔을 엽니다.
- 탐색 창에서 액세스 관리를 선택한 다음, 역할을 선택합니다.
- SageMaker AI 노트북 인스턴스에서 사용하는 역할을 선택합니다.
- 역할 세부 정보의 권한 섹션에서 권한 추가를 선택한 다음, 인라인 정책 생성을 선택합니다.
- JSON을 선택합니다.
- SageMaker API 호출에 대한 액세스를 거부하려면 다음 예제 정책을 사용합니다.
참고: 이 정책은 모든 SageMaker AI 노트북 인스턴스를 시작하기 위한 시스템 액세스를 제한합니다. 역할이 선택된 리소스 생성만 거부해야 하는 경우 *를 관련 SageMaker AI 노트북 인스턴스 Amazon 리소스 이름(ARN)으로 변경하십시오.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "sagemaker:CreatePresignedNotebookInstanceUrl", "Resource": "*" } ] }
SCP 사용
API 호출에 대한 액세스를 제한하려면 서비스 제어 정책(SCP)을 사용합니다. 이전 절차의 6단계에서 언급한 정책과 유사한 정책을 사용하고 AWS Organizations에 조직 정책 연결에 나와 있는 단계를 사용할 수 있습니다.
또한 VPC 엔드포인트 정책을 업데이트하여 노트북을 잠글 수 있습니다. 이렇게 하면 인터넷 및 루트 액세스 옵션이 꺼진 경우에만 노트북을 사용할 수 있습니다.
VPC 엔드포인트 정책 사용
VPC 구성을 사용하여 노트북 인스턴스에 대한 액세스 수준을 설정할 수 있습니다.
Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 통해 노트북 인스턴스에 액세스하려고 하는 시나리오를 가정해 보겠습니다. 이 Amazon EC2 인스턴스는 일반적으로 기업 설정의 보안 조치를 유지하기 위해 VPC 내에 생성됩니다. 이 시나리오에서 다음 단계를 완료하십시오.
- Amazon VPC 콘솔을 엽니다.
- PrivateLink 및 Lattice를 선택한 다음, 엔드포인트를 선택합니다.
- 필요한 제한 사항이 있는 노트북에 액세스하는 데 사용할 VPC 엔드포인트를 선택합니다.
- VPC 엔드포인트 정책을 편집하려면 작업을 선택한 다음, 액세스 관리를 선택합니다.
- 노트북 인스턴스에 연결할 수 있게 해주는 VPC 엔드포인트에 VPC 엔드포인트 정책을 적용합니다.
예:
이렇게 하면 VPC 엔드포인트인 "arn:aws:sagemaker:us-west-2:123456789012:notebook-instance/myNotebookInstance"를 통해서만 이 노트북 인스턴스에 액세스할 수 있습니다.{ "Statement": [ { "Action": "sagemaker:CreatePresignedNotebookInstanceUrl", "Effect": "Allow", "Resource": "arn:aws:sagemaker:us-west-2:123456789012:notebook-instance/myNotebookInstance", "Principal": "*" } ] } - 다음 명령을 사용하여 액세스가 제한된 노트북 인스턴스에 액세스합니다. VPC_Endpoint_ID를 제공하면 정책이 적용되고 요구 사항에 따라 리소스에 대한 액세스가 제한됩니다.
aws sagemaker describe-notebook-instance \ --notebook-instance-name myNotebookInstance { "NotebookInstanceArn": "arn:aws:sagemaker:us-west-2:123456789023:notebook-instance/mynotebookinstance", "NotebookInstanceName": "myNotebookInstance", "NotebookInstanceStatus": "InService", "Url": "mynotebookinstance.notebook.us-west-2.sagemaker.aws", "InstanceType": "ml.m4.xlarge", "RoleArn": "arn:aws:iam::123456789023:role/service-role/AmazonSageMaker-ExecutionRole-12345678T123456", "LastModifiedTime": 1540334777.501, "CreationTime": 1523050674.078, "DirectInternetAccess": "Disabled" }
노트북 실행 역할 사용
VPC 내부에서만 수행되는 연결에 대한 액세스를 제한하려면 VPC 내에서 발생하는 호출에 대한 액세스를 제한하는 IAM 정책을 생성합니다. 노트북 인스턴스를 생성하면 로그인한 IAM 사용자가 CreatePresignedNotebookInstanceUrl을 호출합니다. 다음 권한 세트를 사용하여 이 ID를 업데이트할 수 있습니다. 다음 단계를 완료하십시오.
- IAM 콘솔을 엽니다.
- 액세스 관리를 선택하고 사용자를 선택한 다음, IAM 콘솔에 로그인하는 데 사용하는 사용자 이름을 입력합니다.
- 역할 이름을 사용하여 역할을 엽니다. 그런 다음, 권한으로 이동하고 권한 추가를 선택한 다음, 인라인 정책 생성을 선택합니다.
- 정책 편집기 페이지에서 JSON 편집기를 사용하여 다음 예제 정책을 추가합니다.
{ "Id": "notebook-example-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable Notebook Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedNotebookInstanceUrl", "sagemaker:DescribeNotebookInstance" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceVpc": "vpc-111bbaaa" } } } ] }
이 예제 정책에서는 노트북 인스턴스에 액세스하기 위한 호출이 "vpc-111bbaaa"에서 수행된 경우에만 API 호출이 허용됩니다. 그렇지 않으면 호출이 거부됩니다.
참고: 호출자는 인터페이스 엔드포인트를 통해 노트북에 연결된 서브넷에 있어야 합니다.
VPC를 통하지 않고 VPC 인터페이스 엔드포인트를 사용하여 연결을 설정할 수 있습니다.
예:
{ "Id": "notebook-example-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable Notebook Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedNotebookInstanceUrl", "sagemaker:DescribeNotebookInstance" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:sourceVpce": [ "vpce-111bbccc", "vpce-111bbddd" ] } } } ] }
이 정책은 노트북 인스턴스를 생성하는 데 사용하는 IAM 사용자에 대해 설정됩니다. 사용자가 이 역할을 맡아 노트북에 액세스하려고 하면"vpce-111bbccc" 또는 "vpce-111bbddd" 인터페이스 엔드포인트를 사용하는 경우에만 액세스가 허용됩니다.
IAM 정책을 생성한 후 다음 명령을 사용하여 VPC 엔드포인트를 통해 노트북 인스턴스에 액세스합니다.
aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name myNotebookInstance --endpoint-url VPC_Endpoint_ID.api.sagemaker.Region.vpce.amazonaws.com
유사한 VPC 서브넷 구성을 사용하여 VPC 엔드포인트 또는 VPC 대신 노트북 인스턴스에 대한 액세스를 제한할 수 있습니다. 이렇게 하려면 조건 블록에서 "sagemaker:VpcSubnets" 태그를 사용하고 해당 서브넷 ID를 지정합니다.
프라이빗 네트워크 사용
VPC 내에 있는 노트북 인스턴스에 연결하려면 다음 작업을 수행할 수 있습니다.
- VPC 내부에 있는 지원되는 리소스를 통해 연결합니다.
- AWS VPN 또는 AWS Direct Connect를 사용하여 프라이빗 네트워크를 VPC에 연결합니다.
프라이빗 네트워크로 노트북을 설정하는 방법에 대한 자세한 내용은 VPC에 프라이빗 네트워크 연결을 참조하십시오.
리소스 태그 사용
리소스 태그를 사용하여 IAM 정책을 설정하면 속성 기반 액세스 제어(ABAC)라고도 하는 액세스 제어를 설정할 수 있습니다. 특정 사용자 그룹에 대한 액세스를 제한하려면 태그를 사용하십시오.
예제 시나리오: 팀 1은 프로젝트 A에서 작업하고 팀 2는 프로젝트 B에서 작업합니다. 당신은 회사 관리자이며 기밀 유지 및 보안상의 이유로 어느 팀도 다른 팀의 노트북 인스턴스에 액세스하는 것을 원하지 않습니다. 이러한 상황에 맞는 인프라를 구축하려면 다음 단계를 완료하십시오.
-
팀 A가 사용하는 SageMaker AI 노트북 인스턴스에 {"Project":"A"} 키-값 쌍이 포함된 태그를 추가합니다.
-
팀 B가 사용하는 SageMaker AI 노트북 인스턴스에 {"Project":"B"} 키-값 쌍이 포함된 태그를 추가합니다.
-
SageMaker AI에 액세스하기 위해 팀 1과 팀 2에 서로 다른 역할을 할당합니다.
-
팀 A가 노트북 인스턴스에 액세스하는 데 사용하는 역할의 경우, 다음 IAM 정책을 사용하여 프로젝트 B에 대한 액세스를 제한합니다.
{ "Effect": "Deny", "Action": "sagemaker:CreatePresignedNotebookInstanceUrl", "Resource": "*", "Condition": { "StringEquals": { "sagemaker:ResourceTag/Project": "B" } } } -
팀 B가 노트북 인스턴스에 액세스하는 데 사용하는 역할의 경우, 다음 IAM 정책을 사용하여 프로젝트 A에 대한 액세스를 제한합니다.
{ "Effect": "Deny", "Action": "sagemaker:CreatePresignedNotebookInstanceUrl", "Resource": "*", "Condition": { "StringEquals": { "sagemaker:ResourceTag/Project": "A" } } }참고: 서로 다른 사용자의 노트북 인스턴스에 대한 액세스를 제한하려면 해당 사용자에 대해 aws:username 리소스 태그를 사용하여 제한을 설정하십시오.
다음 예제 정책은 특정 사용자에 대한 액세스를 거부하므로 사용자는 노트북 인스턴스를 시작, 중지 또는 설명할 수 없습니다. 또한 사용자가 미리 서명된 URL을 생성하지 못하도록 제한합니다. 자세한 내용은 태그를 사용하여 SageMaker AI 리소스에 대한 액세스 제어를 참조하십시오.{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Deny", "Action": [ "sagemaker:StartNotebookInstance", "sagemaker:StopNotebookInstance", "sagemaker:DescribeNotebookInstance", "sagemaker:CreatePresignedNotebookInstanceUrl" ], "Resource": "*", "Condition": { "StringNotEquals": { "sagemaker:ResourceTag/owner": "${aws:username}" } } } ] }IP 주소에 대한 허용 목록 및 프록시 설정 사용
기업 네트워크에 대한 연결이 허용되는 IP 주소를 설정하기 위해 프록시를 사용하는 시나리오를 생각해 보십시오. 이 시나리오에서는 허용 목록을 사용하여 다양한 리소스에 액세스하려는 노트북의 IP 주소를 설정합니다.
예를 들어 172.31.0.0에서 172.31.0.16의 CIDR 범위 내에서 노트북을 생성하는 경우 프록시에서 이 CIDR 블록만 허용하십시오.
노트북의 IP 주소는 동적이며 노트북 인스턴스에 연결된 서브넷을 기반으로 할당됩니다. 노트북의 IP 주소를 찾으려면 route -n 명령을 사용합니다. 자세한 내용은 Amazon SageMaker 노트북 인스턴스 네트워킹 구성 및 고급 라우팅 옵션 이해를 참조하십시오.
참고: 이 시나리오는 노트북에 서브넷을 연결할 때만 가능합니다.
- 언어
- 한국어

관련 콘텐츠
질문됨 일 년 전
질문됨 일 년 전