Visualizar políticas do IAM baseadas em recurso no Lambda - AWS Lambda

Visualizar políticas do IAM baseadas em recurso no Lambda

O Lambda oferece suporte a políticas de permissões baseadas em recursos para funções e camadas do Lambda. Você pode usar políticas baseadas no recurso para conceder acesso a outras contas, organizações ou serviços da AWS. As políticas baseadas em recursos se aplicam a uma única função, versão, alias ou versão da camada.

Console
Como visualizar a política baseada em recursos de uma função
  1. Abra a página Funções do console do Lambda.

  2. Escolha uma função.

  3. Escolha Configuração e, em seguida, escolha Permissões.

  4. Role para baixo até Política baseada em recursos e escolha Exibir documento de política. A política baseada em recursos mostra as permissões aplicadas quando outra conta ou serviço da AWS tenta acessar a função. O exemplo a seguir mostra uma instrução que permite ao Amazon S3 invocar uma função chamada my-function para um bucket chamado amzn-s3-demo-bucket na conta 123456789012.

    exemplo Política baseada em recurso
    { "Version": "2012-10-17", "Id": "default", "Statement": [ { "Sid": "lambda-allow-s3-my-function", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:us-east-2:123456789012:function:my-function", "Condition": { "StringEquals": { "AWS:SourceAccount": "123456789012" }, "ArnLike": { "AWS:SourceArn": "arn:aws:s3:::amzn-s3-demo-bucket" } } } ] }
AWS CLI

Para exibir a política baseada em recursos de uma função, use o comando get-policy.

aws lambda get-policy \ --function-name my-function \ --output text

A seguinte saída deverá ser mostrada:

{"Version":"2012-10-17","Id":"default","Statement":[{"Sid":"sns","Effect":"Allow","Principal":{"Service":"s3.amazonaws.com"},"Action":"lambda:InvokeFunction","Resource":"arn:aws:lambda:us-east-2:123456789012:function:my-function","Condition":{"ArnLike":{"AWS:SourceArn":"arn:aws:sns:us-east-2:123456789012:lambda*"}}}]} 7c681fc9-b791-4e91-acdf-eb847fdaa0f0

Para versões e aliases, acrescente o número da versão ou o alias ao nome da função.

aws lambda get-policy --function-name my-function:PROD

Para remover permissões da função, use remove-permission.

aws lambda remove-permission \ --function-name example \ --statement-id sns

Use o comando get-layer-version-policy para visualizar as permissões em uma camada.

aws lambda get-layer-version-policy \ --layer-name my-layer \ --version-number 3 \ --output text

A seguinte saída deverá ser mostrada:

b0cd9796-d4eb-4564-939f-de7fe0b42236    {"Sid":"engineering-org","Effect":"Allow","Principal":"*","Action":"lambda:GetLayerVersion","Resource":"arn:aws:lambda:us-west-2:123456789012:layer:my-layer:3","Condition":{"StringEquals":{"aws:PrincipalOrgID":"o-t194hfs8cz"}}}"

Use remove-layer-version-permission para remover instruções da política.

aws lambda remove-layer-version-permission --layer-name my-layer --version-number 3 --statement-id engineering-org

Ações da API com suporte

As seguintes ações de API do Lambda são compatíveis com as políticas baseadas em recursos: