bucket-cnameコマンドを実行して、バケットにマップされたドメイン名の所有権を検証し、CNAME設定を管理するために使用されるCNAMEトークンを作成できます。
使用上の注意
CNAMEトークンを作成するには、
oss:CreateCnameToken
権限が必要です。 CNAMEトークンを照会するには、oss:GetCnameToken
権限が必要です。 CNAME設定を追加するには、oss:PutCname
権限が必要です。 CNAME設定をクエリするには、oss:ListCname
権限が必要です。 CNAME設定を削除するには、oss:DeleteCname
権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。ossutil 1.6.16以降の場合、コマンドラインでossutilをバイナリ名として直接使用できます。 オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 1.6.16より前のossutilの場合、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。 詳細は、「ossutilコマンドリファレンス」をご参照ください。
CNAMEトークンの作成
CNAMEトークンの作成に使用できるのは、ossutil 1.7.13以降だけです。
コマンド構文
ossutil bucket-cname --method put --item token oss://bucketname domainname
次の表に、上記のパラメーターを示します。
パラメーター
説明
bucketname
CNAMEレコードを追加するドメイン名がマップするバケットの名前。
ドメイン名
カスタムドメイン名。
例
次のサンプルコードは、examplebucketという名前のバケットにマップするカスタムドメインnam e example.comのCNAMEトークンを作成する方法の例を示しています。
ossutil bucket-cname --method put --item token oss://examplebucket example.com
次の出力が表示されます。
<CnameToken> <Bucket>examplebucket</Bucket> <Cname>example.com</Cname> <Token>4db41c3ad0c4c4b690d4c17fb34e****</Token> <ExpireTime>Thu, 26 May 2022 19:14:12 GMT</ExpireTime> </CnameToken> 0.270654(s) elapsed
CNAMEトークンの作成後、TXTレコードを追加する必要があります。 詳細については、「カスタムドメイン名をバケットのデフォルトドメイン名にマップする」をご参照ください。
CNAMEトークンの照会
コマンド構文
ossutil bucket-cname --method get --item token oss://bucketname domainname local_xml_file
例
次のサンプルコードは、CNAMEトークンをクエリして表示する方法の例を示しています。
ossutil bucket-cname --method get --item token oss://examplebucket example.com
次の出力が表示されます。
<CnameToken> <Bucket>examplebucket</Bucket> <Cname>example.com</Cname> <Token>fbf997e8a2d48cb2177ed25180ee****</Token> <ExpireTime>Thu, 26 May 2022 19:53:19 GMT</ExpireTime> </CnameToken> 0.144356(s) elapsed
次のサンプルコードは、CNAMEトークンを照会してローカルファイルに保存する方法の例を示しています。
ossutil bucket-cname --method get --item token oss://examplebucket example.com local.xml
ローカルファイルには次の内容が含まれています。
<CnameToken> <Bucket>examplebucket</Bucket> <Cname>example.com</Cname> <Token>fbf997e8a2d48cb2177ed25180ee****</Token> <ExpireTime>Thu, 26 May 2022 19:53:19 GMT</ExpireTime> </CnameToken>
CNAME設定の追加
CNAME設定を追加する前に、CNAMEトークンを作成する必要があります。 詳細については、「CNAMEトークンの作成」をご参照ください。
コマンド構文
ossutil bucket-cname --method put oss://bucketname domainname
例
次のサンプルコードは、examplebucketという名前のバケットにCNAME設定を追加する方法の例を示しています。
ossutil bucket-cname --method put oss://examplebucket example.com
次の出力が表示される場合、CNAME設定が追加されます。
0.227834(s) elapsed
CNAME設定のクエリ
コマンド構文
ossutil bucket-cname --method get oss://bucketname local_xml_file
例
次のサンプルコードは、examplebucketという名前のバケットのCNAME設定をクエリして表示する方法の例を示しています。
ossutil bucket-cname --method get oss://examplebucket
次の出力が表示された場合、バケットのCNAME設定が照会されます。 次の出力は、d example.org s example.comドメイン名がexamplebucketという名前のバケットにマップされ、これらのドメイン名が有効になっていることを示しています。
<?xml version="1.0" encoding="UTF-8"?> <ListCnameResult> <Bucket>examplebucket</Bucket> <Owner>148562088256****</Owner> <Cname> <Domain>example.com</Domain> <LastModified>2021-08-26T07:25:12.000Z</LastModified> <Status>Enabled</Status> <IsPurgeCdnCache>true</IsPurgeCdnCache> </Cname> <Cname> <Domain>example.org</Domain> <LastModified>2021-08-26T07:25:26.000Z</LastModified> <Status>Enabled</Status> <IsPurgeCdnCache>true</IsPurgeCdnCache> </Cname> </ListCnameResult> 0.164039(s) elapsed
次のサンプルコードは、examplebucketという名前のバケットのCNAME設定を照会し、そのCNAME設定をローカルファイルに格納する方法の例を示しています。
ossutil bucket-cname --method get oss://examplebucket local.xml
SSL証明書が関連付けられている場合、次の出力が表示されます。
<?xml version="1.0" encoding="UTF-8"?> <ListCnameResult> <Bucket>examplebucket</Bucket> <Owner>1506925210***</Owner> <Cname> <Domain>example.com</Domain> <LastModified>2023-02-27T10:38:13.000Z</LastModified> <Status>Enabled</Status> <IsPurgeCdnCache>false</IsPurgeCdnCache> <Certificate> <Type>CAS</Type> <CertId>927****-cn-hangzhou</CertId> <Status>Enabled</Status> <CreationDate>Mon, 27 Feb 2023 06:51:34 GMT</CreationDate> <Fingerprint>60:AA:C3:2C:D4:70:54:3D:02:DB:B5:AA:E7:0E:E2:B9:0B:5A:C8:CC</Fingerprint> <ValidStartDate>Feb 10 00:00:00 2023 GMT</ValidStartDate> <ValidEndDate>Feb 10 23:59:59 2024 GMT</ValidEndDate> </Certificate> </Cname> </ListCnameResult>
SSL証明書が関連付けられていない場合、次の出力が表示されます。
<?xml version="1.0" encoding="UTF-8"?> <ListCnameResult> <Bucket>examplebucket</Bucket> <Owner>148562088256****</Owner> <Cname> <Domain>example.com</Domain> <LastModified>2021-08-26T07:25:12.000Z</LastModified> <Status>Enabled</Status> <IsPurgeCdnCache>true</IsPurgeCdnCache> </Cname> <Cname> <Domain>example.org</Domain> <LastModified>2021-08-26T07:25:26.000Z</LastModified> <Status>Enabled</Status> <IsPurgeCdnCache>true</IsPurgeCdnCache> </Cname> </ListCnameResult>
CNAMEレコードの追加とSSL証明書の関連付け
コマンド構文
ossutil bucket-cname --method put --item certificate oss://bucketname local_xml_file
例
ローカル設定ファイルを指定します。
<?xml version="1.0" encoding="UTF-8"?> <BucketCnameConfiguration> <Cname> <Domain>example.com</Domain> <CertificateConfiguration> <CertId>493****-cn-hangzhou</CertId> <Certificate>-----BEGIN CERTIFICATE----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** -----END CERTIFICATE-----</Certificate> <PrivateKey>-----BEGIN CERTIFICATE----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** -----END CERTIFICATE-----</PrivateKey> <PreviousCertId>493****-cn-hangzhou</PreviousCertId> <Force>true</Force> </CertificateConfiguration> </Cname> </BucketCnameConfiguration>
CNAMEレコードをドメイン名のDNSレコードに追加し、SSL証明書をドメイン名に関連付けます。
ossutil bucket-cname --method put --item certificate oss://examplebucket local.xml
SSL証明書の関連付け解除
コマンド構文
ossutil bucket-cname --method put --item certificate oss://bucketname local_xml_file
例
ローカル設定ファイルを指定します。
<?xml version="1.0" encoding="UTF-8"?> <BucketCnameConfiguration> <Cname> <Domain>example.com</Domain> <CertificateConfiguration> <DeleteCertificate>True</DeleteCertificate> </CertificateConfiguration> </Cname> </BucketCnameConfiguration>
SSL証明書の関連付けを解除します。
ossutil bucket-cname --method put --item certificate oss://examplebucket local.xml
CNAME設定の削除
コマンド構文
ossutil bucket-cname --method delete oss://bucketname domainname
例
次のサンプルコードは、examplebucketという名前のバケットのCNAME設定を削除する方法の例を示しています。
ossutil bucket-cname --method delete oss://examplebucket example.com
次の出力が表示された場合、CNAME設定は削除されます。
0.227389(s) elapsed
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、-eオプションを追加して、バケットが配置されているリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、-iオプションを追加して指定されたアカウントのAccessKey IDを指定し、-kオプションを追加して指定されたアカウントのAccessKey secretを指定します。
たとえば、次のコマンドを実行して、中国 (杭州) リージョンにあり、別のAlibaba Cloudアカウントに属するtestbucketという名前のバケットにCNAME設定を追加できます。
ossutil bucket-cname --method put oss://testbucket example.org -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
共通オプションの詳細については、「共通オプション」をご参照ください。