我想在 .NET Core 中使用 AWSSDK 与 S3 进行交互。
为此,我可以指定访问密钥和秘密。
但是,我的印象是这不是必需的,如果尝试访问 S3 的代码在 EC2 实例下运行?这可以用一些 IAM 魔法来完成吗?
EC2 可以与Instance Profile
一个 IAM 角色的容器相关联。有关如何管理实例配置文件的说明,请参阅使用实例配置文件 - AWS Identity and Access Management。
一旦 IAM 角色附加到 EC2(使用实例配置文件),在 EC2 上运行的应用程序就可以担任该角色。
在 EC2 上运行的应用程序遵循一系列凭证提供程序来获取凭证,而实例配置文件凭证(通过 EC2 元数据服务提供)就是其中之一。对于大多数 AWS 开发工具包,您无需在应用程序中执行任何特殊操作即可使用实例配置文件凭证。有关更多详细信息,请参阅您的 SDK 文档(例如Java SDK 文档)。使用 .NET Core,您只需在Startup
类中添加类似的内容
public void ConfigureServices(IServiceCollection services)
{
...
services.AddDefaultAWSOptions(Configuration.GetAWSOptions());
services.AddAWSService<IAmazonS3>();
...
}
然后你可以依赖IAmazonS3
你的应用程序类,事情就会正常工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句