我試圖從一個框中的Redshift集羣卸載數據到另一個框中的S3桶。 我設法發送文件。 但是,作爲存儲桶擁有者的 不是我要發送的文件的所有者 - 他無法訪問它。 由於這是從Redshift直接卸載,我不認爲我不能指定條件以允許存儲桶擁有者擁有正確的權限。從Redshift卸載到一個框的S3桶
是否有可能實現(無需使用同一帳戶從Redshift卸載) 如果是這樣 - 如何?
謝謝!
我試圖從一個框中的Redshift集羣卸載數據到另一個框中的S3桶。 我設法發送文件。 但是,作爲存儲桶擁有者的 不是我要發送的文件的所有者 - 他無法訪問它。 由於這是從Redshift直接卸載,我不認爲我不能指定條件以允許存儲桶擁有者擁有正確的權限。從Redshift卸載到一個框的S3桶
是否有可能實現(無需使用同一帳戶從Redshift卸載) 如果是這樣 - 如何?
謝謝!
(嘗試#2 ...)
好吧,看來你的情況是:
UNLOAD
成屬於不同的AWS賬戶的Amazon S3的桶沒有一個「網絡的概念le owner「在Amazon S3中。相反,有:
只要這些權限中的至少一個授予訪問權限,並且他們中的任何一個都不會明確拒絕訪問權限,則用戶將能夠訪問這些文件。
如果用戶報告無法查看文件,請確保已通過上述方法之一授予ListBucket
和GetObject
權限。
謝謝你的幫助,約翰! – user2518751
@ user2518751你能解決這個問題嗎?我在同一條船上。在我的情況下,我是存儲桶所有者,他無法訪問由我不屬於我的Redshift羣集寫入我的存儲桶的對象。我嘗試設置正確的桶策略,但沒有奏效。你是怎麼做到的? –
@ user2518751,如果您需要幫助,請隨時創建一個新問題。 –
這聽起來像你的情況是:
UNLOAD
命令從亞馬遜紅移數據導出到您擁有權限訪問亞馬遜S3對象AWS用戶可以以幾種方式被授予:
aws s3 cp
命令。Bucket Policy選項似乎是最適合您的情況。要啓用它,創建授權訪問一個特定的目錄,你會把這些文件,例如鬥策略:
{
"Id": "Policy",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Sid1",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::MY-BUCKET",
"Principal": {
"AWS": [
"arn:aws:iam::123456789012:user/username"
]
}
},
{
"Sid": "Sid2",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::MY-BUCKET/PATH/*",
"Principal": {
"AWS": [
"arn:aws:iam::123456789012:user/username"
]
}
}
]
}
的ARN
在政策指的是人的賬戶ID和用戶名你正在授予訪問權限。然後,他們可以使用AWS CLI列出存儲桶的內容並下載內容。
對不起,更精確。我不會將數據上傳到我的存儲區,而是將數據直接上傳到我不屬於自己的存儲區的另一個帳戶。我知道如何處理你所建議的場景。問題是,我不會將我的存儲桶用作羣集中的Redshift與另一個帳戶中的S3之間的臨時站點。這就是我奮鬥的原因。 – user2518751
在這種情況下什麼是「盒子」? –
AWS服務器。我正試圖卸載到另一個帳戶。 – user2518751