基于时间帧的IAM用户限制

时间:2015-03-16 18:20:15

标签: amazon-web-services amazon-iam

我有一个要求,即我必须允许AWS IAM用户仅在特定时间段的特定日期访问AWS控制台。任何人都可以告诉我如何在政策中实施这一点

1 个答案:

答案 0 :(得分:2)

Condition 中的可选IAM Policy元素可让您指定政策生效的条件

  

在Condition元素中,构建表达式,在该表达式中使用布尔运算符(等于,小于等)使您的条件与请求中的值匹配。 条件值可以包括日期,时间,请求者的IP地址,请求源的ARN,用户名,用户ID以及请求者的用户代理。 [...] [强调我的]

提供的示例使用带有DateLessThan密钥的aws:CurrentTime条件来指定必须在2013年6月30日之前收到请求

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": "iam:*AccessKey*",
    "Resource": "arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:user/*",
    "Condition": {"DateLessThan": {"aws:CurrentTime": "2013-06-30T00:00:00Z"}}
  }
}

如图所示,不幸的是,这只适用于相对于绝对日期的条件,而不是说cron表达式或类似的东西来指定一天中的特定小时或一周中的几天:

  

日期条件允许您根据将键与日期/时间值进行比较来限制访问。您可以使用aws:CurrentTime键或aws:EpochTime键来使用这些条件。您必须使用W3C implementations of the ISO 8601 date formats或epoch(UNIX)时间之一指定日期/时间值。

假设这实际上是您的用例,您需要使用一些自动化来包装条件管理,该自动化会根据您的要求以滚动方式更新策略中的绝对ISO 8601日期。