View a markdown version of this page

Octroi de l’accès à la fonction à une organisation - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Octroi de l’accès à la fonction à une organisation

Pour accorder des autorisations à tous les comptes d'une AWS Organizations organisation, nous vous recommandons put-resource-policy de créer une politique JSON complète avec la clé de aws:PrincipalOrgID condition.

Important

L'utilisation put-resource-policy remplace toute politique basée sur les ressources existante sur la ressource. Si la ressource possède déjà des autorisations définies paradd-permission, les put-resource-policy remplace. get-resource-policyUtilisez-le pour récupérer la politique existante avant d'apporter des modifications.

Utiliser une politique JSON complète (recommandé)

L'exemple de politique suivant permet d'invoquer l'accès à tous les membres de Comptes AWS l'organisation 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" } } } ] }

Enregistrez la politique dans un fichier nommé policy.json et appliquez-la :

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

Avec une politique JSON complète, vous pouvez également refuser l'accès à des comptes spécifiques au sein d'une organisation :

{ "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:*" ] } ] }

Utilisation de l'autorisation d'ajout

Pour des cas d'utilisation simples, vous pouvez utiliser add-permission principal-org-id cette option. La commande suivante accorde l'accès à l'invocation à tous les utilisateurs de l'organisation o-a1b2c3d4e5f :

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

Dans cette commande, Principal est *. Cela signifie que tous les utilisateurs de l’organisation o-a1b2c3d4e5f obtiennent des autorisations d’invocation de fonction. Si vous spécifiez un rôle Compte AWS ou comme rôlePrincipal, seul ce principal obtient les autorisations d'invocation de fonctions, mais uniquement s'il fait également partie de l'o-a1b2c3d4e5forganisation.

Pour plus d'informations, consultez aws : PrincipalOrg ID dans le guide de l'utilisateur IAM.