繁体   English   中英

来自 C# 中 Nuget 包的 AWS 凭证

[英]AWS Credentials from Nuget package in C#

我正在构建一个 Nuget 包,它将能够将数据放入 AWS 上的 Kinesis Steam。

我不希望 Nuget 包本身包含任何凭据。 我希望 nuget 包使用 web.config 或 app.config 中的任何应用程序正在使用它的密钥。

我的问题是:

默认情况下会发生这种情况吗? 还是 AmazonKinesisClient 会尝试从 nuget 包本身的 app.config 中读取然后放弃?

在后一种情况下,nuget 包有什么方法可以从托管应用程序加载凭据,还是会强制托管应用程序将凭据显式传递给 nuget 包?

我非常希望不强制托管应用程序传递凭据。

nuget 包面向 .NET Framework V4.5

即使您在 Nuget 包中使用 AWS 开发工具包,它仍会从正在运行的应用程序的 app.config 获取连接信息。

我已经对此进行了测试,并通过在 .net 4.5 中构建控制台应用程序,将配置文件信息添加到应用程序配置来确认这一点。 然后创建一个单独的库并使用 nuget 对其进行打包。 该库不提供凭据。 我将 Nuget 包添加到我的控制台应用程序,它成功连接到 app.config 中指定的帐户配置文件。

如果应用程序正在使用 AWS dotnet 开发工具包创建 Kinesis 客户端,并且您的包没有专门将凭证传递给客户端,则开发工具包会按下面列出的顺序查找凭证。

我也会为开发人员提供一个为您的班级提供凭据的选项,以便他们可以手动设置凭据。 除了 SDK 使用的配置文件系统之外,开发人员可能还有另一种管理凭据的机制。

SDK 将:

  • 在 App.config 中查找 AWSAccessKey 和 AWSSecretKey
  • 搜索 SDK
  • 存储搜索凭据文件
  • 搜索实例配置文件

可在此处找到更多信息: https : //aws.amazon.com/blogs/developer/referencing-credentials-using-profiles/

暂无
暂无

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

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