다른 계정에 Lambda 레이어 접근 권한 부여하기

다른 계정에 Lambda 레이어 접근 권한 부여하기

레이어를 다른 AWS 계정과 공유하려면 레이어의 리소스 기반 정책에 교차 계정 권한 문을 추가하세요. add-layer-version-permission 명령을 실행하고 principal로 계정 ID를 지정해요. 각 문(statement)에서 단일 계정, 모든 계정 또는 AWS Organizations의 조직에 권한을 부여할 수 있어요.

다음 예시는 계정 111122223333에 bash-runtime 레이어 버전 2에 대한 접근 권한을 부여해요.

aws lambda add-layer-version-permission \
  --layer-name bash-runtime \
  --version-number 2 \  
  --statement-id xaccount \
  --action lambda:GetLayerVersion \
  --principal 111122223333 \
  --output text

다음과 유사한 출력이 표시돼야 해요.

{"Sid":"xaccount","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::111122223333:root"},"Action":"lambda:GetLayerVersion","Resource":"arn:aws:lambda:us-east-1:123456789012:layer:bash-runtime:2"}

권한은 단일 레이어 버전에만 적용돼요. 새 레이어 버전을 만들 때마다 프로세스를 반복하세요.

AWS Organizations 조직의 모든 계정에 권한을 부여하려면 organization-id 옵션을 사용하세요. 다음 예시는 조직 o-t194hfs8cz의 모든 계정에 my-layer 버전 3 사용 권한을 부여해요.

aws lambda add-layer-version-permission \
  --layer-name my-layer \
  --version-number 3 \
  --statement-id engineering-org \
  --principal '*' \
  --action lambda:GetLayerVersion \
  --organization-id o-t194hfs8cz \
  --output text

다음과 같은 출력이 표시돼야 해요.

{"Sid":"engineering-org","Effect":"Allow","Principal":"*","Action":"lambda:GetLayerVersion","Resource":"arn:aws:lambda:us-east-2:123456789012:layer:my-layer:3","Condition":{"StringEquals":{"aws:PrincipalOrgID":"o-t194hfs8cz"}}"

여러 계정이나 조직에 권한을 부여하려면 여러 문(statement)을 추가해야 해요.

더 알아보기 (Learn more)

Lambda 리소스 기반 정책에 대한 자세한 내용은 Lambda 함수에 대한 리소스 기반 정책 사용을 참고하세요.