SageMaker Data Wrangler를 사용하여 Amazon SageMaker Studio로 데이터를 가져올 때 발생하는 오류를 해결하려면 어떻게 해야 하나요?

2분 분량
0

Amazon SageMaker Data Wrangler를 사용하여 Amazon Simple Storage Service(S3) 또는 Amazon Athena에서 데이터를 가져오려고 하면 오류가 발생합니다.

해결 방법

수명 주기 권한 오류

Amazon Athena에서 Data Wrangler로 데이터를 가져오려고 할 때 다음 오류가 발생할 수 있습니다.

S3LifecyclePermissionError: You don't have permission to read expiration rules from the bucket that you specified.

이 오류는 사용자 프로필과 연결된 SageMaker 실행 역할에 데이터 보존 및 만료를 관리하기 위한 Amazon S3 수명 주기 구성에 액세스하는 데 필요한 권한이 없기 때문에 발생합니다.

이 오류를 해결하려면 다음 AWS ID 및 액세스 관리(IAM) 정책을 SageMaker 실행 역할에 추가하세요(예: AmazonSageMaker-ExecutionRole-xxxxxxxxxxxxxxx):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "LifecycleConfig",
      "Effect": "Allow",
      "Action": [
        "s3:GetLifecycleConfiguration",
        "s3:PutLifecycleConfiguration"
      ],
      "Resource": "*"
    }
  ]
}

Resource의 경우 액세스해야 하는 리전별 버킷만 포함할 수 있습니다. GetBucketLifecycleConfiguration는 버킷에 설정된 라이프사이클 구성 정보를 반환하고, PutBucketLifecycleConfiguration는 버킷에 대한 새로운 라이프사이클 구성을 생성합니다.

액세스 거부 오류

암호화되지 않은 출력 설정으로 처리 작업을 실행할 때 다음 오류가 발생할 수 있습니다.

com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied

다음과 같은 이유로 이 오류가 발생할 수 있습니다.

  • SageMaker 실행 역할에 S3 작업을 수행하는 데 필요한 권한이 없습니다.

  • S3 버킷 정책 또는 Amazon Virtual Private Cloud(VPC) 엔드포인트 정책에서 PutObject에 대한 권한을 명시적으로 거부했습니다. 특정 AWS Key Management Service(AWS KMS) 키를 제공하여 S3 버킷에 대한 암호화된 연결만 적용하는 경우 이 문제가 발생할 수 있습니다.

이 오류를 해결하려면 다음을 수행하세요.L

  • SageMaker 실행 역할에 S3 버킷 작업에 대한 최소 권한이 있는지 확인합니다.
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:ListBucket",
        "s3:CreateBucket",
      ],
      "Resource": [
        "arn:aws:s3:::sagemaker-us-east-1-1111222233334444",
        "arn:aws:s3:::sagemaker-us-east-1-1111222233334444/*"
      ]
    }
  ]
}
  • S3 버킷 정책 또는 VPC 엔드포인트 정책이 S3 작업에 필요한 권한을 명시적으로 거부하지 않는지 확인합니다.

  • 데이터를 가져오는 곳에서 S3 버킷의 개체를 해독할 수 있는 처리 작업에 AWS KMS 키를 전달하는 것을 고려하세요.

  • Amazon S3 서버 측 암호화를 사용하여 미사용 시 암호화된 데이터를 가져올 때 다른 S3 버킷을 사용하는 것이 좋습니다.


AWS 공식
AWS 공식업데이트됨 일 년 전