오류 해결/AWS

[AWS] IAM 계정 권한 설정 했는데도 리소스 접근 불가일 때

jaein 2025. 6. 12. 11:22

이직후에 AWS IAM 계정을 생성받았는데

로그인을 해보니 아무 권한도 없는 것 처럼 어떠한 엑세스에도 접근하지 못 했다.

 

권한을 요청드렸으나 이미 부여되어있다는 답변 뿐..

관리 계정을 넘겨받아 직접 권환 확인을 해보았는데 정말로 모든 권한이 부여되어있는 상태였다.

 

대체 왜 접근을 못하는 것일까!!!

aws에서 웬만한 삽질은 다 해보았다고 생각했는데 아직도 끝이 아니었나보다.

 

 

 

 

 

 

 

 

에러메시지는 아래와 같이 권한부족이나 접근 허용이 안된 상태여서 접속이 불가하다고 나타났다.

You are not authorized to perform this operation. User: arn:aws:iam::0000000000:user/jerry is not authorized to perform: ec2:DescribeInstances with an explicit deny in an identity-based policy
Failed to connect to your instance
Access denied by EC2 Instance Connect. Either your AWS credentials are not valid or you do not have access to the EC2 instance.

 

 

예측되는 원인

- IAM 정책상 권한 부족
- EC2 인스턴스 접근 허용(보안 그룹/네트워크 ACL) 설정 미비
- EC2 인스턴스에 퍼블릭 IP 미할당

 

등등 이었지만

다른 계정으로는 접근이 가능하고, 내 IAM 계정으로만 접근이 불가한것을 보니 권한 부족의 문제가 가장 의심스러웠다.

 

 

 

하지만 내 IAM 계정의 권한정책을 보면 거의 모든 권한에 대해 FullAccess로 할당을 받은 상태였고

더 이상 줄 권한이 없을 정도였다.

 

뭔가 따로 설정된게 있을까 해서 하나씩 확인하던 중, 아래와 같은 정책이 적용되어있는것을 발견했다.

 

 

조직 내에서 MFA 적용을 강제하기 위해 자주 사용하는 사용자 정의 정책 중 하나인데
MFA 인증이 없는 경우에는 MFA 등록 및 복구 관련 최소한의 작업만 허용하고, 나머지 모든 액세스를 Deny 처리하도록 구성되어 있다.

{
	"Sid": "DenyAllExceptListedIfNoMFA",
	"Effect": "Deny",
	"NotAction": [
		"iam:CreateVirtualMFADevice",
		"iam:EnableMFADevice",
		"iam:GetUser",
		"iam:ListMFADevices",
		"iam:ListVirtualMFADevices",
		"iam:ResyncMFADevice",
		"sts:GetSessionToken"
	],
	"Resource": "*",
	"Condition": {
		"BoolIfExists": {
			"aws:MultiFactorAuthPresent": "false"
		}
	}
}

 

이번 케이스는 내가 AWS MFA 등록을 누락한 상태였기 때문에 발생한 문제였다.

 

 

 

 

MFA(OTP App) 설정법

1. IAM -> Users -> 설정할 사용자 -> Security credentials (보안 자격 증명) -> Multi-factor authentication (MFA) (멀티팩터인증) -> Assign MFA device (MFA 디바이스 할당) -> Virtual MFA device (가상 MFA 디바이스)

2. OTP 앱(예: Google Authenticator, Microsoft Authenticator)으로 QR 코드 스캔

3. OTP 앱에 표시된 코드 6자리 입력

4. 기다렸다가 다음 코드 나오면 6자리 한번 더 입력

 

 

 

 

 

 

 

 

-----------------------------

인수인계 받으며 여러 서비스의 계정에 MFA를 등록하다보니 AWS에도 당연히 등록했다고 착각을 해서 발생한 이슈였다..

 

 

MFA는 AWS에서 강력히 권장하는 보안 설정이므로 조직에서 이를 강제하기 위해 위와 같은 정책을 사용하는 경우가 많다.

IAM 정책만 보고 권한이 충분하다고 판단하기 쉽지만, Deny 정책이 우선 적용 되므로 이러한 조건 기반 Deny 정책 여부도 반드시 확인해야 한다!

 

 

 

나처럼 MFA 미등록으로 허무하게 리소스 접근이 막히고있는 분들을 위해 이 글을 바칩니다...