ECS: 옵스 : HTTP 403-SignatureDoesNotMatch로 인해 버킷 간 복사가 실패함
요약: 동일한 네임스페이스 내의 두 버킷 간에 오브젝트를 복사하면 다음 오류와 함께 실패합니다. 03(SignatureDoesNotMatch): 계산한 요청 서명이 입력한 서명과 일치하지 않습니다. 암호 액세스 키와 서명 방법을 확인합니다. 자세한 내용은 REST 인증 및 SOAP 인증을 참조하십시오.
이 문서는 다음에 적용됩니다.
이 문서는 다음에 적용되지 않습니다.
이 문서는 특정 제품과 관련이 없습니다.
모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.
증상
동일한 네임스페이스에 있는 두 버킷 간에 오브젝트를 복사하면 다음 오류와 함께 실패합니다.
ERROR HTTP 403 (SignatureDoesNotMatch): The request signature we calculated does not match the signature you provided. Check your Secret Access Key and signing method. For more information, see REST Authentication and SOAP Authentication for details.)
다른 버킷은 버킷 간에 오브젝트를 복사할 수 있습니다.
클라이언트의 샘플 오류(아래 예의 s3cmd)
user@ubuntu:~$ s3cmd cp s3://sourcebucket/0001.txt s3://destinationbucket/0001.txt --add-header=x-emc-copy-mode:deep ERROR: Copy failed for: 's3://sourcebucket/0001.txt' (403 (SignatureDoesNotMatch): The request signature we calculated does not match the signature you provided. Check your Secret Access Key and signing method. For more information, see REST Authentication and SOAP Authentication for details.)
로그 출처: svc_request 이 세션의 내용:
x.x.x.159 02-20 11:43:04 0a3c129f:195052e2352:383d:6d0 s3 GET - x.x.x.253 200 454 4 y-test sourcebucket/0001.txt?acl x.x.x.159 02-20 11:43:04 0a3c129f:195052e2352:37e3:1045 s3 HEAD - x.x.x.253 200 0 2 y-test sourcebucket/0001.txt x.x.x.159 02-20 11:43:04 0a3c129f:195052e2352:383d:6d3 s3 PUT No x.x.x.253 400 - 7 y-test destinationbucket/0001.txt x.x.x.159 02-20 11:43:04 0a3c129f:195052e2352:37e3:1048 s3 PUT No x.x.x.253 403 - 1 - destinationbucket/0001.txt
ECS 로그에 다음이 표시됩니다.
varray mismatch: source bucket has urn:storageos:VirtualArray:IDb.urn:storageos:ReplicationGroupInfo:ID:global, dest bucket has urn:storageos:VirtualArray:ID.urn:storageos:ReplicationGroupInfo:ID:global
HTTP 400 요청을 추적하면 "varray 불일치"가 표시됩니다.
xxx.xxx.x.1 2025-02-20 11:43:04,682 0a3c129f:195052e2352:383d:6d3 x.x.x.159:9020 x.x.x.253:60062 y-test-1 - PUT y-test destinationbucket 0001.txt - HTTP/1.1 400 7 - - 6 - copy - - 'X-Forwarded-For: -' 'x-amz-meta-firstName: -' 'x-amz-meta-lastname: -' 'x-amz-meta-age: -' xxx.xxx.x.1 2025-02-20 11:43:04,682 0a3c129f:195052e2352:383d:6d3 x.x.x.159:9020 x.x.x.253:60062 y-test-1 - PUT y-test destinationbucket 0001.txt - HTTP/1.1 400 7 - - 6 - copy - - 'X-Forwarded-For: -' 'x-amz-meta-firstName: -' 'x-amz-meta-lastname: -' 'x-amz-meta-age: -' xxx.xxx.x.1 2025-02-20T11:43:04,675 [qtp2087040347-23314-0a3c129f:195052e2352:383d:6d3-s3-x.x.x.253] INFO V4Signer.java (line 118) credential: y-test-1/20250220/US-EAST-1/s3/aws4_request, amz_expires: null, amz_signed_headers: content-type;host;x-amz-content-sha256;x-amz-copy-source;x-amz-date;x-amz-meta-s3b-last-modified;x-amz-meta-sha256;x-amz-metadata-directive;x-amz-storage-class;x-emc-copy-mode;x-emc-mtime, amz_signature: 65edd5ab6e7b30a19993f88c160df46b826010f199583a41468272321c229ea0, payloadHash: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855, amz_date: 20250220T114323Z xxx.xxx.x.1 2025-02-20T11:43:04,678 [qtp2087040347-23314-0a3c129f:195052e2352:383d:6d3-s3-x.x.x.253] ERROR S3Exception.java (line 1733) got object access exception. RequestId 0a3c129f:195052e2352:383d:6d3 com.emc.storageos.objcontrol.object.exception.ObjectAccessException: varray mismatch: source bucket has urn:storageos:VirtualArray:<ID>.urn:storageos:ReplicationGroupInfo:<ID>:global, dest bucket has urn:storageos:VirtualArray:<ID>.urn:storageos:<ID>:global
원인
대부분의 AWS 호환 툴은 동일한 소스의 버킷 간에 복사할 때 s3 복사 옵션을 사용합니다. 이 옵션은 클라이언트를 사용하여 오브젝트를 다운로드 및 업로드하지 않고 대신 타겟에 복사 작업을 수행하도록 요청합니다.
소스 버킷과 타겟 버킷이 서로 다른 복제 그룹에서 호스팅되는 경우 복사에 실패할 경우 ECS는 동일한 복제 그룹 내에서만 S3 복사를 허용합니다. 복제 그룹의 개념은 Amazon AWS에서 사용되지 않으며 클라이언트 도구는 사용된 다른 복제 그룹이 있는지 감지하지 못합니다.
버킷이 다른 복제 그룹에 있는지 확인하는 방법:
CLI에서 다음을 실행합니다.
svc_bucket list -n <namespace>
admin@ecsnode2:~> svc_bucket list -n y-test
svc_bucket v1.1.3 (svc_tools v2.24.0) Started 2025-07-29 07:18:45
Bucket Temp
Replication Owner Owner API FS Versioning Failed
Bucket Name Namespace Group User VDC Type Enabled Enabled (TSO)
destinationbucket y-test local_vdc y-test-1 VDC1 S3 False Disabled False
destinationiam y-test local_vdc urn:ec...t:root VDC1 S3 False Disabled False
destsamerg y-test RG1 y-test-1 VDC1 S3 False Disabled False
iam y-test RG1 urn:ec...t:root VDC1 S3 False Disabled False
iamsamerg y-test RG1 urn:ec...t:root VDC1 S3 False Disabled False
new-bucket-37494b67 y-test RG1 y-test-1 VDC1 S3 False Enabled False
s3 y-test RG1 y-test-1 VDC1 S3 False Disabled False
sourcebucket y-test RG1 y-test-1 VDC1 S3 False Disabled False
sourceiam y-test RG1 urn:ec...t:root VDC1 S3 False Disabled False
steve y-test RG1 y-test-1 VDC1 S3 False Disabled False
versioning-test y-test RG1 y-test-1 VDC1 S3 False Enabled False
위의 예에서 이름에 destination 이 있는 두 버킷은 모두 local_vdc, 다른 것들은 RG1
모든 간에 복사할 수 있습니다. RG1 양동이뿐만 아니라 둘 사이에도 local_vdc 버킷(버킷 사이는 아님) local_vdc 및 rg1 통.
해결
이는 정상적인 작동입니다.
ECS에서 클라이언트로 오브젝트를 다운로드하고 새 소스에 다시 업로드합니다. 또는 동일한 네임스페이스 및 복제 그룹 내의 버킷을 사용합니다.
해당 제품
ECS, ObjectScale, ECS Appliance, ECS Appliance Hardware Series, ECS Appliance Software with Encryption, ECS Appliance Software without Encryption, ObjectScale Software without Encryption, ObjectScale Software Series문서 속성
문서 번호: 000350675
문서 유형: Solution
마지막 수정 시간: 30 7월 2025
버전: 1
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.