要允许来自另一个AWS账户的Lambda函数访问API,可以通过以下步骤实现:
登录AWS控制台,并转到API Gateway服务页面。
创建或选择您要为其授权的API。
在API的设置页面,选择“资源”选项卡,并选择您要授权的资源。
在资源的设置页面,选择“资源”选项卡,并选择您要授权的方法(GET、POST等)。
在方法的设置页面,选择“集成请求”选项卡。
在集成请求页面,选择“Lambda函数”作为集成类型。
在Lambda函数区域,选择“使用Lambda代理集成”。
在“Lambda代理集成”中,选择您要访问API的Lambda函数。
在“操作”下拉菜单中,选择“添加头映射”。
在“头映射”对话框中,输入“x-amz-security-token”作为键,并将另一个AWS账户的访问密钥临时凭证的值作为值。
单击“确定”保存头映射。
单击“保存”以保存集成请求设置。
完成上述步骤后,您的API现在已经允许另一个AWS账户的Lambda函数通过使用访问密钥临时凭证来访问它。以下是使用AWS CLI创建头映射的示例代码:
aws apigateway update-integration --rest-api-id --resource-id --http-method --patch-operations op=replace,path=/integration/requestParameters/method.request.header.x-amz-security-token,value=YOUR_SECURITY_TOKEN
请将替换为您的API的ID,替换为您要授权的资源的ID,替换为您要授权的方法(GET、POST等),以及YOUR_SECURITY_TOKEN替换为另一个AWS账户的访问密钥临时凭证。