Amazon RDS 프록시를 Lambda 함수에 연결할 때 "Lambda가 함수의 실행 역할을 업데이트할 수 없음(Lambda could not update the function's execution role)" 오류를 해결하려면 어떻게 해야 합니까?

2분 분량
0

Amazon RDS 프록시를 AWS Lambda 함수에 연결할 때 “Lambda가 함수의 실행 역할을 업데이트할 수 없습니다.”라는 오류가 발생합니다. 이 오류를 해결하려면 어떻게 해야 합니까?

간략한 설명

Lambda는 다음과 같은 이유로 함수의 실행 역할 오류를 업데이트할 수 없는 Lambda를 반환할 수 있습니다.

  • Lambda 실행 역할에 신뢰할 수 있는 엔터티가 둘 이상 연결되어 있습니다.
  • Lambda 함수의 실행 역할에 10개의 정책이 연결되어 있습니다.
  • 현재 로그인한 AWS Identity and Access Management(IAM) 사용자에게 "CreatePolicy""AttachRolePolicy" 권한이 없습니다.

해결 방법

Lambda 함수의 실행 역할에 신뢰할 수 있는 엔터티가 하나만 연결되어 있는지 확인

함수의 실행 역할을 검토하고 Lambda 서비스 (lambda.amazonaws.com)만 해당 역할을 맡을 수 있는지 확인하십시오.

참고: 다른 서비스에서 동일한 역할을 맡도록 하려면 새 역할을 만들고 해당 서비스를 신뢰할 수 있는 엔터티로 구성하십시오.

Lambda 함수의 실행 역할에 10개의 정책이 연결되어 있지 않은지 확인

함수의 실행 역할을 검토하여 10개의 정책이 연결되어 있는지 확인합니다. 역할에 10개의 정책이 연결되어 있는 경우, 기존 정책을 대체할 단일 사용자 지정 정책을 생성합니다.

참고: 실행 역할에 10개의 정책이 연결되어 있으면, Lambda 함수가 필요한 RDS 프록시 정책을 생성하여 역할에 연결할 수 없습니다.

RDS 프록시 정책 샘플

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "rds-db:connect",
            "Resource": "Proxy ARN"
        }
    ]
}

로그인한 IAM 사용자가 "CreatePolicy" 및 "AttachRolePolicy" 권한을 가지고 있는지 확인

로그인한 IAM 사용자의 IAM 정책을 검토하고 "CreatePolicy""AttachRolePolicy" 권한을 포함하는 정책을 확인합니다. 사용자의 정책에 필요한 권한이 포함되어 있지 않으면, 사용자에게 “CreatePolicy” 및 “AttachrolePolicy” 권한을 부여합니다.

참고: 로그인한 IAM 사용자에게 필요한 권한이 없으면, Lambda 콘솔에 다음 오류 중 하나 또는 둘 모두가 표시됩니다.

  • "사용자 <user-arn>이(가) <policy-name> 정책 리소스에서 iam:CreatePolicy을(를) 수행할 권한이 없음"
  • "사용자 <user-arn>이(가) <role-name> 역할 리소스에서 iam:AttachRolePolicy을(를) 수행할 권한이 없음"

 


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