我希望授予对存储桶的访问权限,该存储桶允许我的VPC中的实例通过我们的数据中心与机器一起完全访问它。如果没有aws:SouceIp
行,我可以限制对VPC在线计算机的访问。
我需要使用该策略,以便只能从VPC内的计算机和办公室访问该存储桶。
{
"Version": "2012-10-17",
"Id": "Policy1496253408968",
"Statement": [
{
"Sid": "Stmt1496253402061",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::xyz-sam-test/*",
"arn:aws:s3:::xyz-sam-test"
],
"Condition": {
"StringLike": {
"aws:sourceVpc": "vpc-dcb634bf",
"aws:SourceIp": "<MY PUBLIC IP>"
}
}
}
]
}
答案 0 :(得分:0)
当两个密钥的条件Effect
与那些特定的通配符匹配时,您可以生成一个策略,其Deny
用于StringNotLike
访问存储桶。
{
"Version": "2012-10-17",
"Id": "Policy1496253408968",
"Statement": [
{
"Sid": "Stmt1496253402061",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::xyz-sam-test/*",
"arn:aws:s3:::xyz-sam-test"
],
"Condition": {
"StringNotLike": {
"aws:sourceVpc": "vpc-dcb634bf",
"aws:SourceIp": "<MY PUBLIC IP>"
}
}
}
]
}
第二个条件也可以分隔为自己的语句。 AWS在语句之间应用逻辑或。 1
{
"Version": "2012-10-17",
"Id": "Policy1496253408968",
"Statement": [
{
"Sid": "Stmt1496253402061",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::xyz-sam-test/*",
"arn:aws:s3:::xyz-sam-test"
],
"Condition": {
"StringLike": {
"aws:sourceVpc": "vpc-dcb634bf",
}
}
},
{
"Sid": "Stmt1496253402062",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::xyz-sam-test/*",
"arn:aws:s3:::xyz-sam-test"
],
"Condition": {
"StringLike": {
"aws:SourceIp": "<MY PUBLIC IP>"
}
}
}
]
}
答案 1 :(得分:0)
AWS 有预定义的条件运算符和键(如 aws:CurrentTime)。各个 AWS 服务还定义了特定于服务的密钥。
例如,假设您希望在以下条件下让用户 John 访问您的 Amazon SQS 队列:
时间是下午12:00以后。 2019/7/16
时间是下午3:00之前2019/7/16
请求来自 192.0.2.0 到 192.0.2.255 或 203.0.113.0 到 203.0.113.255 范围内的 IP 地址。
您的条件块具有三个独立的条件运算符,必须满足所有三个条件,John 才能访问您的队列、主题或资源。
以下显示了您的策略中条件块的外观。 aws:SourceIp 的两个值使用 OR 进行评估。三个独立的条件运算符使用 AND 求值。
"Condition" : {
"DateGreaterThan" : {
"aws:CurrentTime" : "2019-07-16T12:00:00Z"
},
"DateLessThan": {
"aws:CurrentTime" : "2019-07-16T15:00:00Z"
},
"IpAddress" : {
"aws:SourceIp" : ["192.0.2.0/24", "203.0.113.0/24"]
}
}
参考:https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html