要解决AWS API网关中未经授权的用户无法执行的问题,可以按照以下步骤进行操作:
首先,确保你拥有足够的权限来对API网关进行更改。可以使用具有适当权限的IAM用户或角色登录到AWS管理控制台。
打开AWS API网关控制台,并找到你想要更改权限的API。
在API网关控制台中,选择“资源”选项卡。
在资源列表中,选择你想要更改权限的特定资源。
在资源的“方法执行”部分,找到你想要更改权限的HTTP方法(如GET、POST等)。
单击所选HTTP方法旁边的“授权”按钮。
在弹出的对话框中,选择“自定义授权”。
在“授权类型”下拉菜单中,选择“AWS_IAM”。
单击“授权”按钮以保存更改。
现在,只有在提供正确的AWS IAM凭证的情况下,才能执行该API方法。
下面是一个使用AWS SDK for JavaScript(例如Node.js)调用经过授权的API网关的示例代码:
const AWS = require('aws-sdk');
const apigateway = new AWS.APIGateway();
const params = {
restApiId: 'your_rest_api_id',
stageName: 'your_stage_name',
httpMethod: 'GET',
resourceId: 'your_resource_id',
};
apigateway.invokeAuthorizer(params, function(err, data) {
if (err) {
console.log(err, err.stack);
} else {
console.log(data);
}
});
请注意,上述代码中的参数值需要替换为你自己的API网关特定值。
通过执行上述步骤和使用适当的授权类型,你可以确保只有经过授权的用户才能成功执行API网关中的方法。