要向 AWS Organizations 中的组织授予权限,请将组织 ID 指定为 principal-org-id
。以下 add-permissiono-a1b2c3d4e5f
中的所有用户授予调用访问权限。
aws lambda add-permission \ --function-name example \ --statement-id PrincipalOrgIDExample \ --action lambda:InvokeFunction \ --principal * \ --principal-org-id o-a1b2c3d4e5f
注意
在此命令中,Principal
为 *
。这意味着组织 o-a1b2c3d4e5f
中的所有用户都获得了函数调用权限。如果您将某个 AWS 账户 或角色指定为 Principal
,则只有该主体会获得函数调用权限,但前提是他们也是 o-a1b2c3d4e5f
组织的成员。
此命令会创建一个基于资源的策略,如下所示:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PrincipalOrgIDExample", "Effect": "Allow", "Principal": "*", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:us-east-2:123456789012:function:example",
"Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5f" } }
} ] }
有关更多信息,请参阅《IAM 用户指南》中的 aws:PrincipalOrgID。