PutResourcePolicy
Adds or updates a resource-based policy on a web function. A resource-based policy grants permissions to other AWS accounts or services to perform actions on the web function.
Request Syntax
PUT /2025-03-07/resource-policy/resourceArn HTTP/1.1
Content-type: application/json
{
"Policy": "string",
"RevisionId": "string"
}
URI Request Parameters
The request uses the following URI parameters.
- resourceArn
-
The Amazon Resource Name (ARN) of the web function.
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
arn:[^:]+:lambda:[^:]+:\d{12}:web-function/[^/]+Required: Yes
Request Body
The request accepts the following data in JSON format.
- Policy
-
The JSON-formatted resource-based policy to attach to the web function.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 20480.
Required: Yes
- RevisionId
-
The revision ID of the existing policy. Use this to prevent conflicts when updating a policy concurrently. If you don't specify a value, the update proceeds without checking the current revision.
Type: String
Pattern:
[0-9a-f-]{36}Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"Policy": "string",
"RevisionId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- Policy
-
The JSON-formatted resource-based policy attached to the web function.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 20480.
- RevisionId
-
The revision ID of the policy. Use this value in subsequent
PutResourcePolicyorDeleteResourcePolicyrequests to prevent conflicts.Type: String
Pattern:
[0-9a-f-]{36}
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedException
-
You don't have permission to perform this operation. Check the IAM policies for your identity and any resource-based policy on the web function.
- message
-
A message describing the access denied error.
HTTP Status Code: 403
- ConflictException
-
The request conflicts with the current state of the resource. For example, the resource is being modified by another request, you tried to delete a revision that is serving traffic on an endpoint, or the policy revision ID that you specified doesn't match the current policy. Resolve the conflict and try again.
- message
-
A message describing the conflict.
- resourceId
-
The identifier of the resource in conflict.
- resourceType
-
The type of the resource in conflict.
HTTP Status Code: 409
- InternalServerException
-
The request failed because of an internal error in the service. Retry the request. If the error persists, open a support case.
- message
-
A message describing the internal error.
HTTP Status Code: 500
- ResourceNotFoundException
-
The specified web function, revision, endpoint, or resource-based policy doesn't exist. Verify the resource identifier and try again.
- message
-
A message describing the resource not found error.
- resourceId
-
The identifier of the resource that was not found.
- resourceType
-
The type of the resource that was not found.
HTTP Status Code: 404
- ServiceQuotaExceededException
-
The request would exceed a service quota, such as the maximum number of web functions in your account or the maximum number of revisions or endpoints per web function. Request a quota increase or reduce usage and try again.
- message
-
A message describing the quota that was exceeded.
- quotaCode
-
The quota code of the exceeded quota.
- resourceId
-
The identifier of the resource that exceeded the quota.
- resourceType
-
The type of resource that exceeded the quota.
- serviceCode
-
The service code of the service that owns the quota.
HTTP Status Code: 402
- ThrottlingException
-
The request was denied because it exceeded the request rate that Lambda allows for your account. Reduce the frequency of requests and retry with exponential backoff.
- message
-
A message describing the throttling error.
- quotaCode
-
The quota code that was exceeded, if applicable.
- retryAfterSeconds
-
The number of seconds to wait before retrying the request.
- serviceCode
-
The service code of the throttled service.
HTTP Status Code: 429
- ValidationException
-
The request failed validation because a parameter was missing, malformed, or outside the allowed range. Check the request parameters and try again.
- message
-
A message describing the validation error.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: