Octroi de l’accès de la couche Lambda à d’autres comptes
Pour partager une couche avec un autre Compte AWS, ajoutez une instruction d’autorisations entre comptes à la politique basée sur les ressources de la couche. Exécutez la commande add-layer-version-permissionprincipal. Dans chaque instruction, vous pouvez accorder une autorisation à un compte unique, à tous les comptes ou à une organisation dans AWS Organizations.
L’exemple suivant autorise le compte 111122223333 à accéder à la version 2 de la couche 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
Vous devez voir des résultats similaires à ce qui suit :
{"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"}
Les autorisations ne s’appliquent qu’à une seule version de couche. Répétez le processus chaque fois que vous créez une nouvelle version de la couche.
Pour accorder l’autorisation à tous les comptes d’une organisation AWS Organizations, utilisez l’option organization-id. L’exemple suivant accorde à tous les comptes d’une organisation o-t194hfs8cz l’autorisation d’utiliser la version 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
Vous devriez voir la sortie suivante :
{"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"}}}"
Pour octroyer l’autorisation à plusieurs comptes ou organisations, vous devez ajouter plusieurs instructions.