【问题标题】:How to authenticate and authorize with AWS Identity and Access Management?如何使用 AWS Identity and Access Management 进行身份验证和授权?
【发布时间】:2014-09-30 00:33:34
【问题描述】:

我正在用 Java 编写自己的报告软件,并计划使用 RDS 进行数据存储。我想参加 A.A.使用 AWS IAM。是否有任何您可能知道并与我分享的使用 AWS Identity and Access Management 进行身份验证和授权的示例?

我不是在研究如何从亚马逊的控制台设置用户或如何发出控制台命令。相反,我希望看到一些 Java 代码如何识别用户是否使用他/她的凭据(用户 ID、密码组合)进行身份验证,以及该人是否有权访问特定报告。

【问题讨论】:

  • 我在 AWS 网站上没有看到一个,尽管那里有几个代码示例。您为什么不向我们展示您迄今为止所做的尝试,以及您是如何陷入困境的?
  • aws.amazon.com/iam/faqs/#How_do_I_get_started_with_IAM 说:要开始使用 IAM,您必须订阅至少一项与 IAM 集成的 AWS 服务。然后,您可以通过 IAM API、命令行工具或通过 IAM 控制台创建和管理用户、组和权限,该控制台为您提供基于 Web 的点击式界面。您还可以使用 AWS 策略生成器来创建策略。

标签: authentication amazon-web-services authorization amazon-iam


【解决方案1】:

AWS IAM 并非旨在使用您自己的应用程序对用户进行身份验证。 AWS IAM 旨在使用 AWS 服务对用户进行身份验证。

查看用户是否是真实用户(身份验证)以及该用户是否被授权的唯一方法是实际进行 AWS API 调用。

例如,您可以创建如下所示的策略并将其附加到用户/组:

{
   "Statement":[{
      "Effect":"Allow",
      "Action":["rds:CreateDBSecurityGroup",
                "rds:DeleteDBSecurityGroup",
                "rds:DescribeDBSecurityGroup",
                "rds:AuthorizeDBSecurityGroupIngress",
                "rds:RevokeDBSecurityGroupIngress"],
      "Resource":"*"
      }
   ]
}

拥有此策略的用户或组只能进行这些 API 调用,而不能进行其他调用。

请看这里:http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAM.html

【讨论】:

    【解决方案2】:

    亚马逊有一个叫做 Cognito 的东西,它旨在跨移动设备同步应用程序配置文件。不过,适用于您的问题的是,它还允许用户通过 Google、Facebook 或 Amazon 进行身份验证(它使用 OAuth)。

    http://aws.amazon.com/cognito/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-31
      • 1970-01-01
      • 2012-06-29
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      • 2018-08-21
      相关资源
      最近更新 更多