我的用例是允许用户创建新用户/密码,为每个用户创建一个文件夹并允许他们上传文件。
然后当他们回来时,他们可以使用用户/密码登录并下载他们的文件(在我们的产品中使用)
我设法使用C#API完成了大部分工作人员 - 非常高兴! 唯一的问题是我找不到使用IAM对用户进行身份验证的方法 - 使用用户名/密码。
我不希望最终用户担心密钥/密钥和长字符串,他们假设能够与其他用户一起传输这些详细信息(以及访问数据文件)以帮助他们。
有没有办法验证IAM用户名/密码?谢谢,Uri。
答案 0 :(得分:2)
您需要使用“联合访问权限” - 您的系统上拥有帐户和密码的用户。然后,他们通过您的系统进行身份验证,并通过基于会话的系统(加密cookie或内存缓存等)授予他们长达36小时的访问权限,以访问其文件夹。
您可以使用Web应用程序或对服务器进行身份验证的独立C#windows应用程序执行此操作。
使用网络应用,您的用户登录,用户/通过,然后您存储加密的cookie或类似,以便您的网络应用程序可以在登录时进行预签名的帖子,下载文件等。没有他们需要看到一个AWSID / Secret。
答案 1 :(得分:1)
据我所知,这似乎是可行的。您只需要让他们从AWS IAM主页上提供的登录链接登录到控制台。
然后,您需要为相关用户帐户分配密码,并为他们添加策略,以便他们可以访问相关的S3存储桶。您需要列出我的所有存储桶才能通过控制台的第一个屏幕。我只是尝试了它,类似下面的工作:
{
"Statement": [
{
"Sid": "Stmt1363222128",
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "*"
},
{
"Sid": "Stmt136328293",
"Action": [
"s3:*"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::your_bucket_name"
]
}
]
}
答案 2 :(得分:0)
没有。您将需要使用密钥/秘密。这是简短的答案。当您在IAM中创建新用户时,它将为该特定用户提供他们自己的密钥/秘密。他们所需要做的就是登录,抓住他们的密钥/秘密并将其打入。
管理IAM用户及其访问权限 - 您可以在IAM中创建用户, 为用户分配个人安全凭证(即访问密钥, 密码,多重身份验证设备)或请求临时 安全凭证,为用户提供对AWS服务的访问权限 资源。您可以管理权限以控制哪些操作a 用户可以执行。 - aws.amazon.com/iam