2015-02-23 56 views
0

我有問題。 我使用Auth0和AWS SDK訪問S3上的一些存儲桶。我有個問題。在沒有使用存儲桶策略的情況下,是否有任何方法限制對S3存儲桶的訪問?也許使用Auth0提供的元數據。Auth0和S3剷鬥

感謝所有

回答

1

要限制對S3存儲桶的訪問,您必須使用Amazon IAM。

使用Auth0時,您基本上將您的Auth0令牌交換爲Amazon令牌。然後,用那個亞馬遜令牌,你叫S3。這意味着爲了限制訪問S3的某些部分,您將不得不更改Amazon令牌的權限,這意味着您需要使用IAM。

有意義嗎?

乾杯!

+0

感謝您的回答。我知道我必須使用IAM並編寫策略來限制對S3存儲桶的訪問,但是我的問題有點高級,因爲我有一個包含角色,用戶和組的動態應用程序。是否可以創建從Auth0到AWS的動態策略以縮小Amazon上的預配置策略? – user3449953 2015-02-24 06:36:29

1

也許您在尋找類似https://github.com/auth0/auth0-s3-sample的東西來限制用戶訪問其資源。

IAM策略用戶桶(僅限於這些用戶)

{ 
    "Version": "2012-10-17", 
    "Statement": [{ 
     "Sid": "AllowEverythingOnSpecificUserPath", 
     "Effect": "Allow", 
     "Action": [ 
     "*" 
     ], 
     "Resource": [ 
      "arn:aws:s3:::YOUR_BUCKET/dropboxclone/${saml:sub}", 
      "arn:aws:s3:::YOUR_BUCKET/dropboxclone/${saml:sub}/*"] 
    }, 
    { 
     "Sid": "AllowListBucketIfSpecificPrefixIsIncludedInRequest", 
     "Action": ["s3:ListBucket"], 
     "Effect": "Allow", 
     "Resource": ["arn:aws:s3:::YOUR_BUCKET"], 
     "Condition":{ 
     "StringEquals": { "s3:prefix":["dropboxclone/${saml:sub}"] } 
     } 
    } 
    ] 
} 

但是,如果用戶有共享組文件夾它可能會變得更加棘手,我a.t.m.尋找到它自己 請查看此pdf:https://www.pingidentity.com/content/dam/pic/downloads/resources/ebooks/en/amazon-web-services-ebook.pdf?id=b6322a80-f285-11e3-ac10-0800200c9a66(第11頁)用於AWS APIS的OPENID CONNECT用例與此類似。

所以,一個選擇是做以下

[USER] -> [Auth0] -> [AWS (Federation/SAML)] -> [exchange temporary AWS credentials] -> [use temp. credentials to access S3]

希望這有助於即使它是一個相當長的時間以前,你問這個問題,其他用戶可能受益。如果您找到了更好的解決方案,請分享。