AWS 简化:在远程服务器上无需 CLI 即可实现自动化操作
在不使用 AWS CLI 的情况下为远程服务器上的 AWS S3 操作创建帮助程序脚本
在云计算正在成为现代基础设施支柱的世界中,必须高效地访问 S3 等 AWS 服务。但假设您正在某个未安装 AWS CLI 的远程 UNIX 服务器上工作,并且您希望将文件发布到 S3 存储桶。本博客将引导您了解如何创建一个帮助程序脚本,通过使用 IAM 保护访问并自动获取 AWS 凭证来解决此问题。
问题
您正在远程 UNIX 服务器上工作,该服务器将用于执行以下操作:
- 将文件发布到 AWS S3 存储桶。
- 读取和写入S3。 您使用的服务器没有 AWS CLI,手动管理凭证容易出错且效率低下。您需要一个更强大的解决方案来处理以下问题:
- 安全地获取AWS凭证。
- 自动文件上传或下载。
- 消除对 AWS CLI 的依赖。
解决方案概述
解决方案包括:
- 使用具有适当 S3 权限的 IAM 用户。
- 从 AWS 检索访问密钥 ID 和秘密访问密钥的帮助程序脚本。
- 使用这些凭据执行 S3 操作。
- 每 30 天自动轮换一次密钥。
逐步实施
- IAM 配置
创建具有访问 S3 存储桶所需权限的 IAM 用户或角色。以下是 IAM 策略的示例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:PutObject", "s3:GetObject"], "Resource": "arn:aws:s3:::your-bucket-name/*" } ] }
将 your-bucket-name 替换为您的 S3 存储桶的名称。
将此策略附加到您的 IAM 用户或角色。
部署模板:
使用 AWS 管理控制台或 AWS CLI 部署 CloudFormation 堆栈。例如:
aws cloudformation deploy --template-file template.yaml --stack-name S3AccessStack
检索凭证:
创建堆栈后,您可以检索导出的输出:
aws cloudformation 描述堆栈 --stack-name S3AccessStack
--query "Stacks[0].Outputs[?ExportName=='S3AccessKeyId'].OutputValue" --输出文本
同样,检索秘密访问密钥:
aws cloudformation 描述堆栈 --堆栈名称 S3AccessStack
--query "Stacks[0].Outputs[?ExportName=='S3SecretAccessKey'].OutputValue" --输出文本
- 编写辅助脚本
该脚本实现了以下目标:
- 从安全来源(例如 AWS Secrets Manager 或预配置文件)检索 AWS 凭证。
- 自动化 S3 操作,例如文件上传。
- 每 30 天轮换一次密钥以增强安全性。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:PutObject", "s3:GetObject"], "Resource": "arn:aws:s3:::your-bucket-name/*" } ] }
将此脚本保存为 aws_helper.sh 并授予执行权限
每 30 天运行 ./aws_helper.sh update-credentials 以轮换密钥并更新凭证文件。
该脚本有何帮助
消除 AWS CLI 依赖性:
该脚本使用curl进行S3操作,确保与未安装AWS CLI的环境兼容。
提高安全性:
自动密钥轮换并安全地管理凭据。
自动化:
实现无缝和自动化的 S3 操作,减少手动错误。
可定制:
可以扩展以包含其他 S3 操作,例如删除或列出文件。
扩展脚本
对于更大规模的自动化,请考虑将此脚本与:
集成
AWS SDK:用于更复杂的逻辑。
AWS CloudFormation:以代码形式管理基础设施。
AWS Secrets Manager:安全地管理凭证。
参考
有关以编程方式创建和管理 AWS 资源的文档。
结论
此帮助程序脚本提供了一种轻量级且高效的解决方案,无需 AWS CLI 即可在远程服务器上执行 AWS S3 操作。通过利用 IAM、自动化凭证检索和轮换密钥,它增强了安全性和可靠性。尝试一下并调整它以满足您的特定需求!
以上是AWS 简化:在远程服务器上无需 CLI 即可实现自动化操作的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Linux终端中查看Python版本时遇到权限问题的解决方法当你在Linux终端中尝试查看Python的版本时,输入python...

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

在使用Python的pandas库时,如何在两个结构不同的DataFrame之间进行整列复制是一个常见的问题。假设我们有两个Dat...

Uvicorn是如何持续监听HTTP请求的?Uvicorn是一个基于ASGI的轻量级Web服务器,其核心功能之一便是监听HTTP请求并进�...

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

攻克Investing.com的反爬虫策略许多人尝试爬取Investing.com(https://cn.investing.com/news/latest-news)的新闻数据时,常常�...
