Conceder a outras contas acesso às camadas - AWS Lambda

Conceder a outras contas acesso às camadas

Para compartilhar uma camada com outra Conta da AWS, adicione uma instrução de permissões entre contas à política baseada no recurso da camada. Execute o comando add-layer-version-permission e especifique o ID da conta como a principal. Em cada instrução, você pode conceder permissão apenas a uma conta, a todas as contas ou a uma organização do AWS Organizations.

O exemplo a seguir concede à conta 111122223333 acesso à versão 2 da camada bash-runtime.

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

Você deve ver saída semelhante a:

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

As permissões se aplicam apenas a uma única versão de camada. Repita o processo sempre que criar uma nova versão da camada.

Para conceder permissão a todas as contas de uma organização do AWS Organizations, use a opção organization-id. O exemplo a seguir concede a todas as contas de uma organização a permissão o-t194hfs8cz para usar a versão 3 de my-layer.

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

A seguinte saída deverá ser mostrada:

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

Para conceder permissão a várias contas ou organizações, é necessário adicionar várias instruções.