すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:CreateCnameToken - ドメイン名の所有権を検証するための CNAME トークンの作成

最終更新日:Sep 16, 2026

CreateCnameToken API は、ドメイン名の所有権の検証に必要な CNAME トークンを作成します。 wildcard パラメーターを使用して、完全一致 CNAME とワイルドカード CNAME のどちらのトークンを作成するかを指定します。

使用上の注意

  • デフォルトでは、CNAME トークンは作成後 72 時間で有効期限が切れます。 トークンがまだ有効である間にこの API を再度呼び出した場合、OSS は既存のトークンを返します。

  • Agentic バケットの場合、wildcard パラメーターは必須であり、空にすることはできません。 wildcard=true はワイルドカード CNAME のトークンを作成し、 wildcard=false は完全一致 CNAME のトークンを作成します。

  • 標準バケットの場合、完全一致 CNAME のトークン作成は、既存の OSS CNAME 操作とまったく同じように動作します。 新しいパラメーターは不要です。

リクエスト構文

POST /?cname&comp=token&wildcard=true HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Content-Type: application/xml
Content-Length: 186
Date: GMT Date
Authorization: SignatureValue

<BucketCnameConfiguration>
  <Cname>
    <Domain>example.com</Domain>
  </Cname>
</BucketCnameConfiguration>

リクエストヘッダー

この API は、共通のリクエストヘッダーのみを使用します。 詳細については、「共通 HTTP ヘッダー」をご参照ください。

リクエストパラメーター

パラメーター

タイプ

必須

例

説明

wildcard

String

標準バケット:いいえ

Agentic バケット:はい

true

ワイルドカード CNAME のトークンを作成するかどうかを指定します。 有効な値:

  • true:ワイルドカード CNAME のトークンを作成します。

  • false:完全一致 CNAME のトークンを作成します。

Agentic バケットの場合、このパラメーターは必須です。 明示的に true または false に設定する必要があり、空にすることはできません。 標準バケットの場合、このパラメーターは任意で、デフォルト値は false です。

wildcard パラメーターは、バケットタイプごとに異なる値を取ります:

バケットタイプ

パラメーターの省略

wildcard=false

wildcard=true

標準バケット

可能です。完全一致 CNAME のトークンを作成します。

可能です。完全一致 CNAME のトークンを作成します。

不可能です。

Agentic バケット

不可能です。

可能です。完全一致 CNAME のトークンを作成します。

可能です。ワイルドカード CNAME のトークンを作成します。

説明

(バケット、CNAME) のペアに対する単一のトークンは、完全一致スコープとワイルドカードスコープの両方に対応します。

リクエスト要素

要素

タイプ

必須

例

説明

BucketCnameConfiguration

コンテナ

はい

N/A

CNAME 設定を格納するコンテナです。

親ノード:なし

子ノード: Cname

Cname

コンテナ

はい

N/A

CNAME 情報を格納するコンテナです。

親ノード: BucketCnameConfiguration

子ノード: Domain

Domain

String

はい

example.com

カスタムドメイン名。 完全一致 CNAME のトークンを作成するには、この要素を console.example.com のような完全なドメイン名に設定します。 ワイルドカード CNAME のトークンを作成するには、この要素を *. プレフィックスなしのベースドメイン名 (例: example.com) に設定します。

親ノード: Cname

子ノード:なし

べき等性

CreateCnameToken のべき等性は、バケットタイプと、CNAME が現在のバケットにすでにマッピングされているかどうかによって異なります:

  • 標準バケット:CNAME が削除済み以外の状態で現在のバケットにすでにマッピングされている場合、 OSS は NoNeedCreateCnameToken を返し、トークンを作成する必要はありません。

  • Agentic バケット: OSS は、現在の Agentic バケットが、同じタイプの CNAME にベースドメイン名をすでにマッピングしている場合にのみ NoNeedCreateCnameToken を返します。

レスポンス要素

要素

タイプ

例

説明

CnameToken

コンテナ

N/A

CNAME トークンを格納するコンテナです。

親ノード:なし

子ノード: Bucket、Cname、Token、ExpireTime

Bucket

String

examplebucket

CNAME がマッピングされるバケットの名前です。

親ノード: CnameToken

子ノード:なし

Cname

String

example.com

マッピングされる CNAME の名前です。

親ノード: CnameToken

子ノード:なし

Token

String

be1d49d863dea9ffeff3df7d6455****

OSS によって返される CNAME トークンです。

親ノード: CnameToken

子ノード:なし

ExpireTime

String

Wed, 23 Feb 2022 21:16:37 GMT

CNAME トークンの有効期限が切れる時刻です。

親ノード: CnameToken

子ノード:なし

例

  • リクエストの例

    • 標準バケットの CNAME トークンの作成

      POST /?cname&comp=token HTTP/1.1
      Host: oss-example.oss-cn-hangzhou.aliyuncs.com
      Content-Type: application/xml
      Content-Length: 186
      Date: Thu, 17 Apr 2025 15:39:12 GMT
      Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
      
      <BucketCnameConfiguration>
        <Cname>
          <Domain>example.com</Domain>
        </Cname>
      </BucketCnameConfiguration>
    • Agentic バケットのワイルドカード CNAME の CNAME トークンの作成

      POST /?cname&comp=token&wildcard=true HTTP/1.1
      Host: myab-$uid-$region-ab-apsr.oss-cn-hangzhou.aliyuncs.com
      Content-Type: application/xml
      Content-Length: 186
      Date: Thu, 17 Apr 2025 15:39:12 GMT
      Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
      
      <BucketCnameConfiguration>
        <Cname>
          <Domain>example.com</Domain>
        </Cname>
      </BucketCnameConfiguration>
    • Agentic バケットの完全一致 CNAME の CNAME トークンの作成

      POST /?cname&comp=token&wildcard=false HTTP/1.1
      Host: myab-$uid-$region-ab-apsr.oss-cn-hangzhou.aliyuncs.com
      Content-Type: application/xml
      Content-Length: 186
      Date: Thu, 17 Apr 2025 15:39:12 GMT
      Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
      
      <BucketCnameConfiguration>
        <Cname>
          <Domain>console.example.com</Domain>
        </Cname>
      </BucketCnameConfiguration>
  • レスポンスの例

    • CNAME トークンが作成された場合

      HTTP/1.1 200 OK
      x-oss-request-id: 5C1B138A109F4E405B2D
      Date: Mon, 26 Jul 2021 13:08:38 GMT
      Content-Length: 118
      Content-Type: application/xml
      Connection: keep-alive
      Server: AliyunOSS
      <?xml version="1.0" encoding="UTF-8"?>
      <CnameToken>
        <Bucket>myab-$uid-$region-ab-apsr</Bucket>
        <Cname>example.com</Cname>
        <Token>be1d49d863dea9ffeff3df7d6455****</Token>
        <ExpireTime>Thu, 29 Jul 2021 14:00:00 GMT</ExpireTime>
      </CnameToken>
    • CNAME トークンの数が上限を超えた場合

      HTTP/1.1 400 Bad Request
      x-oss-request-id: 5C1B138A109F4E405B2D
      Date: Mon, 26 Jul 2021 13:08:38 GMT
      Content-Length: 118
      Content-Type: application/xml
      Connection: keep-alive
      Server: AliyunOSS
      <?xml version="1.0" encoding="UTF-8"?>
      <Error>
        <Code>TooManyCnameToken</Code>
        <Message>You have attempted to create more cname token than allowed.</Message>
        <RequestId>6215FD21DA0E27393F004E9E</RequestId>
        <HostId>127.0.0.1</HostId>
        <Bucket>examplebucket</Bucket>
      </Error>

OSS SDK

CreateCnameToken API をサポートする OSS SDK は次のとおりです:

ossutil

CreateCnameToken API に対応する ossutil コマンドの詳細については、「create-cname-token」をご参照ください。

エラーコード

エラーコード

HTTP ステータスコード

説明

InvalidArgument

400

エラーの原因として、以下が考えられます:

  • Domain 要素には、ワイルドカードリテラル *.example.com のような無効な文字が含まれています。

TooManyCnameToken

400

同じバケットに対して作成されたトークンの数が上限を超えています。

NoNeedCreateCnameToken

200

CNAME は現在のバケットにすでにマッピングされているため、トークンを作成する必要はありません。 標準バケットの場合、CNAME が削除済み以外の状態で現在のバケットにすでにマッピングされていると、 OSS はこのレスポンスを返します。 Agentic バケットの場合、ベースドメイン名が同じタイプの CNAME によって現在の Agentic バケットにすでにマッピングされている場合にのみ、 OSS はこのレスポンスを返します。

MethodNotAllowed

405

対象のバケットタイプでは CNAME 機能が有効になっていません。