Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 我希望定期将文件从prem服务器推送到AWS S3_Amazon Web Services_Amazon S3_Boto3_Amazon Iam - Fatal编程技术网

Amazon web services 我希望定期将文件从prem服务器推送到AWS S3

Amazon web services 我希望定期将文件从prem服务器推送到AWS S3,amazon-web-services,amazon-s3,boto3,amazon-iam,Amazon Web Services,Amazon S3,Boto3,Amazon Iam,我在prem服务器上定期生成一些文件(大小为KBs)。我想在生成它们后立即将它们推送到s3。如何管理访问 我正在使用python的boto3包来实现这一点。我如何管理访问权限,如在中创建新的IAM角色?如果是,如何指定权限 这里有一些要求: 你需要一些东西来触发上传。这可能是一个cron作业/计划任务,也可能是由生成文件的任何进程专门触发的 然后,您可以使用命令上传文件(或者aws s3 cp或者aws s3 sync),或者按照建议编写自己的程序 AWS CLI或您自己的程序需要AWS凭据

我在prem服务器上定期生成一些文件(大小为KBs)。我想在生成它们后立即将它们推送到s3。如何管理访问


我正在使用python的boto3包来实现这一点。我如何管理访问权限,如在中创建新的IAM角色?如果是,如何指定权限

这里有一些要求:

  • 你需要一些东西来触发上传。这可能是一个cron作业/计划任务,也可能是由生成文件的任何进程专门触发的
  • 然后,您可以使用命令上传文件(或者
    aws s3 cp
    或者
    aws s3 sync
    ),或者按照建议编写自己的程序
AWS CLI或您自己的程序需要AWS凭据。建议的方法是:

  • 在IAM中创建用户并记录凭据(访问密钥、密钥)
  • 为用户分配最小权限,使其有足够的权限执行该功能(例如
    s3:PutObject
    )。不要在每个存储桶上分配
    s3:
    !(对安全非常不利。)
  • 在本地计算机上,运行aws configure(aws CLI的一部分),并输入创建IAM用户时提供的凭据
这将把凭证放在计算机上的
.aws/credentials
文件中。永远不要在编程代码中添加凭据!(同样,这不利于安全。)

如果您询问如何创建IAM用户,请参阅: