Troubleshooting AWS Lambda identity and access
Use the following information to help you diagnose and fix common issues that you might encounter when working with Lambda and IAM.
Topics
I am not authorized to perform an action in Lambda
If the AWS Management Console tells you that you're not authorized to perform an action, then you must contact your administrator for assistance. Your administrator is the person that provided you with your sign-in credentials.
The following example error occurs when the mateojackson
user tries to use the console to
view details about a function but does not have lambda:GetFunction
permissions.
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: lambda:GetFunction on resource: my-function
In this case, Mateo asks his administrator to update his policies to allow him to access the
my-function
resource using the lambda:GetFunction
action.
I am not authorized to perform iam:PassRole
If you receive an error that you're not authorized to perform the iam:PassRole
action, your policies must be updated to allow you to pass a role to Lambda.
Some AWS services allow you to pass an existing role to that service instead of creating a new service role or service-linked role. To do this, you must have permissions to pass the role to the service.
The following example error occurs when an IAM user named marymajor
tries to use the console to perform an action in
Lambda. However, the action requires the service to have permissions that are granted by a service role. Mary does not have permissions to pass the
role to the service.
User: arn:aws:iam::123456789012:user/
marymajor
is not authorized to perform: iam:PassRole
In this case, Mary's policies must be updated to allow her to perform the iam:PassRole
action.
If you need help, contact your AWS administrator. Your administrator is the person who provided you with your sign-in credentials.
I'm an administrator and want to migrate from AWS managed policies for Lambda that will be deprecated
After March 1, 2021, the AWS managed policies AWSLambdaReadOnlyAccess and AWSLambdaFullAccess will be deprecated and can no longer be attached to new users. For more information about policy deprecations, see Deprecated AWS managed policies in the IAM User Guide.
Lambda has introduced two new AWS managed policies:
-
The AWSLambda_ReadOnlyAccess policy grants read-only access to Lambda, Lambda console features, and other related AWS services. This policy was created by scoping down the previous policy AWSLambdaReadOnlyAccess.
-
The AWSLambda_FullAccess policy grants full access to Lambda, Lambda console features, and other related AWS services. This policy was created by scoping down the previous policy AWSLambdaFullAccess.
Using the AWS managed policies
We recommend using the newly launched managed policies to grant users, groups, and roles access to Lambda; however, review the permissions granted in the policies to ensure they meet your requirements.
-
To review the permissions of the AWSLambda_ReadOnlyAccess policy, see the AWSLambda_ReadOnlyAccess
policy page in the IAM console. -
To review the permissions of the AWSLambda_FullAccess policy, see the AWSLambda_FullAccess
policy page in the IAM console.
After reviewing the permissions, you can attach the policies to an IAM identity (groups, users, or roles). For instructions about attaching an AWS managed policy, see Adding and removing IAM identity permissions in the IAM User Guide.
Using customer managed policies
If you need more fine-grained access control or would like to add permissions, you can create your own customer managed policies. For more information, see Creating policies on the JSON tab in the IAM User Guide.
I want to allow people outside of my AWS account to access my Lambda resources
You can create a role that users in other accounts or people outside of your organization can use to access your resources. You can specify who is trusted to assume the role. For services that support resource-based policies or access control lists (ACLs), you can use those policies to grant people access to your resources.
To learn more, consult the following:
-
To learn whether Lambda supports these features, see How AWS Lambda works with IAM.
-
To learn how to provide access to your resources across AWS accounts that you own, see Providing access to an IAM user in another AWS account that you own in the IAM User Guide.
-
To learn how to provide access to your resources to third-party AWS accounts, see Providing access to AWS accounts owned by third parties in the IAM User Guide.
-
To learn how to provide access through identity federation, see Providing access to externally authenticated users (identity federation) in the IAM User Guide.
-
To learn the difference between using roles and resource-based policies for cross-account access, see How IAM roles differ from resource-based policies in the IAM User Guide.