AWS Glue의 “사용자/IAM 역할 X가 리소스 Z에서 Y를 수행할 권한이 없습니다” 오류를 해결하려면 어떻게 해야 합니까?

3분 분량
0

필요한 권한을 구성했는데도 AWS Identity and Access Management(IAM) 권한 부족 오류가 발생하여 AWS Glue 작업이 실패합니다.

해결 방법

AWS Glue에서는 다음과 같은 이유로 권한 부족 오류로 인해 작업이 실패할 수 있습니다.

  • 사용 중인 IAM 사용자 또는 역할에 필요한 권한이 없습니다.
  • IAM 사용자는 특정 작업을 제한하는 서비스 제어 정책(SCP)이 적용되는 AWS Organizations 내 조직의 일원입니다.
  • 사용되는 서브넷에는 일부 작업을 허용하거나 거부하는 정책이 있는 Virtual Private Cloud(VPC) 엔드포인트가 있습니다.

사용 중인 IAM 사용자 또는 역할에 필요한 권한이 없습니다.

권한 부족 오류의 다음 예제를 참조하세요.

"Failed to create job gluestudio-service.us-east-1.amazonaws.com] with exception "errorMessage":"User: arn:aws:sts::<AccountID>:assumed-role/<ConsoleAssumedRole>/<user> is not authorized to perform: iam:PassRole on resource: arn:aws:iam::<AccountID>:role/<GlueRoleName>"

이 오류를 세 가지 요인으로 나눌 수 있습니다.

  • 작업을 호출하는 사용자/IAM 역할 - arn:aws:iam::111111111111111:role/service-role/AWSGlue-xxxxxx
  • 작업 - iam:PassRole
  • 작업이 수행되고 있는 리소스 - arn:aws:iam::xxxxxxxxxxxxxxxx:role/AWSGlue

사용 중인 사용자 또는 IAM 역할에 리소스에 필요한 작업이 있는지 확인합니다.

1.    IAM 콘솔을 엽니다.

2.    사용 중인 사용자 또는 IAM 역할을 검색하고 여기에 연결된 정책을 확인합니다. 이전 예제에서 역할은 arn:aws:iam::xxxxxxxxx:user/yyyyyyyyyyy입니다.

3.    리소스에 필요한 작업을 허용하는 다음과 비슷한 인라인 정책을 추가합니다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "FirstStatement",
      "Effect": "Allow",
      "Action": ["Action"],
      "Resource": "<ARN of resource>"
    }
  ]
}

참고: 이 예제의 작업리소스의 ARN을 이전에 오류 메시지에서 식별한 특정 작업 및 리소스로 바꾸세요.

이전 예제를 보면 정책은 다음과 비슷합니다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PassRolePermissions",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::<AccountID>:role/<GlueRoleName>"
      ],
      "Condition": {
        "StringLike": {
          "iam:PassedToService": [
            "glue.amazonaws.com"
          ]
        }
      }
    }
  ]
}

조직의 SCP가 리소스에 대한 작업을 막고 있습니다.

다음과 유사한 오류가 발생할 수 있습니다.

"createJob: AccessDeniedException: User: arn:aws:sts::111111111111111:assumed-role/xxxxxxxxxx is not authorized to perform: glue:CreateJob on resource: arn:aws:glue:region:22222222222222:job/glue-job with an explicit deny in a service control policy"

이 오류는 IAM 사용자가 SCP가 있는 조직에 속해 있기 때문에 발생합니다. SCP로 인해 특정 행동을 할 수 없습니다. SCP와 관련된 권한을 확인하려면 다음 단계를 따르세요.

1.    IAM 콘솔을 엽니다.

2.    조직 활동을 선택한 다음 첨부된 SCP 탭을 선택합니다.

3.    IAM 사용자에게 연결된 SCP를 검토합니다. 사용 중인 리소스에서 원하는 작업을 완료하는 데 필요한 권한이 있는지 확인합니다.

사용된 서브넷에는 일부 작업을 허용하거나 거부하는 정책이 포함된 VPC 엔드포인트가 있습니다.

다음과 유사한 오류가 발생할 수 있습니다.

"User: arn:aws:sts::1111111111:assumed-role/xxxxxxxxx/yyyyyyyyyyy is not authorized to perform: glue:CreateJob because no VPC endpoint policy allows the glue:CreateJob action (Service: Glue, Status Code: 400, Request ID:111111111111111)"

이 문제를 해결하려면 다음과 같이 하십시오.

1.    Amazon Virtual Private Cloud(Amazon VPC) 콘솔을 엽니다.

2.    엔드포인트를 선택한 다음 사용 중인 서브넷에 연결된 VPC 엔드포인트를 선택하여 작업을 완료합니다.

3.    작업에서 정책 관리를 선택합니다.

4.    필요한 리소스에서 원하는 작업을 수행하도록 VPC 엔드포인트 정책을 업데이트합니다.

이 예에서는 glue:CreateJob 작업을 추가하는 데 필요한 VPC 엔드포인트 정책을 업데이트합니다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Principal": "*",
      "Effect": "Allow",
      "Action": [
        "glue:CreateJob"
      ],
      "Resource": "*"
    }
  ]
}

관련 정보

AWS Glue에 대한 IAM 역할 생성

AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음

관련 콘텐츠