🕰️ 작성일 : 2025.06.09
Q : Amazon EC2에 SSM으로 접속하는 경우 이중 인증을 통해 접속하는 환경을 구성 할 수 있을까요?
A : IAM User에 대해 MFA 인증을 활성화하고, 해당 IAM User가 MFA 인증을 통해 로그인 한 세션이 아닐 경우, "ssm:StartSession"
을 차단시키는 방식으로 구성 할 수 있습니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BlockMostAccessUnlessSignedInWithMFA",
"Effect": "Deny",
"NotAction": [
"iam:CreateVirtualMFADevice",
"iam:DeleteVirtualMFADevice",
"iam:ListVirtualMFADevices",
"iam:EnableMFADevice",
"iam:ResyncMFADevice",
"iam:ListAccountAliases",
"iam:ListUsers",
"iam:ListSSHPublicKeys",
"iam:ListAccessKeys",
"iam:ListServiceSpecificCredentials",
"iam:ListMFADevices",
"iam:GetAccountSummary",
"sts:GetSessionToken"
],
"Resource": "*",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false",
"aws:ViaAWSService": "false"
}
}
}
]
}
*"*ssm:StartSession*"*
**에 대한 연결을 허용합니다.{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSessionManagerWithMFA",
"Effect": "Allow",
"Action": [
"ssm:StartSession",
"ssm:TerminateSession",
"ssm:ResumeSession"
],
"Resource": [
"arn:aws:ec2:*:*:instance/*",
"arn:aws:ssm:ap-northeast-2:*:document/SSM-SessionManagerRunShell",
"arn:aws:ssm:*:*:session/${aws:username}-*"
],
"Condition": {
"Bool": {
"aws:MultiFactorAuthPresent": "true"
}
}
}
]
}
MFA 인증 없이 SSM 연결 시도하기
AccessDeniedException가
발생합니다.MFA 인증 후 SSM 연결 시도하기
aws sts get-session-token --serial-number arn:aws:iam::#########:mfa/mydevice --token-code ###### --profile user_ssm
export AccessKeyId=
export SecretAccessKey=
export SessionToken=