我们已有一个现有的应用程序,我们正在开发AWS中的应用程序所需的新API。
我们希望为AWS API启用基于角色的访问控制,而无需将用户迁移到AWS Cognito。我们认为我们可能需要使用Developer Identity Provider和IAM Roles,但不确定我们的应用程序中的用户将如何附加到IAM角色。这方面的任何帮助都会很明显。
提前致谢。
注意:我是AWS新手。
答案 0 :(得分:1)
我想你应该看看API Gateway Custom Authorizers。
这样您就可以将现有的授权系统插入API网关。只要您不直接与用户共享AWS资源,我就不会使用IAM角色。
如果您只为应用程序使用基于角色的访问控制,则使用现有的应用程序角色绝对没问题。您只需要使它们可访问,因此自定义授权程序lambda可以验证对它的授权。
答案 1 :(得分:0)
由于您计划使用API的应用程序的现有角色和权限,因此有几种选择。
使用最近引入的具有Cognito User Groups功能的IAM授权程序,并将您现有的角色映射到Developer Identity提供程序中的属性,并将它们映射到Groups。使用此功能,您可以通过在IAM策略中定义不同的用户组来定义不同的API网关资源。
使用自定义授权程序,您需要编写自定义授权程序代码以进行身份验证和授权。