在某些情况下,我们可能希望在特定时间段内向特定用户或组提供访问权限,可以使用包含条件的内联策略的权限集来提供基于时间的访问控制。
在IAM Identity Center里,创建一个新的permission set:

选择自定义权限集:

在指定策略页面中,使用内联策略,然后删除现有的大括号,将以下权限策略复制并粘贴到文本区域中:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"acm:Describe*",
"acm:List*",
"cloudtrail:Describe*",
"cloudtrail:Get*",
"cloudtrail:GetTrailStatus",
"cloudtrail:ListTags",
"cloudtrail:LookupEvents",
"cloudwatch:Describe*",
"cloudwatch:ListTagsForResource",
"config:BatchGetAggregateResourceConfig",
"config:BatchGetResourceConfig",
"config:Deliver*",
"config:Describe*",
"config:Get*",
"config:List*",
"detective:GetGraphIngestState",
"detective:ListGraphs",
"detective:ListMembers",
"ec2:Describe*",
"ec2:Get*",
"guardduty:DescribePublishingDestination",
"guardduty:Get*",
"guardduty:List*",
"iam:GenerateCredentialReport",
"iam:GenerateServiceLastAccessedDetails",
"iam:Get*",
"iam:List*",
"inspector:Describe*",
"kms:Describe*",
"kms:Get*",
"kms:List*",
"s3:Get*",
"s3:List*",
"secretsmanager:DescribeSecret",
"secretsmanager:GetResourcePolicy",
"secretsmanager:List*",
"securityhub:Describe*",
"securityhub:Get*",
"securityhub:List*",
"trustedadvisor:Describe*"
],
"Resource": "*",
"Condition": {
"DateGreaterThan": {
"aws:CurrentTime": "2023-12-08T00:00:00Z"
},
"DateLessThan": {
"aws:CurrentTime": "2023-12-08T23:59:59Z"
}
}
}
]
}

点击下一步。 在指定权限集详细信息页面中,提供Permission Set的名称secAuditorTimeBased:

进入下一步,然后创建。
让我们创建一个名为securityAuditors的新组:

组名称为securityAuditors,然后点击创建:

我们将创建一个新用户:secAuditUser。在Users页面点击Add user:

在添加用户页面中, 提供用户名,例如secAuditUser,其他选项如下:

进入下一步,选择securityAuditors Group:

进入下一步,创建用户,创建完成后,生成一次性密码,记录下来:

进入AWS accounts页面,选择希望用户有权访问的帐户:

选择securityAuditors,然后进入下一步:

在Permission Set中,选择secAuditorTimeBased,然后进入下一步:

最后点击提交。
建议在隐私浏览模式或不同的浏览器中执行以下步骤进行验证
使用创建secAuditUser时显示的URL登录,输入用户名和密码,并设置新的密码,进入控制台:

进入AWS控制台后,在EC2页面,查看是否有权限列出来所有EC2:

为了模拟过期,我们将通过选择过去的范围(2022-12-08)来模拟它。
在IAM Identity Center中,进入Permission Set,并选择secAuditorTimeBased:

单击“Edit”按钮 编辑内联策略:

将最后部分的时间编辑为去年:

保存对权限集的更改,这会将权限集重新配置到 AWS 账户。
刷新EC2页面,我们将看到 secAuditUser 不再具有列出 EC2 实例的权限:
