我們被要求將檔案上傳到客戶的 S3 存盤桶;但是,我們沒有 AWS 賬戶(我們也不打算獲得一個)。客戶授予我們訪問其 S3 存盤桶的權限的最簡單方法是什么?
uj5u.com熱心網友回復:
我的建議是讓您的客戶為您創建一個用于上傳的 IAM 用戶。然后,您將需要安裝 AWS cli。在您的客戶端,將有一個用戶,他們擁有的唯一權限是寫入他們的存盤桶。這可以很簡單地完成,看起來像:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::the-bucket-name/*",
"arn:aws:s3:::the-bucket-name"
]
}
]
}
我沒有徹底測驗過上面的權限!
然后,在您這邊,安裝 AWS cli 后,您需要有兩個檔案。它們都位于運行腳本的用戶的主目錄中。第一個是$HOME/.aws/config。這有類似的東西:
[default]
output=json
region=us-west-2
您需要詢問他們存盤桶所在的 AWS 區域。接下來是$HOME/.aws/credentials. 這將包含以下內容:
[default]
aws_access_key_id=the-access-key
aws_secret_access_key=the-secret-key-they-give-you
他們必須為您提供區域、訪問密鑰、密鑰和存盤桶名稱。有了這一切,你現在可以運行類似的東西:
aws s3 cp local-file-name.ext s3://the-client-bucket/destination-file-name.ext
這會將本地檔案傳輸local-file-name.ext到the-client-bucket檔案名為destination-file-name.ext. 它們在存盤桶中可能有不同的路徑。
回顧一下:
- 客戶創建一個權限非常有限的 IAM 用戶。只需要 API 權限,不需要控制臺。
- 您安裝 AWS CLI
- 客戶端為您提供訪問密鑰和密鑰。
- 您使用憑據配置進行傳輸的機器
- 您現在可以將檔案推送到存盤桶。
- 您不需要 AWS 賬戶來執行此操作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/487838.html
