본문으로 건너뛰기

IAM 문제 해결

본 문서는 IAM 서비스와 관련된 주요 문제와 해결 방법을 정리한 문서입니다.


API 인증 토큰 발급 시, CORS 에러 발생

클라이언트 애플리케이션이 API 인증 토큰을 발급받을 때, 아래와 같은 에러가 발생할 수 있습니다.

CORS 에러 메시지
Access to XMLHttpRequest at 'https://iam.kakaocloud.com/identity/v3/auth/tokens' from origin 'http://61.109.239.46' has been blocked by CORS policy: 
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

위와 같은 CORS 에러가 발생하는 것은 카카오클라우드 IAM API에서 보안상 외부 출처(origin)로부터의 요청을 허용하지 않기 때문에 발생합니다.
따라서, 사용자의 애플리케이션에서 API 인증 토큰을 발급받을 경우 카카오클라우드 IAM의 API endpoint로 요청이 이루어지고, 해당 요청이 IAM 서버의 origin과 다르기 때문에 CORS 에러가 발생하게 됩니다.

▶️ 에러를 방지하기 위해 Proxy 서버를 설정하여 클라이언트 요청을 받아 IAM 서버로 전달하여 응답(토큰 발급)을 받는 식의 우회가 가능합니다.


API 인증 토큰 사용 가능 기간이 3시간으로 확인됨

토큰 만료 기간이 3 시간으로 확인이 되는 것은 issued_atexpired_at 시간이 UTC 기준이기 때문입니다.

▶️ 토큰 발급 시 확인되는 issued_atexpired_at 시간에 +9H를 하면 KST 기준으로 확인이 가능합니다. 이 경우, 토큰 사용 가능 기간은 12시간입니다.


API 인증 토큰 발급 시 Timeout 발생

API 인증 토큰을 발급받는 특정 서버에서 API 인증 토큰 발급 시, Timeout이 발생하는 이유는 관련 서버에서 API 인증 토큰 발급에 대한 루프 코드로 인해 해당 서버 IP에 대해 API 인증 토큰 발급이 차단될 수 있습니다.

▶️ 다음과 같이 서버 IP의 차단 여부를 확인하여 문제를 해결합니다.

  1. 문제가 되는 서버와 같은 IP를 사용하는 하나의 서버를 추가로 생성하여 두 서버에서 인증 토큰 발급이 되는지 확인합니다.

  2. 인증 토큰 발급이 이루어지지 않았다면, 아래의 두 가지 방법으로 해결할 수 있습니다.

    • 새로운 IP 주소를 할당한 서버를 운영
    • 카카오클라우드 문의를 통해 해당 서버 IP 차단에 대한 해제 요청

"유효하지 않은 토큰 안내" 팝업 발생

콘솔에 로그인을 한 후, "유효하지 않은 토큰 안내" 팝업은 한 브라우저 내에서 로그인 정보가 중복될 경우 발생합니다.

▶️ 한 브라우저 내에서 하나의 로그인(IAM) 정보 만으로 로그인하면 문제가 해결됩니다.