Lambda 계층에 다른 계정에 대한 액세스 권한 부여 - AWS Lambda

Lambda 계층에 다른 계정에 대한 액세스 권한 부여

계층을 다른 AWS 계정와 공유하려면 계층의 리소스 기반 정책에 교차 계정 권한 문을 추가합니다. add-layer-version-permission 명령을 실행하고 계정 ID를 principal로 지정합니다. 각 문에서 단일 계정, 모든 계정 또는 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 옵션을 사용합니다. 다음 예제에서는 my-layer의 버전 3을 사용할 권한을 o-t194hfs8cz 조직 내 모든 계정에 부여합니다.

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"}}}"

여러 계정 또는 조직에 권한을 부여하려면 여러 개의 문을 추가해야 합니다.