skill/Java.Kotlin

MinIO 403 오류 확인:access/secret key 정상 확인

have a nice day :D 2025. 7. 28. 08:12
반응형

Windows 환경에서 MinIO 연동 시 발생하는 문제를 확인하거나,
접속 및 파일 업로드 오류 원인(403, 버킷 없음, 권한 문제 등) 을 진단하려면 다음과 같은 항목들을 차례로 확인해보시면 됩니다.


---

1. MinIO 서버가 실행 중인지 확인 (Windows에서 Docker 또는 실행파일 기반)

▸ Docker 실행 중인지 확인

docker ps

→ 포트 9000(API), 9001(콘솔)이 열려 있는 컨테이너가 있는지 확인


---

▸ MinIO 직접 실행 확인 (exe로 실행했다면)

작업 관리자(Task Manager)나 CMD에서 확인:

netstat -ano | findstr :9000

→ 포트 9000이 LISTENING 상태인지 확인


---

2. 브라우저에서 MinIO 접속 테스트

콘솔 UI 접속:

http://localhost:9001

API 포트 확인:

http://localhost:9000

localhost:9001에서 UI 정상 동작하면 서버는 살아있음

localhost:9000 접속 시 XML 또는 에러 페이지가 뜨면 API 포트도 정상



---

3. MinIO Access Key/Secret Key 정확히 확인

UI에서 로그인 → Users → 해당 계정 → Access Key / Secret Key 확인
⚠️ 복사 시 공백 포함되지 않도록 주의


---

4. 버킷 존재 여부 확인 (Windows에서 mc 명령어)

mc.exe 다운로드

공식: https://min.io/docs/minio/linux/reference/minio-mc.html
또는 Windows용: https://dl.min.io/client/mc/release/windows-amd64/mc.exe

CMD에서 확인

mc alias set local http://localhost:9000 YOUR_ACCESS_KEY YOUR_SECRET_KEY

# 버킷 목록
mc ls local


---

5. Kotlin 코드에서 확인할 항목

.object(...) 필드가 누락되지 않았는지 (백틱 `` 필요)

버킷이 정확히 지정되었는지

MinioClient.builder()에 localhost URL 및 키가 정확히 설정되었는지


MinioClient.builder()
    .endpoint("http://localhost:9000")
    .credentials("your-access-key", "your-secret-key")
    .build()


---

6. MinIO 서버 로그 확인 (윈도우)

Docker로 실행했다면:


docker logs <minio-container-id>

.exe로 실행했다면, 실행창에 콘솔 로그가 그대로 출력됨
→ 403, AccessDenied, NoSuchBucket, SignatureDoesNotMatch 등을 확인



---

7. 정책 문제 확인

콘솔 UI

1. Identity > Users > 해당 유저 클릭


2. Attached policies 항목에 readwrite, custom-policy 등 정책이 반드시 있어야 함




---

요약: Windows 환경 점검 순서

항목 확인 방법

MinIO 실행 여부 브라우저 접속 (localhost:9000, 9001)
API/콘솔 포트 정상 netstat, curl, docker ps
Access Key / Secret Key 정확성 UI 사용자 메뉴에서 확인
정책 부여 여부 콘솔 > Users > Policies 확인
버킷 존재 여부 mc ls local or bucketExists() 호출
Kotlin SDK 설정 endpoint, object name 등 꼼꼼히 확인
서버 로그 콘솔창 또는 docker logs 로 확인



---

필요하시면 Windows용 mc.exe로 사용자 만들기, 정책 붙이기, 업로드 테스트 전 과정을 정리해드릴 수 있어요.
현재 실행 중인 방식 (Docker인지, exe인지) 공유해주시면 더 맞춤 도움 드릴 수 있습니다.


반응형