このトピックでは、ossutil を構成する方法について説明します。
バージョンのアップグレード
アップグレードされた ossutil 2.0 の使用を推奨します。迅速なインストールと使用方法の詳細については、「ossutil のインストール」をご参照ください。
ossutil 2.0 の主な特徴は次のとおりです:
新しいコマンド構造:ossutil 2.0 は、
ossutil api put-bucket-aclなどの API レベルのコマンドや、ossutil configなどの高レベルのコマンドを含む、マルチレベルのコマンドをサポートします。改善された構成管理:初期設定プロセスが簡素化されました。インストール後に AccessKey ID、AccessKey Secret、リージョン ID を指定するだけで、基本的な設定が完了します。また、
--profileパラメーターを使用して複数の設定ファイルを指定することで、柔軟性が向上します。豊富なフィルターパラメーター:ossutil 2.0 は、
ls、cp、rmなどのバッチ処理コマンドに対して、複数のフィルター条件をサポートします。パス、ファイルサイズ、更新時刻、またはオブジェクトのメタデータでフィルタリングできます。この機能により、操作の精度と効率が大幅に向上します。柔軟な出力フォーマット調整:新しい
--output-formatパラメーターを使用すると、出力フォーマットを JSON、YAML、または XML に設定でき、さまざまなデータ処理ニーズにより適応できます。新しい--output-queryオプションを使用すると、出力をフィルタリングして必要な情報を取得できます。強化されたセキュリティ:セキュリティを向上させるため、ossutil 2.0 では環境変数を使用して機密性の高いパラメーターを設定できます。この方法により、コマンドラインでキーが公開されるのを防ぎ、情報漏洩のリスクを低減します。さらに、新しい
--dry-runオプションを使用すると、コマンドを実行する前にコマンドの動作を検証し、操作が正しいことを確認できます。
config コマンドによるクイック設定
ほとんどの場合、このコマンドを使用して ossutil を迅速に設定できます。このコマンドは、対話形式で設定ファイルを生成する方法を提供します。
以下の手順では、Linux 環境を例として使用します。
設定コマンドを入力します。
ossutil configプロンプトに従って設定ファイルのパスを設定します。
プロンプトに従って設定ファイルのパスを設定できます。デフォルトでは、設定ファイルは ~/.ossutilconfig に保存されます。Enter キーを押すと、デフォルトの設定が使用されます。
Enter the configuration file name. The file name can include a path (Default: /home/user/.ossutilconfig. Press Enter to use the default path. If you set a different path, you must set the --config-file option to that path when you use commands.):プロンプトに従ってツールの言語を設定します。
中国語の場合は CH、英語の場合は EN を入力します。デフォルトでは、ツールの言語はご利用のオペレーティングシステムの言語と同じです。この設定項目は、config コマンドが正常に実行された後に有効になります。
プロンプトに従って、Endpoint、AccessKey ID、AccessKey Secret、STSToken パラメーターを設定します。 Security Token Service (STS) からの一時的なアクセス認証情報を使用して OSS にアクセスする場合は、STSToken パラメーターを設定する必要があります。それ以外の場合は、空のままにすることができます。
次の表に、各パラメーターを示します。
パラメーター
必須
説明
エンドポイント
はい
バケットが配置されているリージョンのエンドポイントを入力します。たとえば、この例ではシンガポールリージョンのパブリックエンドポイントを使用します。これを
https://oss-ap-southeast-1.aliyuncs.comに設定します。同じリージョン内の他の Alibaba Cloud サービスから OSS にアクセスする場合は、内部エンドポイントを使用します。これを
https://oss-ap-southeast-1-internal.aliyuncs.comに設定します。リージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。
重要コンプライアンスとセキュリティ向上のためのポリシー変更により、2025 年 3 月 20 日より、新しい OSS ユーザーは、中国本土リージョンにある OSS バケットでデータ API 操作を実行するために、カスタムドメイン名を使用する (CNAME) ことが必須となります。これらの操作では、デフォルトのパブリックエンドポイントの使用が制限されます。影響を受ける操作の完全なリストについては、公式発表をご参照ください。HTTPS 経由でデータにアクセスする場合、カスタムドメインに有効な SSL 証明書をバインドする必要があります。コンソールでは HTTPS が強制されるため、これはOSS コンソールへのアクセスには必須です。
accessKeyID
はい
アカウントの AccessKey ペアを入力します。AccessKey ペアを取得するには、「AccessKey ペアの作成」をご参照ください。
accessKeySecret
はい
stsToken
いいえ
このパラメーターは、STS からの一時的なアクセス認証情報を使用して OSS にアクセスする場合にのみ必須です。それ以外の場合は、空のままにしてこのステップをスキップします。stsToken の生成方法については、「AssumeRole - RAM ロールの一時的な ID 認証情報を取得する」をご参照ください。
ステップ 2 で設定ファイルにカスタムパスを指定した場合、コマンドを実行するたびに -c オプションを追加して設定ファイルを指定する必要があります。
たとえば、設定ファイルが /home/config として保存されている場合、ls コマンドを実行するときは次のコマンド形式を使用します:
ossutil -c /home/config ls oss://examplebucket
コマンド設定ファイル
利便性のために、頻繁に使用する認証情報や設定情報を設定ファイルに保存できます。設定ファイルは INI 形式を使用し、セクションとキーで構成されます。設定パラメーターは指定されたセクションに保存されます。次の表に、一般的な設定パラメーターを示します:
設定パラメーター | 説明 | サンプルコード |
language | ossutil ツールの言語を設定します。有効な値:
| |
エンドポイント | バケットが配置されているリージョンのドメイン名情報を設定します。 |
|
accessKeyID | ユーザーを識別し、コマンドリクエストを認証するために使用される AccessKey ペアの一部。 | |
accessKeySecret | コマンドリクエストに対してユーザーのキーを認証するために使用される AccessKey ペアの一部。 | |
stsToken | コマンドリクエストを認証するために使用される一時キーのトークン。 | |
mode | 使用する認証モード。有効な値は AK、StsToken、RamRoleArn、または EcsRamRole です。 | |
ramRoleArn | 認証モードの RAM ロールの ARN。 | |
roleSessionName | RamRoleArn 認証モードのセッション名。設定されていない場合、ランダムな値が生成されます。 | |
tokenTimeout | トークンの有効期間 (秒単位)。これは RamRoleArn モードで使用されます。デフォルト値は 3600 です。 | |
ecsRoleName | EcsRamRole 認証モードのロール名。 | |
コマンド設定パラメーターの詳細については、「設定ファイルの編集」をご参照ください。
コマンドラインオプション
設定ファイルの使用に加えて、コマンドラインオプションを使用して設定を指定することもできます。コマンドラインオプションは、設定ファイル内の設定よりも優先されます。次の表に、一般的なコマンドラインオプションを示します:
オプション | 説明 | サンプルコード |
--loglevel | ログレベル。デフォルト値は空で、ログファイルが出力されないことを意味します。有効な値:
| |
--connect-timeout | クライアントの接続タイムアウト期間 (秒単位)。デフォルト値は 120 です。 | |
--read-timeout | クライアントの読み取りタイムアウト期間 (秒単位)。デフォルト値は 1200 です。 | |
--retry-times | エラー発生時のリトライ回数。デフォルト値は 10 です。 | |
-e, --endpoint | リクエストされたドメイン名。 |
|
-i, --access-key-id | OSS へのアクセスに使用されるアクセス認証情報。 | |
-k, --access-key-secret | OSS へのアクセスに使用されるアクセス認証情報。 | |
-t, --sts-token | OSS へのアクセスに使用される STSToken。 | |
--mode | 認証モード。有効な値は AK、StsToken、RamRoleArn、または EcsRamRole です。デフォルト値は空です。 | 以下は、AK モードで OSS にアクセスする方法のサンプルコマンドです: |
--ram-role-arn | 認証モードの RAM ロールの ARN。 | |
--role-session-name | 認証モードのセッション名。 | |
--token-timeout | トークンの有効期間 (秒単位)。デフォルト値は 3600 です。 | |
--ecs-role-name | EcsRamRole 認証モードのロール名。 | |
オプション設定の詳細については、「共通オプション」をご参照ください。
アクセス資格情報を構成する
設定ファイルやコマンドラインオプションなど、複数の方法でアクセス認証情報を設定できます。
AccessKey ペアによるアクセス
このセクションでは、シンガポールリージョンの example-bucket という名前のバケットを例として使用します。
設定ファイルによる方法
次の設定ファイルを作成し、~/.myossutilconfig として保存します。
[Credentials] endpoint = oss-ap-southeast-1.aliyuncs.com accessKeyID = yourAccessKeyID accessKeySecret = yourAccessKeySecret次のコマンドを実行して、バケット内のオブジェクトをクエリします。
ossutil64 -c ~/.myossutilconfig ls oss://example-bucketコマンドラインオプションによる方法
AccessKey ペアをコマンドラインパラメーターとして渡すこともできます。次のサンプルコマンドは、その方法を示しています:
ossutil64 -e oss-ap-southeast-1.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret ls oss://example-bucket重要AccessKey ペアをコマンドラインパラメーターとして渡すと、AccessKey ペアがログシステムに記録される可能性があります。これにより、キー漏洩のセキュリティリスクが生じます。この方法は注意して使用してください。
一時的なトークンによるアクセス
このセクションでは、シンガポールリージョンの example-bucket という名前のバケットを例として使用します。
設定ファイルによる方法
次の設定ファイルを作成し、~/.myossutilconfig として保存します。
[Credentials] endpoint = oss-ap-southeast-1.aliyuncs.com accessKeyID = yourAccessKeyID accessKeySecret = yourAccessKeySecret stsToken = yourSecurityToken次のコマンドを実行して、バケット内のオブジェクトをクエリします。
ossutil64 -c ~/.myossutilconfig ls oss://example-bucketコマンドラインオプションによる方法
アクセス認証情報をコマンドラインパラメーターとして渡すこともできます。次のサンプルコマンドは、その方法を示しています:
ossutil64 -e oss-ap-southeast-1.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret -t yourSecurityToken ls oss://example-bucket説明AccessKey ペアをコマンドラインパラメーターとして渡すと、AccessKey ペアがログシステムに記録される可能性があります。これにより、キー漏洩のセキュリティリスクが生じます。この方法は注意して使用してください。
RAM ロールによるアクセス
このセクションでは、シンガポールリージョンの example-bucket という名前のバケットと、引き受ける RAM ロールとして ramRoleArnExample を例として使用します。
設定ファイルによる方法
次の設定ファイルを作成し、~/.myossutilconfig として保存します。
[Credentials] endpoint = oss-ap-southeast-1.aliyuncs.com accessKeyID = yourAccessKeyID accessKeySecret = yourAccessKeySecret mode = RamRoleArn ramRoleArn = acs:ram::137918634953****:role/Alice roleSessionName = session_name_example (Optional) tokenTimeout = 1800 (Optional)次のコマンドを実行して、バケット内のオブジェクトをクエリします。
ossutil64 -c ~/.myossutilconfig ls oss://example-bucketコマンドラインオプションによる方法
アクセス認証情報をコマンドラインパラメーターとして渡すこともできます。次のサンプルコマンドは、その方法を示しています:
ossutil64 -e oss-ap-southeast-1.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret --mode RamRoleArn --ram-role-arn acs:ram::137918634953****:role/Alice ls oss://example-bucket説明AccessKey ペアをコマンドラインパラメーターとして渡すと、AccessKey ペアがログシステムに記録される可能性があります。これにより、キー漏洩のセキュリティリスクが生じます。この方法は注意して使用してください。
インスタンス RAM ロールによるアクセス
Elastic Compute Service (ECS) インスタンスでは、インスタンス RAM ロールを使用して ossutil のアクセス認証情報を設定できます。インスタンス RAM ロールを使用すると、RAM ロールを ECS インスタンスに関連付け、STS からの一時的な認証情報を使用してインスタンス上で ossutil を実行できます。システムは自動的に一時的な認証情報を生成および更新します。アプリケーションは、特別な管理を必要とせずに、特定のインスタンスメタデータ URL から一時的な認証情報を取得できます。RAM ロールを使用すると、AccessKey ペアのセキュリティが確保され、詳細な権限コントロールと管理が可能になります。
開始する前に、ECS インスタンスでインスタンス RAM ロールを作成する必要があります。詳細については、「インスタンス RAM ロールの作成」をご参照ください。
このセクションでは、シンガポールリージョンの example-bucket という名前のバケットと、ECS インスタンス上に作成された EcsRamRoleOss という名前の RAM ロールを例として使用します。
設定ファイルによる方法
次の設定ファイルを作成し、~/.myossutilconfig として保存します。
[Credentials] endpoint = oss-ap-southeast-1.aliyuncs.com mode = EcsRamRole ecsRoleName = EcsRamRoleOss次のコマンドを実行して、バケット内のオブジェクトをクエリします。
ossutil64 -c ~/.myossutilconfig ls oss://example-bucketコマンドラインオプションによる方法
アクセス認証情報をコマンドラインパラメーターとして渡すこともできます。以下はサンプルコマンドです:
ossutil64 -e oss-ap-southeast-1.aliyuncs.com --mode EcsRamRole --ecs-role-name EcsRamRoleOss ls oss://example-bucket
バケットごとの個別エンドポイント設定
ossutil を使用する際、複数のバケットを管理する必要がある場合があります。この場合、各バケットに個別のエンドポイントを設定する必要があります。設定には、次の 2 つの方法のいずれかを使用できます:
設定ファイルによる方法
設定ファイルに [Bucket-Endpoint] セクションを追加して、指定した各バケットに個別のエンドポイントを設定できます。形式は次のとおりです:
[Bucket-Endpoint] bucket1 = endpoint1 bucket2 = endpoint2 ...次の例は、シンガポールリージョンのバケット (example-bucket-sg) と日本 (東京) リージョンのバケット (example-bucket-jp) のエンドポイントを設定する方法を示しています。
次の設定ファイルを作成し、~/.myossutilconfig として保存します。
[Credentials] endpoint = oss-ap-southeast-1.aliyuncs.com accessKeyID = yourAccessKeyID accessKeySecret = yourAccessKeySecret [Bucket-Endpoint] example-bucket-sg=oss-ap-southeast-1.aliyuncs.com example-bucket-jp=oss-ap-northeast-1.aliyuncs.com次のコマンドを実行して、バケット内のオブジェクトをクエリします。
ossutil64 -c ~/.myossutilconfig ls oss://example-bucket-sg ossutil64 -c ~/.myossutilconfig ls oss://example-bucket-jpコマンドラインオプションによる方法
次の例は、シンガポールリージョンのバケット (example-bucket-sg) と日本 (東京) リージョンのバケット (example-bucket-jp) のエンドポイントを設定する方法を示しています。
~/.myossutilconfig でアカウント情報を設定します。
[Credentials] endpoint = oss-ap-southeast-1.aliyuncs.com accessKeyID = yourAccessKeyID accessKeySecret = yourAccessKeySecret-e パラメーターを使用してエンドポイントを指定します。
ossutil64 -c ~/.myossutilconfig ls oss://example-bucket-sg ossutil64 -c ~/.myossutilconfig -e oss-ap-northeast-1.aliyuncs.com ls oss://example-bucket-jp
カスタムドメイン名の設定
ossutil では、カスタムドメイン名を使用して 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
