ECS:OBS: バケット間のコピーがHTTP 403-SignatureDoesNotMatchで失敗する

概要: 同じネームスペース内の2つのバケット間でオブジェクトをコピーすると、次のエラーで失敗します。03 (SignatureDoesNotMatch): 計算されたリクエストの署名が、指定した署名と一致しません。シークレット アクセス キーと署名方法を確認します。詳細については、「REST認証」および「SOAP認証」を参照してください。

この記事は次に適用されます: この記事は次には適用されません: この記事は、特定の製品に関連付けられていません。 すべての製品パージョンがこの記事に記載されているわけではありません。

現象

同じネームスペース内の2つのバケット間でオブジェクトをコピーすると、次のエラーで失敗します。
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 mismatch」が表示されます。

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_vdcrg1 バケツ。

解決方法

これは設計どおりに機能しています

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ユーザーからの回答を見つける
サポート サービス
お使いのデバイスがサポート サービスの対象かどうかを確認してください。