Amazon EC2: 특정 EC2 작업에 MFA(GetSessionToken) 필요 - AWS Identity and Access Management

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

Amazon EC2: 특정 EC2 작업에 MFA(GetSessionToken) 필요

이 예제에서는 다음과 같은 정책을 생성할 수 있는 방법을 보여 줍니다.의 경우 Amazon EC2에서 모든 AWS API 작업에 대한 전체 액세스를 허용합니다. 하지만 사용자가 Multi-Factor Authentication(MFA)을 사용하여 인증되지 않은 경우 StopInstancesTerminateInstances API 작업에 대해 액세스는 명시적으로 거부됩니다. 이를 프로그래밍 방식으로 수행하려면 사용자가 GetSessionToken 작업을 호출하는 동안 선택 사항인 SerialNumberTokenCode 값을 포함해야 합니다. 이 작업은 MFA를 사용하여 인증된 임시 자격 증명을 반환합니다. GetSessionToken에 대해 자세히 알아보려면 GetSessionToken—신뢰할 수 없는 환경의 사용자를 위한 임시 자격 증명 단원을 참조하십시오.

이 정책이 하는 일은 무엇입니까?

  • AllowAllActionsForEC2 문은 모든 Amazon EC2 작업을 허용합니다.

  • DenyStopAndTerminateWhenMFAIsNotPresent 문은 MFA 컨텍스트가 누락된 경우 StopInstancesTerminateInstances 작업을 거부합니다. 따라서 Multi-Factor Authentication(MFA) 컨텍스트가 누락된 경우(MFA가 사용되지 않은 경우) 작업이 거부됩니다. 거부는 허용을 무시합니다.

참고

MFA를 사용하지 않을 때는 키가 없어 키를 평가할 수 없기 때문에 Deny 문의 MultiFactorAuthPresent에 대한 조건 확인이 {"Bool":{"aws:MultiFactorAuthPresent":false}}이면 안 됩니다. 따라서 값을 확인하기 전에 BoolIfExists를 사용하여 키가 있는지 확인해야 합니다. 자세한 정보는 ... 조건 연산자가있는 경우 단원을 참조하십시오.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllActionsForEC2", "Effect": "Allow", "Action": "ec2:*", "Resource": "*" }, { "Sid": "DenyStopAndTerminateWhenMFAIsNotPresent", "Effect": "Deny", "Action": [ "ec2:StopInstances", "ec2:TerminateInstances" ], "Resource": "*", "Condition": { "BoolIfExists": {"aws:MultiFactorAuthPresent": false} } } ] }