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

Object Storage Service:ossutil の構成

最終更新日:Apr 28, 2025

このトピックでは、ossutil を構成する方法について説明します。

ossutil のバージョンのアップグレード

ossutil 2.0 を使用することをお勧めします。 ossutil を迅速にインストールして使用する方法については、「ossutil のインストール」をご参照ください。

ossutil 2.0 の主な機能:

  • 新しいコマンド構文: ossutil api put-bucket-acl などの API レベルのコマンドや、ossutil config などの高レベルのコマンドなど、複数レベルのコマンドが導入されています。

  • 最適化された構成メカニズム: 初期構成プロセスが簡素化されました。 ossutil をインストールした後、AccessKey ID、AccessKey シークレット、およびリージョン ID を指定するだけで、基本構成を完了できます。 また、--profile パラメーターを使用して複数の構成ファイルを指定することもでき、柔軟性が向上します。

  • lscprm などのバッチ処理コマンドに対して、パス、ファイルサイズ、最終更新時刻、およびオブジェクトのメタデータに基づくさまざまなフィルター条件が提供され、操作の精度と効率が大幅に向上します。

  • 柔軟な出力形式: --output-format パラメーターを使用して、出力ファイルの出力形式を JSON、YAML、または XML に設定し、さまざまなデータ処理要件により適切に対応できます。 また、--output-query オプションを指定して出力ファイルをフィルタリングし、必要な情報を取得することもできます。

  • セキュリティの強化: データセキュリティを向上させるために、ossutil 2.0 では環境変数を使用して機密パラメーターを指定できます。これにより、コマンドラインでキーが公開されるのを回避し、漏洩のリスクを軽減します。 さらに、--dry-run オプションを使用すると、コマンドを実行する前にユーザーが動作を確認できるため、操作が正しいことを確認できます。

config コマンドを実行して ossutil を迅速に構成する

ほとんどの場合、config コマンドを実行して ossutil を迅速に構成できます。 このコマンドは、対話形式で構成ファイルを生成するのに役立ちます。

次の例は、Linux オペレーティングシステムで ossutil を構成する方法を示しています。

  1. 次のコマンドを実行して ossutil を構成します。

    ossutil config
  2. 画面の指示に従って、構成ファイルのパスを構成します。

    ビジネス要件に基づいて構成ファイルのパスを指定できます。 デフォルトでは、構成ファイルは ~/.ossutilconfig として保存されます。 Enter キーを押すと、デフォルトの構成が使用されます。

    構成ファイルの名前を指定します。 構成ファイルの名前にはファイルパスを含めることができます。 構成ファイルのデフォルト名は /home/user/.ossutilconfig です。 パスを指定せずに Enter キーを押すと、デフォルトパスが使用されます。 ファイルを別のパスに保存する場合は、--config-file オプションをパスに設定します。
  3. 画面の指示に従って、ossutil の表示言語を構成します。

    CH または EN を入力します。 デフォルトでは、ossutil は OS で使用されている言語で表示されます。 構成は、config コマンドを実行した後に有効になります。

  4. 画面の指示に従って、エンドポイント、accessKeyID、accessKeySecret、および stsToken の各パラメーターを構成します。 stsToken パラメーターは、Security Token Service (STS) によって提供される一時的なアクセス認証情報を使用して OSS にアクセスする場合にのみ必要です。

    次の表は、上記のパラメーターについて説明しています。

    パラメーター

    必須

    説明

    エンドポイント

    はい

    バケットが配置されているリージョンのエンドポイントを指定します。 この例では、中国 (杭州) リージョンのパブリックエンドポイント (https://oss-cn-hangzhou.aliyuncs.com) が使用されています。

    OSS と同じリージョンにある他の Alibaba Cloud サービスを使用して OSS にアクセスする場合は、内部エンドポイント (https://oss-cn-hangzhou-internal.aliyuncs.com) を使用します。

    リージョンとエンドポイントの関係の詳細については、「リージョンとエンドポイント」をご参照ください。

    accessKeyID

    はい

    Alibaba Cloud アカウントの AccessKey ペアを指定します。 詳細については、「AccessKey ペアを取得する」をご参照ください。

    ROS を使用して AccessKey ペアを作成する

    Resource Orchestration Service (ROS) スクリプトを使用して、OSS へのフルアクセス権限を持つ RAM ユーザーの AccessKey ペアを迅速に作成できます。 これを行うには、テンプレートベースのスタック作成ウィザード に移動し、[セキュリティの確認] セクションで [Alibaba Cloud ROS が RAM リソースを作成することを確認します] を選択し、[作成] をクリックします。

    1.png

    AccessKey ペアが作成されたら、[出力] タブで AccessKey ペアをコピーします。

    1.png

    accessKeySecret

    はい

    stsToken

    いいえ

    このパラメーターは、一時的なアクセス認証情報を使用して OSS バケットにアクセスする場合にのみ必要です。 一時的なアクセス認証情報を使用して OSS バケットにアクセスしない場合は、このパラメーターを空のままにすることができます。 セキュリティトークンを生成する方法の詳細については、「AssumeRole」をご参照ください。

  5. 手順 2 で構成ファイルのパスを指定した場合は、このコマンドを実行するたびに -c オプションを追加して構成ファイルを指定します。

    たとえば、構成ファイルを /home/config として保存した場合は、ls コマンドを実行するときに、次の形式で -c オプションを追加します。

    ossutil -c /home/config ls oss://examplebucket

コマンドの実行に必要なパラメーターを構成ファイルで指定する

共通の認証情報と構成を構成ファイルに保存して、簡単に使用できます。 構成ファイルは INI 形式で、セクションとキーで構成されます。 構成パラメーターは、指定されたセクションに保存されます。 次の表は、共通の構成パラメーターについて説明しています。

パラメーター

説明

サンプルコード

language

ossutil が使用する言語。 有効な値:

  • CH: 中国語。

  • EN: 英語。

[Credentials]
language = CH

エンドポイント

バケットが配置されているリージョンのエンドポイント。

  • [Credentials]
    endpoint  = oss-cn-hangzhou.aliyuncs.com
  • [Credentials]
    endpoint  = https://oss-cn-hangzhou.aliyuncs.com

accessKeyID

ユーザーを一意に識別する AccessKey ID。

[Credentials]
accessKeyID = your_accesskey_id

accessKeySecret

ユーザーの ID を認証する AccessKey シークレット。

[Credentials]
accessKeySecret = yourAAccessKeySKeySecret

stsToken

リクエストの認証に使用されるセキュリティトークン。

[Credentials]
stsToken = your_sts_token

mode

認証に使用されるモード。 有効な値: AK、StsToken、RamRoleArn、および EcsRamRole。

[Credentials]
mode = RamRoleArn

ramRoleArn

認証の RamRoleArn モードにおける RAM ロールの Alibaba Cloud Resource Name (ARN)。

[Credentials]
ramRoleArn = your_ram_role_arn

roleSessionName

認証の RamRoleArn モードにおけるセッションの名前。 このパラメーターを指定しない場合は、ランダムな値が生成されます。

[Credentials]
roleSessionName = your_ram_role_seesion_name

tokenTimeout

セキュリティトークンの有効期間。 このパラメーターは、RamRoleArn モードで使用されます。 単位: 秒。 デフォルト値: 3600。

[Credentials]
tokenTimeout = your_token_timetout

ecsRoleName

認証の EcsRamRole モードにおけるロール名。

[Credentials]
ecsRoleName = your_ecs_role_name

コマンドの実行に必要なパラメーターの詳細については、「構成ファイルを変更する」をご参照ください。

コマンドラインオプション

コマンドラインオプションを指定して関連構成を指定することもできます。 コマンドラインオプションは、構成ファイルで指定されたパラメーターよりも優先されます。 次の表は、共通のコマンドラインオプションについて説明しています。

オプション

説明

サンプルコード

--loglevel

ログレベル。 デフォルトでは、このオプションは空のままです。これは、ログファイルが生成されないことを示します。 有効な値:

  • info: プロンプトログを生成します。

  • debug: 対応する HTTP リクエストとレスポンスに関する情報を含む詳細ログを生成します。

ossutil64 commandname options --loglevel debug

--connect-timeout

クライアントがサーバーに接続するためのタイムアウト期間。 デフォルト値: 120。 単位: 秒。

ossutil64 commandname options --connect-timeout 60

--read-timeout

クライアントがサーバーからデータを読み取るためのタイムアウト期間。 デフォルト値: 1200。 単位: 秒。

ossutil64 commandname options --read-timeout 60

--retry-times

操作が失敗した場合に操作を再試行する回数。 デフォルト値: 10。

ossutil64 commandname options --retry-times 20

-e, --endpoint

リクエストの送信先ドメイン名。

  • ossutil64 commandname options -e oss-cn-hangzhou.aliyuncs.com
  • ossutil64 commandname options -e https://oss-cn-hangzhou.aliyuncs.com

-i, --access-key-id

OSS へのアクセスに使用する Accesskey ID。

ossutil64 commandname options -i your_access_key

-k, --access-key-secret

OSS へのアクセスに使用する Accesskey シークレット。

ossutil64 commandname options -k your_access_key_secrect

-t, --sts-token

OSS へのアクセスに使用するセキュリティトークン。

ossutil64 commandname options -i your_sts_token_accesskey_id -k your_sts_token_accesskey_secret -t your_sts_token

--mode

認証に使用されるモード。 有効な値: AK、StsToken、RamRoleArn、および EcsRamRole。 デフォルトでは、このパラメーターは空のままです。

次のコードは、AK モードで OSS にアクセスする方法の例を示しています。

ossutil64 commandname options -i your_accesskey_id -k your_accesskey_secret --mode AK

--ram-role-arn

認証の RamRoleArn モードにおける RAM ロールの ARN。

ossutil64 commandname options --ram-role-arn your_ram_role_arn

--role-session-name

認証モードにおけるセッションの名前。

ossutil64 commandname options --role-session-name your_ram_session_name```

--token-timeout

セキュリティトークンの有効期間です。単位:秒。デフォルト値:3600 です。

ossutil64 commandname options --token-timeout 1800

--ecs-role-name

認証に EcsRamRole モードを使用する場合のロール名です。

ossutil64 commandname options --ecs-role-name your_ecs_role_name

オプションの詳細については、「共通オプション」をご参照ください。

アクセス資格情報を構成する

構成ファイルまたはコマンドライン オプションでパラメーターを指定することで、アクセス資格情報を構成できます。

AccessKey ペアを使用してデータにアクセスする

この例では、中国 (杭州) リージョンにある example-bucket という名前のバケットを使用します。

  • 構成ファイルでパラメーターを指定する

    以下の設定を含む構成ファイル ~/.myossutilconfig を作成します。

    [Credentials]
    endpoint = oss-cn-hangzhou.aliyuncs.com
    accessKeyID = yourAccessKeyID
    accessKeySecret = yourAccessKeySecret

    バケット内のオブジェクトをクエリするには、次のコマンドを実行します。

    ossutil64 -c ~/.myossutilconfig ls oss://example-bucket
  • コマンドライン オプションを指定する

    次のコードは、コマンドライン オプションを指定して一時的なアクセス資格情報をインポートする方法の例を示しています。

    ossutil64 -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret ls oss://example-bucket
    重要

    コマンドライン オプションを指定して一時的なアクセス資格情報をインポートする場合、一時的なアクセス資格情報はログ システムによって記録される可能性があります。 AccessKey ペアは漏洩しやすいので、注意して進めてください。

STS から取得した一時的なアクセス資格情報を使用してデータにアクセスする

この例では、中国 (杭州) リージョンにある example-bucket という名前のバケットを使用します。

  • 構成ファイルでパラメーターを指定する

    以下の設定を含む構成ファイル ~/.myossutilconfig を作成します。

    [Credentials]
    endpoint = oss-cn-hangzhou.aliyuncs.com
    accessKeyID = yourAccessKeyID
    accessKeySecret = yourAccessKeySecret
    stsToken = yourSecurityToken

    バケット内のオブジェクトをクエリするには、次のコマンドを実行します。

    ossutil64 -c ~/.myossutilconfig ls oss://example-bucket
  • コマンドライン オプションを指定する

    次のコードは、コマンドライン オプションを指定して一時的なアクセス資格情報をインポートする方法の例を示しています。

    ossutil64 -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret -t yourSecurityToken ls oss://example-bucket
    説明

    コマンドライン オプションを指定して一時的なアクセス資格情報をインポートする場合、一時的なアクセス資格情報はログ システムによって記録される可能性があります。 AccessKey ペアは漏洩しやすいので、注意して進めてください。

RAM ロールを使用する

この例では、中国 (杭州) リージョンにある example-bucket という名前のバケットと、ramRoleArnExample という名前の RAM ロールを使用します。

  • 構成ファイルでパラメーターを指定する

    以下の設定を含む構成ファイル ~/.myossutilconfig を作成します。

    [Credentials]
    endpoint = oss-cn-hangzhou.aliyuncs.com
    accessKeyID = yourAccessKeyID
    accessKeySecret = yourAccessKeySecret
    mode = RamRoleArn
    ramRoleArn = acs:ram::137918634953****:role/Alice
    roleSessionName = session_name_example (このパラメーターはオプションです。)
    tokenTimeout = 1800 (このパラメーターはオプションです。)

    バケット内のオブジェクトをクエリするには、次のコマンドを実行します。

    ossutil64 -c ~/.myossutilconfig ls oss://example-bucket
  • コマンドライン オプションを指定する

    次のコードは、コマンドライン オプションを指定して一時的なアクセス資格情報をインポートする方法の例を示しています。

    ossutil64 -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret --mode RamRoleArn --ram-role-arn acs:ram::137918634953****:role/Alice ls oss://example-bucket
    説明

    コマンドライン オプションを指定して一時的なアクセス資格情報をインポートする場合、一時的なアクセス資格情報はログ システムによって記録される可能性があります。 AccessKey ペアは漏洩しやすいので、注意して進めてください。

インスタンス RAM ロールを使用する

Elastic Compute Service (ECS) インスタンスで ossutil にアクセスするために使用される資格情報を構成するために、インスタンス RAM ロールを使用することもできます。 ECS インスタンスに RAM ロールをアタッチできます。これにより、STS から取得した一時的なアクセス資格情報を使用して ossutil にアクセスできます。 STS の一時的なアクセス資格情報は自動的に生成および更新されます。アプリケーションは、インスタンス メタデータ URL を使用して STS の一時的なアクセス資格情報を取得できます。 RAM ロールは、AccessKey ペアのセキュリティ保護に役立ち、きめ細かい権限制御と管理を容易にします。

使用する前に、ECS インスタンスでインスタンス RAM ロールを作成します。 詳細については、「インスタンス RAM ロール」をご参照ください。

この例では、中国 (杭州) リージョンにある example-bucket という名前のバケットと、ECS インスタンスにアタッチされた EcsRamRoleOss という名前の RAM ロールを使用します。

  • 構成ファイルでパラメーターを指定する

    以下の設定を含む構成ファイル ~/.myossutilconfig を作成します。

    [Credentials]
    endpoint = oss-cn-hangzhou.aliyuncs.com
    mode = EcsRamRole
    ecsRoleName = EcsRamRoleOss

    バケット内のオブジェクトをクエリするには、次のコマンドを実行します。

    ossutil64 -c ~/.myossutilconfig ls oss://example-bucket
  • コマンドライン オプションを指定する

    次のコードは、コマンドライン オプションを指定して一時的なアクセス資格情報をインポートする方法の例を示しています。

    ossutil64 -e oss-cn-hangzhou.aliyuncs.com --mode EcsRamRole --ecs-role-name EcsRamRoleOss ls oss://example-bucket

バケットのエンドポイントを指定する

ossutil を使用する場合、複数のバケットを管理する必要があります。この場合、バケットごとにエンドポイントを指定する必要があります。バケットごとにエンドポイントを指定するには、次のいずれかの方法を使用できます。

  • 構成ファイルでパラメーターを指定する

    構成ファイルで、次のフォーマットで各バケットのエンドポイントを指定する [Bucket-Endpoint] 構成セクションを追加します。

    [Bucket-Endpoint]
    bucket1 = endpoint1
    bucket2 = endpoint2
    ...

    この例では、中国 (杭州) リージョンの example-bucket-hz という名前のバケット、中国 (北京) リージョンの example-bucket-bj という名前のバケット、および中国 (上海) リージョンの example-bucket-sh という名前のバケットが使用されています。

    次の設定を含む構成ファイル ~/.myossutilconfig を作成します。

    [Credentials]
    endpoint = oss-cn-hangzhou.aliyuncs.com
    accessKeyID = yourAccessKeyID
    accessKeySecret = yourAccessKeyID
    [Bucket-Endpoint]
    example-bucket-hz=oss-cn-hangzhou.aliyuncs.com
    example-bucket-bj=oss-cn-beijing.aliyuncs.com
    example-bucket-sh=oss-cn-shanghai.aliyuncs.com

    次のコマンドを実行して、バケット内のオブジェクトをクエリします。

    ossutil64 -c ~/.myossutilconfig ls oss://example-bucket-hz
    ossutil64 -c ~/.myossutilconfig ls oss://example-bucket-bj
    ossutil64 -c ~/.myossutilconfig ls oss://example-bucket-sh
  • コマンドラインオプションを指定する

    この例では、中国 (杭州) リージョンの example-bucket-hz という名前のバケット、中国 (北京) リージョンの example-bucket-bj という名前のバケット、および中国 (上海) リージョンの example-bucket-sh という名前のバケットが使用されています。

    ~/.myossutilconfig ファイルにアカウント情報を指定します。

    [Credentials]
    endpoint = oss-cn-hangzhou.aliyuncs.com
    accessKeyID = yourAccessKeyID
    accessKeySecret = yourAccessKeySecret

    -e パラメーターを指定してエンドポイントを指定します。

    ossutil64 -c ~/.myossutilconfig ls oss://example-bucket-hz
    ossutil64 -c ~/.myossutilconfig -e oss-cn-beijing.aliyuncs.com ls oss://example-bucket-bj
    ossutil64 -c ~/.myossutilconfig -e oss-cn-shanghai.aliyuncs.com ls oss://example-bucket-sh

カスタムドメイン名を指定する

ossutil では、カスタムドメイン名を使用して OSS リソースにアクセスできます。カスタムドメイン名を使用して OSS リソースにアクセスする前に、構成ファイルでバケットとカスタムドメイン名のマッピングを構成する必要があります。

構成ファイルで、[Bucket-Cname] 構成セクションを追加して、次のフォーマットで各バケットのカスタムドメイン名を指定します。

[Bucket-Cname]
bucket1 = cname1
bucket2 = cname2
...

この例では、中国 (杭州) リージョンの example-bucket という名前のバケットと、カスタムドメイン名 cname.example-***.com を使用しています。

次の設定を含む構成ファイル ~/.myossutilconfig を作成します。

[Credentials]
accessKeyID = yourAccessKeyID
accessKeySecret = yourAccessKeySecret
[Bucket-Cname]
example-bucket=cname.example-***.com

次のコマンドを実行して、バケット内のオブジェクトをクエリします。

ossutil64 -c ~/.myossutilconfig ls oss://example-bucket