2012-02-20 55 views
2

我的使用情况是允许用户创建新的用户名/密码,为每个用户创建一个文件夹,并允许他们上载文件。认证和使用IAM用户访问S3

然后,当他们回来,他们可以与用户/密码登录并下载他们的文件(这是我们的产品中使用)

我设法让大多数使用C#API来完成的工作人员 - 很开心! 唯一的问题是,我找不到用IAM验证用户的方法 - 使用用户名/密码。

我不希望最终用户的后顾之忧键/秘密和长字符串,它们被假设是能够传递这些信息(和访问数据文件)与其他用户,以帮助他们。

有没有办法来验证的IAM用户名/密码?谢谢,Uri。

+0

我假设你的意思是通过控制台的用户名/密码?所以这不是一个C#或API问题。对不起,如果是。 – Gray 2013-03-14 01:05:11

回答

2

您需要使用“联合访问” - 因为您的用户在系统上拥有帐户和密码。然后他们通过系统进行身份验证,并通过基于会话的系统(加密的cookie或memcache等)授予他们长达36小时的访问权限以访问其文件夹。

您可以用Web应用程序或使用独立的C#Windows应用程序,验证您的服务器做到这一点。

使用Web应用程序,用户登录,用户/通行证,然后存储加密的Cookie或类似信息,以便您的Web应用程序可以在登录时进行预先签名的帖子,下载文件等。他们不需要看到AWSID/Secret。

+0

这就是我所认为的,AWS不允许对用户进行身份验证。 – 2012-02-20 23:56:55

+0

我最终做的是将用户名/密码/密钥/秘密存储在我的数据库/服务器上,并在本地进行身份验证 - 实际上这非常简单。 – 2012-02-20 23:57:51

+0

您可以使用用户密码加密aws信息。既然你也只存储密码哈希,那么你将拥有一个数据库,如果被盗只会给小偷一些腌过的哈希和一些加密的东西,以及他们的用户名。 – 2012-02-25 22:24:51

0

不需要。您需要使用密钥/密码。这是简短的答案。当您在IAM中创建一个新用户时,它将为该特定用户提供他们自己的密钥/秘密。他们需要做的就是登录,抢他们的键/秘密和冲它

管理IAM用户及其访问 - 您可以在IAM创建用户, 分配用户个人安全证书(即访问密钥, 密码,多因素认证设备),或请求临时 安全证书,以提供用户访问AWS服务和资源 。您可以管理权限以控制用户可以执行哪些操作。 - aws.amazon.com/iam

1

据我了解的问题,这似乎是可用的。您只需要让他们从AWS IAM主页上提供的登录链接登录到控制台。

IAM console sign-in link

然后,您将需要指定一个密码有问题的用户帐户,并添加策略为他们,使他们能够在问题进入S3桶。你需要列出我的所有存储桶才能通过控制台的第一个屏幕。我只是试了一下,像下面的作品:

{ 
    "Statement": [ 
    { 
     "Sid": "Stmt1363222128", 
     "Effect": "Allow", 
     "Action": "s3:ListAllMyBuckets", 
     "Resource": "*" 
    }, 
    { 
     "Sid": "Stmt136328293", 
     "Action": [ 
     "s3:*" 
     ], 
     "Effect": "Allow", 
     "Resource": [ 
     "arn:aws:s3:::your_bucket_name" 
     ] 
    } 
    ] 
} 
+0

谢谢@gray。解决了我的问题。 – 2015-01-21 07:43:28

相关问题