tencent cloud

Cloud Object Storage

동향 및 공지
릴리스 노트
제품 공지
제품 소개
제품 개요
기능 개요
적용 시나리오
제품 장점
기본 개념
리전 및 액세스 도메인
규격 및 제한
제품 요금
과금 개요
과금 방식
과금 항목
프리 티어
과금 예시
청구서 보기 및 다운로드
연체 안내
FAQ
빠른 시작
콘솔 시작하기
COSBrowser 시작하기
사용자 가이드
요청 생성
버킷
객체
데이터 관리
일괄 프로세스
글로벌 가속
모니터링 및 알람
운영 센터
데이터 처리
스마트 툴 박스 사용 가이드
데이터 워크플로
애플리케이션 통합
툴 가이드
툴 개요
환경 설치 및 설정
COSBrowser 툴
COSCLI 툴
COSCMD 툴
COS Migration 툴
FTP Server 툴
Hadoop 툴
COSDistCp 툴
HDFS TO COS 툴
온라인 도구 (Onrain Dogu)
자가 진단 도구
실습 튜토리얼
개요
액세스 제어 및 권한 관리
성능 최적화
AWS S3 SDK를 사용하여 COS에 액세스하기
데이터 재해 복구 백업
도메인 관리 사례
이미지 처리 사례
COS 오디오/비디오 플레이어 사례
데이터 다이렉트 업로드
데이터 보안
데이터 검증
빅 데이터 사례
COS 비용 최적화 솔루션
3rd party 애플리케이션에서 COS 사용
마이그레이션 가이드
로컬 데이터 COS로 마이그레이션
타사 클라우드 스토리지 데이터를 COS로 마이그레이션
URL이 소스 주소인 데이터를 COS로 마이그레이션
COS 간 데이터 마이그레이션
Hadoop 파일 시스템과 COS 간 데이터 마이그레이션
데이터 레이크 스토리지
클라우드 네이티브 데이터 레이크
메타데이터 가속
데이터 레이크 가속기 GooseFS
데이터 처리
데이터 처리 개요
이미지 처리
미디어 처리
콘텐츠 조정
파일 처리
문서 미리보기
장애 처리
RequestId 가져오기
공용 네트워크로 COS에 파일 업로드 시 속도가 느린 문제
COS 액세스 시 403 에러 코드 반환
리소스 액세스 오류
POST Object 자주 발생하는 오류
보안 및 컴플라이언스
데이터 재해 복구
데이터 보안
액세스 관리
자주 묻는 질문
인기 질문
일반 문제
과금
도메인 규정 준수 문제
버킷 설정 문제
도메인 및 CDN 문제
파일 작업 문제
로그 모니터링 문제
권한 관리
데이터 처리 문제
데이터 보안 문제
사전 서명 URL 관련 문제
SDK FAQ
툴 관련 문제
API 관련 문제
Agreements
Service Level Agreement
개인 정보 보호 정책
데이터 처리 및 보안 계약
연락처
용어집
문서Cloud Object Storage장애 처리COS 액세스 시 403 에러 코드 반환

COS 액세스 시 403 에러 코드 반환

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2025-11-07 11:58:54

장애 현상

COS API, SDK로 리소스 업로드 및 다운로드 시 403 에러 코드 반환
임시 키 또는 서브 계정으로 COS 리소스 액세스 시 403 에러 코드 반환
COS bucket 설정 수정 시 403 에러 코드 반환

장애 분석 방식

COS 요청에 403 에러 코드가 나타나면 다음 절차를 참고하여 문제의 원인을 진단할 수 있습니다.
1. 요청이 CORS 크로스 도메인 액세스 요청인지 확인하십시오. 실패한 크로스 도메인 요청은 "AccessForbidden"을 반환합니다.
2. 요청이 버킷 링크 도용 방지 설정에 히트되었는지 확인하십시오. 링크 도용 방지 규칙으로 인한 403 에러 코드에 대해 COS는 "You are denied by bucket referer rule"을 반환합니다.
3. 요청이 익명 요청인지 확인하고, 공개 읽기가 아닌 객체에 서명이 없는 요청을 보내면 "Access Denied"를 반환합니다. 버킷 또는 객체에 대한 공개 읽기 설정은 액세스 권한 설정 또는 객체의 액세스 권한 설정을 참고하십시오.
4. 요청 키와 요청 서명이 올바른지 확인합니다.
4.1 SecretId 사용 시 서명이 정확하지 않으면 COS는 ["InvalidAccessKeyId"]를 반환합니다.
4.2 해당 기기의 시간이 정확하지 않거나 요청 시간이 서명의 유효 기간을 초과한 경우 COS는 "RequestTimeTooSkewed" 또는 "Request has expired"를 반환합니다.
4.3 COS는 서명 생성의 계산 방식에 문제가 있는 경우 "SignatureDoesNotMatch"를 반환합니다.
5. 요청을 제안한 서브 계정 또는 임시 키에 해당 액세스 권한이 부여되었는지 확인합니다.
5.1 서브 계정의 액세스 권한을 확인하고, 리소스 액세스 권한이 없는 서브 계정 요청은 "Access Denied."가 반환됩니다.
5.2 임시 키로 제안된 요청의 경우 임시 키 신청 시 작성하는 정책에 따라 임시 키 요청의 리소스 범위가 제한되며, 자세한 내용은 임시 키 생성 및 사용 가이드를 참고하십시오.
6. 요청 객체가 ARCHIVE 유형인지 또는 DEEP ARCHIVE 유형인지 확인합니다. 이러한 요청 COS는 "InvalidObjectState"를 반환합니다.

장애 진단 및 처리

Message가 'Access Denied.'인 경우

COS 액세스 시 아래 정보가 출력되는 경우,
<Code>AccessDenied</Code>
<Message>Access Denied.</Message>
다음 작업을 진행해야 합니다.
1. COS 콘솔에 로그인합니다.
2. 왼쪽 사이드바에서 버킷 리스트를 선택해 버킷 관리 페이지로 이동합니다.
3. 작업할 버킷을 찾아 버킷 이름을 클릭하여 버킷 설정 페이지로 이동합니다.
4. 왼쪽 사이드바에서 권한 관리 > 버킷 액세스 권한을 선택해 버킷 액세스 관리 페이지로 이동합니다.
5. '버킷 액세스 권한'에서 COS에 액세스하는 계정에 액세스 권한을 설정했는지 확인합니다.
예. 다음 단계를 실행합니다.
아니오. 사용자 추가를 클릭하여 COS에 액세스하는 계정에 필요한 권한을 설정합니다.
6. 액세스 권한이 설정된 계정에 필요한 권한을 부여했는지 확인합니다.
예. 다음 단계를 실행합니다.
아니오. 편집을 클릭하여 다시 설정하십시오.
7. 'Policy 권한 설정'에서 COS에 액세스하는 계정에 policy 라이선스 정책이 설정되어 있는지 확인합니다.
주의:
버킷 액세스 권한이 개인 읽기이고 Policy 권한이 익명 액세스인 경우, Policy 권한의 우선순위가 버킷 액세스 권한보다 높습니다.
Policy 라이선스 정책에서 동일한 서브 계정에 허용 및 금지 정책을 동시에 설정한 경우, 금지 정책의 우선순위가 허용 정책보다 높습니다.
Policy 라이선스 정책에서 '모든 사용자' 정책의 우선순위가 '지정 사용자' 정책보다 낮습니다.
예. 다음 단계를 실행합니다.
아니오. 정책 추가를 클릭하고 실제 서명 액세스 시 계정에 필요한 권한에 따라 설정합니다.
8. Policy 권한을 설정한 계정에 필요한 권한을 부여했는지 확인합니다.
예. 다음 단계를 실행합니다.
아니오. 편집을 클릭하여 다시 설정하십시오.
9. COS 리소스 액세스 시 사용하는 q-ak 매개변수가 타깃 버킷에 소속된 계정(대소문자 구분)인지 확인합니다.
예. 다음 단계를 실행합니다.
아니요. q-ak 매개변수를 해당 타깃 버킷의 소속 계정으로 수정합니다.
10. COS 리소스 액세스 시 교차 계정으로 액세스했는지 확인합니다.
예. 계정에 대한 교차 계정 인증을 진행하십시오. 자세한 내용은 교차 계정의 서브 계정에 지정된 파일에 대한 읽기/쓰기 권한 인증을 참고하십시오.
해당 오류가 아닌 경우: 고객센터에 문의하십시오.

Message가 'AccessForbidden'인 경우

COS 액세스 시 아래 정보가 출력되는 경우,
<Code>AccessDenied</Code>
<Message>AccessForbidden</Message>
다음 작업을 진행해야 합니다.
1. COS 콘솔에 로그인합니다.
2. 왼쪽 사이드바에서 버킷 리스트를 선택해 버킷 관리 페이지로 이동합니다.
3. 작업할 버킷을 찾아 버킷 이름을 클릭하여 버킷 설정 페이지로 이동합니다.
4. 왼쪽 사이드바에서 보안 관리 > 크로스 도메인 액세스(CORS) 설정을 선택해 크로스 도메인 액세스 CORS 설정 페이지로 이동합니다.
5. '크로스 도메인 액세스(CORS) 설정'에서 크로스 도메인 요청 여부를 확인합니다.
예. 다음 단계를 실행합니다.
아니요. 규칙을 수정합니다.
6. 다음 명령어를 실행하여 크로스 도메인 요청이 정확하게 설정되어 있는지 확인합니다.
curl 'http://bucket-appid.cos.ap-guangzhou.myqcloud.com/object' -voa /dev/null -H 'Origin: 크로스 도메인 액세스(CORS) 설정의 출처 Origin'
다음 정보가 반환되면 정확하게 설정되었다는 의미입니다.



Message가 'You are denied by bucket referer rule'인 경우

COS 액세스 시 아래 정보가 출력되는 경우,
<Code>AccessDenied</Code>
<Message>You are denied by bucket referer rule</Message>
다음 작업을 진행해야 합니다.
1. COS 콘솔에 로그인합니다.
2. 왼쪽 사이드바에서 버킷 리스트를 선택해 버킷 관리 페이지로 이동합니다.
3. 작업할 버킷을 찾아 버킷 이름을 클릭하여 버킷 설정 페이지로 이동합니다.
4. 왼쪽 사이드바에서 보안 관리 > 링크 도용 방지 설정을 선택해 링크 도용 방지 설정 페이지로 이동합니다.
5. '링크 도용 방지 설정'에서 링크 도용 방지를 설정했는지 확인합니다.
예. 다음 단계를 실행합니다.
해당 오류가 아닌 경우: 고객센터에 문의하십시오.
6. 다음 명령어를 실행하여 링크 도용 방지가 정확하게 설정되어 있는지 확인합니다.
curl 'http://bucket-appid.cos.ap-guangzhou.myqcloud.com/object' -voa /dev/null -H 'referer: Referer 값'
다음 정보가 반환되면 정확하게 설정되었다는 의미입니다.



Message가 'InvalidAccessKeyId'인 경우

COS 액세스 시 아래 정보가 출력되는 경우,
<Code>AccessDenied</Code>
<Message>InvalidAccessKeyId</Message>
다음 작업을 진행해야 합니다.
1. 요청 서명 Authorization의 q-ak 매개변수를 정확하게 입력했는지 확인합니다.
예. 다음 단계를 실행합니다.
아니요. q-ak 매개변수를 수정합니다. 키의 SecretId는 q-ak 매개변수와 동일해야 하며 대소문자를 구분합니다.
2. API 키 관리로 이동해 API 키가 활성화되어 있는지 확인합니다.
해당 오류일 경우: 고객센터에 문의하십시오.
아니요. 해당 API 키를 활성화합니다.

Message가 'InvalidObjectState'인 경우

COS 액세스 시 아래 정보가 출력되는 경우,
<Code>AccessDenied</Code>
<Message>InvalidObjectState</Message>
다음 작업을 진행해야 합니다.
요청하는 객체가 CAS 또는 DEEP ARCHIVE 유형인지 확인합니다.
예. 객체 복구 후 다시 액세스합니다. 자세한 작업 방법은 POST Object restore를 참조하십시오.
해당 오류가 아닌 경우: 고객센터에 문의하십시오.

Message가 'RequestTimeTooSkewed'인 경우

COS 액세스 시 아래 정보가 출력되는 경우,
<Code>AccessDenied</Code>
<Message>RequestTimeTooSkewed</Message>
다음 작업을 진행해야 합니다.
1. 운영 체제 유형에 따라 클라이언트의 현재 시간을 확인합니다.
Windows 시스템(Windows Server 2012 기준):

> 제어판 > 시간, 언어 및 지역 > 날짜 및 시간.
Linux 시스템: date -R 명령어 실행


2. 클라이언트의 현재 시간과 서버 시간에 오차가 있는지 오차 시간이 15분을 초과하는지 확인합니다.
예. 시간을 동기화합니다.
해당 오류가 아닌 경우: 고객센터에 문의하십시오.

Message가 'Request has expired'인 경우

COS 액세스 시 아래 정보가 출력되는 경우,
<Code>AccessDenied</Code>
<Message>Request has expired</Message>
예상 원인은 다음과 같습니다.
요청 시작 시간이 서명 유효 시간을 초과한 경우
로컬 시스템 시간과 해당 지역 시간이 일치하지 않는 경우
서명 유효시간을 다시 설정하거나 로컬 시스템 시간을 동기화해야 합니다. 해당 방법으로도 해결되지 않는 경우 고객센터로 문의하십시오.

Message가 'SignatureDoesNotMatch'인 경우

COS 액세스 시 아래 정보가 출력되는 경우,
<Code>AccessDenied</Code>
<Message>SignatureDoesNotMatch</Message>
다음 작업을 진행해야 합니다.
클라이언트가 계산한 서명과 서버가 계산한 서명이 일치하는지 확인합니다.
해당 오류일 경우: 고객센터에 문의하십시오.
아니요. Request Signature 문서를 참조하여 COS 서명 툴을 사용해 직접 구현되는 서명 과정을 확인하십시오.

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백