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 put-resource-policy creare una policy JSON completa con la chiave di condizione. aws:PrincipalOrgID
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 get-resource-policyDa utilizzare per recuperare la policy esistente prima di apportare modifiche.
Utilizzo di una policy JSON completa (consigliata)
Il seguente esempio di policy grant richiama 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 policy 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 di add-permission
Per casi d'uso semplici, puoi utilizzare add-permission con l'principal-org-idopzione. Il comando seguente concede l'accesso alla chiamata 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 quel principale ottiene i permessi di richiamo della funzione, ma solo se fa anche parte dell'organizzazione. o-a1b2c3d4e5f
Per ulteriori informazioni, consulta aws: PrincipalOrg ID nella guida utente IAM.