답변:
대답은 '예'입니다. 조건을 사용합니다. 예를 들어 관리자 계정의 경우 :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*",
"Condition":
{
"Null":{"aws:MultiFactorAuthAge":"false"}
}
}
]
}
API를 사용하여 비밀번호 인증 및 토큰 기반 인증 모두에 대해 MFA를 시행합니다.
약간 둘러 보면 대답은 "종류"인 것으로 보입니다. IAM에서 관리자는 다른 IAM 사용자에 대한 MFA를 구성 할 수 있습니다. 가상 MFA를 설정하는 경우 약간 까다로울 수 있지만 가능합니다. 그런 다음 사용자에게 MFA를 업데이트 / 제거 할 수있는 권한이 없으면 효과적으로 필요합니다.
거부해야 할 (또는 단순히 부여되지 않아야 할) 전체 동작 목록을 아직 결정하지는 않았지만 이 게시물 에 정보가있는 것 같습니다. 테스트 한 후에이 답변을 업데이트하겠습니다.
[최신 정보]
사용자를 고급 사용자로 설정하고 (더 세분화 될 수는 있지만 IAM 기능에 대한 액세스 권한을 부여하지 않음) MFA를 그들과 함께 구현할 수있었습니다. 이 방법을 사용하면 비활성화 할 수 없습니다.
예. 웹 콘솔과 awscli
명령 줄 모두에 대해 IAM 계정에 MFA를 요구할 수 있습니다 . 실제로, 웹 콘솔에는 MFA를 안정적으로 요구할 수없고 awscli
명령 줄 에는 MFA를 요구하지 않습니다 . 둘 다 동일한 API를 사용하기 때문입니다. 복잡한 IAM 정책을 사용 awscli
하면 웹 콘솔에 MFA를 적용하면서 MFA없이 일부 작업 을 허용 할 수 있기 때문에 '신뢰할 수 있습니다'라고 말합니다 . 그러나 결과는 다소 예측할 수 없으며, 더 위험하지 않은 경우 IAM 키는 동일하게 보호됩니다. 내 권장 사항은 두 가지 모두 필요하며 MFA가 절대적으로 금기 인 특수 용도의 보호되지 않은 키를 만드는 것입니다. 자동화 된 프로세스의 경우 일반적으로 역할이 더 나은 선택입니다.
명령 줄에서 MFA 작업을보다 쉽게 수행 할 수 있도록 vMFAd를 쉽게 연결 / 분리하고 MFA 세션을 시작 및 관리 할 수 있도록 bash 스크립트 세트와 신중하게 조작 된 MFA 적용 정책 예제 를 만들었습니다. macOS 및 Linux 변형에서는 작동하지만 Windows에서는 테스트되지 않습니다.
우리는 문서화 된 몇 가지 고려 사항을 일반적으로 AWS API를 다단계에 대한 일부 사용자 지정 도구 (설명서에서 (조건을 추가 할 경우, 의미 등 무엇인가) https://github.com/kreuzwerker/awsu 우리가 Yubikeys를 사용하여 개발) TOTP 토큰의 소스로. 이를 통해 역할 및 장기 자격 증명 + 세션 토큰 작업이 매우 쉬워집니다.
허용 된 답변은 더 이상 유효한 AFAICT가 아닙니다. AWS는 다음 자습서 기사를 통해이를 수행하는 방법을 문서화했습니다.
https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_users-self-manage-mfa-and-creds.html
나는 새로운 AWS 계정과 팀을 위해 그것을 따랐으며 훌륭하게 작동했습니다.