AddLayerVersionPermission - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

AddLayerVersionPermission

为某个 Amazon Lambda 层的某个版本添加基于资源的策略权限。使用此操作可将层使用权限授予其他账户。您可以向企业中的单个账户、所有账户或所有Amazon账户授予权限。

要撤销权限,请调用 RemoveLayerVersionPermission 与您在添加时指定的语句 ID。

请求语法

POST /2018-10-31/layers/LayerName/versions/VersionNumber/policy?RevisionId=RevisionId HTTP/1.1 Content-type: application/json { "Action": "string", "OrganizationId": "string", "Principal": "string", "StatementId": "string" }

URI 请求参数

请求使用以下 URI 参数。

LayerName

层的名称或 Amazon Resource Name (ARN)。

长度限制:最小长度为 1。长度上限为 140。

模式:(arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+)|[a-zA-Z0-9-_]+

必需:是

RevisionId

仅当修订版 ID 与指定的 ID 匹配时才更新策略。使用此选项以避免修改自上次读取后已发生更改的策略。

VersionNumber

版本号。

必需:是

请求体

请求接受采用 JSON 格式的以下数据。

Action

授予层访问权限的 API 操作。例如,lambda:GetLayerVersion

类型:字符串

长度约束:最大长度为 22。

模式:lambda:GetLayerVersion

必需:是

OrganizationId

如果将主体设置为 *,则为指定组织中的所有账户授予权限。

类型:字符串

长度约束:最大长度为 34。

模式:o-[a-z0-9]{10,32}

必需:否

Principal

账户 ID 或 * 为企业中的所有账户或所有Amazon账户(如果 organizationId 未指定)授予层级使用权限。对于后一种情况,请确保您确实希望所有Amazon账户都具有此层级的使用权限。

类型:字符串

模式:\d{12}|\*|arn:(aws[a-zA-Z-]*):iam::\d{12}:root

必需:是

StatementId

将策略与同一层版本上的其他策略区分开来的标识符。

类型:字符串

长度约束:最小长度为 1。最大长度为 100。

模式:([a-zA-Z0-9-_]+)

必需:是

响应语法

HTTP/1.1 201 Content-type: application/json { "RevisionId": "string", "Statement": "string" }

响应元素

如果此操作成功,则该服务将会发送回 HTTP 201 响应。

服务以 JSON 格式返回的以下数据。

RevisionId

策略当前修订版的唯一标识符。

类型:字符串

Statement

权限语句。

类型:字符串

错误

有关所有操作返回的常见错误的信息,请参阅 常见错误

InvalidParameterValueException

请求中的参数之一无效。

HTTP 状态代码:400

PolicyLengthExceededException

资源的权限策略太大。有关更多信息,请参阅 Lambda 限额

HTTP 状态代码:400

PreconditionFailedException

提供的 RevisionId 与 Lambda 函数或别名的最新 RevisionId 不匹配。调用 GetFunctionGetAlias API 操作来检索您的资源的最新 RevisionId。

HTTP 状态代码:412

ResourceConflictException

资源已存在,或者其他操作正在进行中。

HTTP 状态代码:409

ResourceNotFoundException

请求中指定的资源不存在。

HTTP 状态代码:404

ServiceException

Amazon Lambda 服务遇到了内部错误。

HTTP 状态代码:500

TooManyRequestsException

超出了请求吞吐量限制。有关更多信息,请参阅 Lambda 限额

HTTP 状态代码:429

另请参阅

有关在特定语言的 Amazon SDK 中使用此 API 的更多信息,请参阅以下内容: