我正在用 Java 编写自己的报告软件,并计划使用 RDS 进行数据存储。我想用 AWS IAM 做 AA。是否有任何您可能知道并与我分享的使用 AWS Identity and Access Management 进行身份验证和授权的示例?
我不是在研究如何从亚马逊的控制台设置用户或如何发出控制台命令。相反,我希望看到一些 Java 代码如何识别用户是否使用他/她的凭据(用户 ID、密码组合)进行了身份验证,以及该人是否有权访问特定报告。
我正在用 Java 编写自己的报告软件,并计划使用 RDS 进行数据存储。我想用 AWS IAM 做 AA。是否有任何您可能知道并与我分享的使用 AWS Identity and Access Management 进行身份验证和授权的示例?
我不是在研究如何从亚马逊的控制台设置用户或如何发出控制台命令。相反,我希望看到一些 Java 代码如何识别用户是否使用他/她的凭据(用户 ID、密码组合)进行了身份验证,以及该人是否有权访问特定报告。
AWS IAM 并非旨在使用您自己的应用程序对用户进行身份验证。AWS IAM 旨在使用AWS 服务对用户进行身份验证。
查看用户是否是真实用户(身份验证)以及该用户是否被授权的唯一方法是实际进行 AWS API 调用。
例如,您可以创建如下所示的策略并将其附加到用户/组:
{
"Statement":[{
"Effect":"Allow",
"Action":["rds:CreateDBSecurityGroup",
"rds:DeleteDBSecurityGroup",
"rds:DescribeDBSecurityGroup",
"rds:AuthorizeDBSecurityGroupIngress",
"rds:RevokeDBSecurityGroupIngress"],
"Resource":"*"
}
]
}
拥有此策略的用户或组只能进行这些 API 调用,而不能进行其他 API 调用。
请参阅此处:http ://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAM.html
亚马逊有一个叫做 Cognito 的东西,它旨在跨移动设备同步应用程序配置文件。不过,适用于您的问题的是,它还允许用户通过 Google、Facebook 或 Amazon 进行身份验证(它使用 OAuth)。