View a markdown version of this page

Concedere l'accesso alle funzioni a un'organizzazione - 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à.

Concedere l'accesso alle funzioni a un'organizzazione

Per concedere le autorizzazioni a tutti gli account di un'AWS Organizationsorganizzazione, ti consigliamo di utilizzare put-resource-policy per creare una policy JSON completa con la aws:PrincipalOrgID chiave di condizione.

Importante

L'utilizzo put-resource-policy sostituisce qualsiasi politica basata sulle risorse esistente sulla risorsa. Se la risorsa dispone già delle autorizzazioni definite con, le sovrascrive. add-permission put-resource-policy Utilizzato get-resource-policy per recuperare la politica esistente prima di apportare modifiche.

Utilizzo di una policy JSON completa (consigliato)

Il seguente esempio di policy concede l'accesso a tutti i Account AWS membri dell'organizzazione: o-a1b2c3d4e5f

{ "Version": "2012-10-17", "Statement": [ { "Sid": "org-access", "Effect": "Allow", "Principal": "*", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:us-east-2:123456789012:function:my-function", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5f" } } } ] }

Salva la politica in un file denominato policy.json e applicala:

aws lambda put-resource-policy \ --resource-arn arn:aws:lambda:us-east-2:123456789012:function:my-function \ --policy file://policy.json

Con una policy JSON completa, puoi anche negare l'accesso a account specifici all'interno di un'organizzazione:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "allow-org", "Effect": "Allow", "Principal": "*", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:us-east-2:123456789012:function:my-function", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5f" } } }, { "Sid": "deny-specific-account", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::999888777666:root" }, "Action": "lambda:InvokeFunction", "Resource": [ "arn:aws:lambda:us-east-2:123456789012:function:my-function", "arn:aws:lambda:us-east-2:123456789012:function:my-function:*" ] } ] }

Utilizzo dell'autorizzazione aggiuntiva

Per casi d'uso semplici, è possibile utilizzare add-permission con l'principal-org-idopzione. Il comando seguente concede l'accesso alle chiamate a tutti gli utenti dell'organizzazione: o-a1b2c3d4e5f

aws lambda add-permission \ --function-name my-function \ --statement-id org-access \ --action lambda:InvokeFunction \ --principal * \ --principal-org-id o-a1b2c3d4e5f
Nota

In questo comando, Principal è *. Ciò significa che tutti gli utenti dell'organizzazione o-a1b2c3d4e5f ottengono le autorizzazioni di invocazione delle funzioni. Se si specifica un ruolo Account AWS or comePrincipal, solo tale principale ottiene i permessi di invocazione della funzione, ma solo se fa anche parte dell'organizzazione. o-a1b2c3d4e5f

Per ulteriori informazioni, consulta aws: PrincipalOrg ID nella guida per l'utente IAM.