我想定期将文件从本地服务器推送到AWS S3

时间:2019-02-28 12:00:59

标签: amazon-web-services amazon-s3 boto3 amazon-iam

我会在本地服务器上定期生成一些文件(大小为KB KB)。我想在它们生成后立即将它们推到s3。我该如何管理访问权限?

我正在使用python的boto3软件包来这样做。如何创建新的IAM角色,如何管理访问权限?如果是这样,如何指定权限?

1 个答案:

答案 0 :(得分:0)

这里有一些要求:

  • 您需要“触发”上传文件。这可能是一项cron作业/预定任务,或者可能是由生成文件的任何进程专门触发的
  • 然后您可以使用AWS Command-Line Interface (CLI)命令上传文件aws s3 cpaws s3 sync),也可以在编写自己的程序时使用建议。

AWS CLI或您自己的程序将需要AWS凭证。推荐的方法是:

  • 在IAM中创建用户并记下凭据(访问密钥,秘密密钥)
  • 向用户分配最小权限 ,使其具有执行该功能的足够权限(例如,给定存储桶的s3:PutObject)。不要在每个存储桶上分配s3:*! (对安全性非常不利。)
  • 在本地计算机上,运行aws configure(AWS CLI的一部分),并输入创建IAM用户时提供的凭证

这会将凭据放置在计算机上的.aws/credentials文件中。切勿在您的编程代码中放入凭据! (再次,对安全性不利。)

如果您询问如何创建IAM用户,请参阅:Creating an IAM User in Your AWS Account - AWS Identity and Access Management