IAM Policy Self Managed MFA — Как разрешить изменения только на собственном устройстве MFA?
Я читаю эти документы https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html , и в них говорится, что следующая политика должна использоваться, чтобы позволить пользователю управлять своими собственными устройствами MFA:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowListActions",
"Effect": "Allow",
"Action": [
"iam:ListUsers",
"iam:ListVirtualMFADevices"
],
"Resource": "*"
},
{
"Sid": "AllowIndividualUserToManageTheirOwnMFA",
"Effect": "Allow",
"Action": [
"iam:CreateVirtualMFADevice",
"iam:DeleteVirtualMFADevice",
"iam:ListMFADevices",
"iam:EnableMFADevice",
"iam:ResyncMFADevice"
],
"Resource": [
"arn:aws:iam::*:mfa/${aws:username}",
"arn:aws:iam::*:user/${aws:username}"
]
},
{
"Sid": "AllowIndividualUserToDeactivateOnlyTheirOwnMFAOnlyWhenUsingMFA",
"Effect": "Allow",
"Action": [
"iam:DeactivateMFADevice"
],
"Resource": [
"arn:aws:iam::*:mfa/${aws:username}",
"arn:aws:iam::*:user/${aws:username}"
],
"Condition": {
"Bool": {
"aws:MultiFactorAuthPresent": "true"
}
}
},
{
"Sid": "BlockMostAccessUnlessSignedInWithMFA",
"Effect": "Deny",
"NotAction": [
"iam:CreateVirtualMFADevice",
"iam:EnableMFADevice",
"iam:ListMFADevices",
"iam:ListUsers",
"iam:ListVirtualMFADevices",
"iam:ResyncMFADevice"
],
"Resource": "*",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
}
}
}
]
}
Мы используем эту политику в$dayjob
и недавно обнаружил, что AWS IAM теперь позволяет вам изменить имя вашего устройства MFA и подключить несколько устройств MFA. Пользователь недавно добавил новое устройство MFA, но назвал его произвольно, и, как и ожидалось, эта политика больше не работает.
Как тогда вы позволите пользователю управлять только своими собственными устройствами MFA, даже если они названы произвольно?
Будет ли модификация
"Resource": [
"arn:aws:iam::*:mfa/${aws:username}",
"arn:aws:iam::*:user/${aws:username}"
]
к чему-то вроде
"Resource": [
"arn:aws:iam::*:mfa/*",
"arn:aws:iam::*:user/${aws:username}"
]
Разрешить пользователю изменять устройства MFA других пользователей IAM? Или есть способ добавитьCondition
решить для этого сценария?