在某些情况下,我们可能希望在特定时间段内向特定用户或组提供访问权限,可以使用包含条件的内联策略的权限集来提供基于时间的访问控制。
在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 实例的权限: