繁体   English   中英

发送带有S3存储桶访问密钥的MFA令牌,使用c#上传文件

[英]Send MFA token with access key for S3 bucket, file upload using c#

我正在尝试在我的应用程序中添加MFA(多重身份验证),我将在aws S3存储桶中存储对象。 我查看了AWS文档,但在C#中以编程方式向AWS发送任何请求时,找不到任何可以传递MFA tokedn的内容。

这是我没有MFA的工作代码段,

var awsCredentials = new BasicAWSCredentials(accessKey, secretKey);
_client = new AmazonS3Client(awsCredentials, Amazon.RegionEndpoint.USEast1);

var putRequest = new PutObjectRequest
{

BucketName = ConfigurationManager.AppSettings["S3BucketName"],
Key = fileName,
FilePath = localFilePath,
ContentType = "image/" + Path.GetExtension(fileName),
CannedACL = S3CannedACL.PublicRead
};
var req = JsonConvert.SerializeObject(putRequest);

我希望在上面的代码中添加MFA身份验证令牌。

来自MFA令牌的TOTP不直接与请求一起传递。

相反,您首先调用安全令牌服务(STS),其中您实际上“交换”当前凭据和MFA信息,以获取用于验证后续请求的一组临时凭证。

用户来电支持MFA参数时,AWS STS API操作的一个AssumeRoleGetSessionToken ,这取决于MFA保护的情况下,后面会解释。 作为呼叫的一部分,用户包括与用户相关联的设备的设备标识符。 用户还包括设备生成的基于时间的一次性密码(TOTP)。 在任何一种情况下,用户都会获得临时安全凭证,然后用户可以使用该凭证向AWS发出其他请求。

https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM