Amazon web services 如何为部署到Elastic Beanstalk并与S3对话的Node.js应用程序设置AWS凭据?

Amazon web services 如何为部署到Elastic Beanstalk并与S3对话的Node.js应用程序设置AWS凭据?,amazon-web-services,amazon-ec2,amazon-s3,amazon-elastic-beanstalk,Amazon Web Services,Amazon Ec2,Amazon S3,Amazon Elastic Beanstalk,My node.js应用程序部署到Elastic Beanstalk,并通过与S3对话 在本地,所有工作正常,因为AWS凭据取自我的本地~/.AWS/credentials 但是,当部署到Elastic Beanstalk时,我会收到一个“拒绝访问”错误,因为我的节点应用程序没有与S3对话的AWS凭据 我在报纸上看到: 如果已将实例配置为使用IAM角色,则SDK将 自动选择这些凭据以在应用程序中使用, 而且您不需要在任何其他系统中手动提供凭据 格式 但是,我不确定如何配置EC2实例以使用IAM角

My node.js应用程序部署到Elastic Beanstalk,并通过与S3对话

在本地,所有工作正常,因为AWS凭据取自我的本地
~/.AWS/credentials

但是,当部署到Elastic Beanstalk时,我会收到一个“拒绝访问”错误,因为我的节点应用程序没有与S3对话的AWS凭据

我在报纸上看到:

如果已将实例配置为使用IAM角色,则SDK将 自动选择这些凭据以在应用程序中使用, 而且您不需要在任何其他系统中手动提供凭据 格式

但是,我不确定如何配置EC2实例以使用IAM角色

我是AWS新手,所以像IAM角色、用户、EC2实例、安全组等术语对我来说仍然没有完全的意义


请仔细解释。

有两种方法可以授予EC2实例访问其他AWS资源的权限。如您所知,其中一个是使用凭据文件,但角色本质上是在创建实例时附加到实例的凭据

这里要记住的一点很重要:您只能在创建实例时分配角色。无法将角色添加到正在运行的实例中。但是,您可以更改现有角色以授予其其他权限

您可以在IAM控制台中创建角色,并可以使用与用户或组相同的方式附加策略


例如,您可以设置一个允许您完全访问S3的角色,并在创建实例时将其分配给实例。对于任何通常需要AWS凭据的应用程序,都不需要这些凭据,因为实例凭借其角色本身就可以访问这些服务

我的理解是,当我部署到Elastic Beanstalk时(通过
eb deploy
)会自动创建实例。在这种情况下,我如何分配角色?此处的全部详细信息:感谢链接。我来看看。