我试图将所有权限授予单个s3存储桶,但授予单个文件夹。我正在尝试使用明确拒绝文件夹名称为北京路径之类的 buck123-test / china / Beijing /。存储桶名称为buck123-test。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1561641021576",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::buck123-test"
},
{
"Sid": "Stmt1561639869054",
"Action": "s3:*",
"Effect": "Deny",
"Resource": "arn:aws:s3:::buck123-test/china/Beijing"
}
]
}
由于上述政策不起作用,我如何达到我的要求
答案 0 :(得分:2)
您的策略缺少针对存储桶中的对象的Allow
操作。
那又如何呢? (未经测试,让我们报告是否可行)
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1561641021576",
"Action": [
"s3:*"
],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::buck123-test", "arn:aws:s3:::buck123-test/*"]
},
{
"Sid": "Stmt1561639869054",
"Action": "s3:*",
"Effect": "Deny",
"Resource": "arn:aws:s3:::buck123-test/china/Beijing/*"
}
]
}
请注意,您需要两个资源。 ListBucket
和其他存储桶级操作仅需要存储桶名称资源。 /*
资源是诸如Put
和Get
答案 1 :(得分:0)
修改后的答案,您错过了政策文档中的一些关键内容,请尝试这样做,因为它应该起作用,但是我尚未对此进行测试。
如果要允许用户使用GetObject,PutObject等,则可以添加其他操作。
folds <- 3
set.seed(42)
cvIndex <- createFolds(dataset$Outcome, folds, returnTrain = T)
fit.control <- trainControl(method = "cv",
index = cvIndex,
number = folds,
classProbs = TRUE,
summaryFunction = twoClassSummary,
allowParallel = FALSE)
SVMCaret <- train(Outcome ~ ., data = dataset, method = "svmLinear",
metric = 'ROC',
trControl = fit.control)