Utilizzo di politiche basate sulle risorse IAM in Lambda - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di politiche basate sulle risorse IAM in Lambda

Lambda supporta le policy di autorizzazioni basate sulle risorse per le funzioni e i livelli Lambda. Puoi utilizzare politiche basate sulle risorse per concedere l'accesso ad altri account, organizzazioni o servizi.AWS Le policy basate sulle risorse si applicano a una singola funzione, versione, alias o versione del livello.

Console
Per visualizzare le policy basate sulle risorse di una funzione
  1. Aprire la pagina Funzioni della console Lambda.

  2. Scegliere una funzione.

  3. Scegliere Configuration (Configurazione), quindi Permissions (Autorizzazioni).

  4. Scorrere verso il basso fino a Policy basata su risorse, quindi scegliere View Policy Document (Visualizza documento policy). La politica basata sulle risorse mostra le autorizzazioni applicate quando un altro account o AWS servizio tenta di accedere alla funzione. L'esempio seguente mostra un'istruzione che consente ad Amazon S3 di richiamare una funzione denominata my-function per un bucket denominato amzn-s3-demo-bucket nell'account 123456789012.

    Esempio Policy basata su risorse
    { "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

Per visualizzare una policy basata sulle risorse di una funzione, utilizzare il comando get-policy.

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

Verrà visualizzato l'output seguente:

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

Per le versioni e gli alias, aggiungere il numero di versione o un alias al nome della funzione.

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

Per rimuovere le autorizzazioni dalla funzione, utilizzare remove-permission.

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

Utilizzare il comando get-layer-version-policy per visualizzare le autorizzazioni su un layer.

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

Verrà visualizzato l'output seguente:

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

Utilizzare remove-layer-version-permission per rimuovere le istruzioni dalla policy.

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

APIAzioni supportate

Le seguenti API azioni Lambda supportano le politiche basate sulle risorse: