如何在路由您的应用程序时以编程方式在 IAM 用户之间切换?

How to programmatically switch between IAM users when routing your app?

当您希望不同的 IAM 用户在您的代码中处理各种路由时,是否可以实现这样的逻辑?

假设您设置了三个具有各自 CRUD 权限的 IAM 用户:

iam_users = [
    app_reader,    // Read permission
    app_updater,   // Update permission
    app_deleter    // Delete permission
]

你的逻辑是这样的:

    if (read request is sent) { set AWS user to app_reader }
    else if (update request is sent) { set AWS user to app_updater }
    else if (delete request is sent) { set AWS user to app_deleter }

最好使用 IAM roles 而不是不同的 IAM 用户来获得此类功能。

因此,在您的代码中,您必须使用 sts assume-role 将读取、更新和删除操作委托给相应的 IAM 角色。这样,API 对 AWS 的调用将使用角色的权限执行。