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

Object Storage Service:ossutil の設定

最終更新日:Aug 07, 2024

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

configコマンドを実行してossutilをすばやく設定します。

ほとんどの場合、configコマンドを実行してossutilをすばやく設定できます。 このコマンドは、対話的な方法で構成ファイルを生成するのに役立ちます。

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

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

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

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

    Specify the name of the configuration file. The name of the configuration file can contain the file path. The default name of the configuration file is /home/user/.ossutilconfig. If you press the Enter key without specifying a path, the file is generated in the default path.  If you want to store the file in another path, set the --config-file option to the path.
  3. 画面の指示に従って、ossutilの表示言語を指定します。

    CHまたはENを入力します。 デフォルトでは、オペレーティングシステムで使用される言語でossutilが表示されます。 設定は、configコマンドを実行すると有効になります。

  4. 画面の指示に従って、endpoint、accessKeyID、accessKeySecret、stsTokenのパラメーターを指定します。

    下表に、各パラメーターを説明します。

    パラメーター

    説明

    エンドポイント

    バケットが配置されているリージョンのエンドポイントを指定します。 リージョンとエンドポイントの関係の詳細については、「リージョンとエンドポイント」をご参照ください。

    http:// またはhttps:// を追加して、OSS (Object Storage Service) へのアクセスに使用するプロトコルを指定することもできます。 デフォルトのプロトコルはHTTPです。 たとえば、HTTPSを使用して中国 (杭州) リージョンのバケットにアクセスする場合は、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。

    accessKeyID

    OSSへのアクセスに使用するAlibaba CloudアカウントまたはRAMユーザーのAccessKeyペアを指定します。

    accessKeySecret

    stsToken

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

    説明

    設定ファイルの詳細については、「config」をご参照ください。

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

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

    ./ossutil64 -c /home/config ls oss://examplebucket

コマンドの実行に必要な設定ファイルのパラメーターを指定します。

簡単に使用できるように、共通の資格情報と構成を構成ファイルに保存できます。 設定ファイルはINI形式で、セクションとキーで構成されています。 設定パラメータは、指定されたセクションに格納されます。 次の表に、共通設定パラメーターを示します。

設定パラメーター

説明

サンプルコード

言語

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 = your_accesskey_secret

stsToken

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

[Credentials]
stsToken = your_sts_token

モード

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

[Credentials]
mode = RamRoleArn

ramRoleArn

認証用のRamRoleArnモードのRAMロールのAlibaba Cloudリソース名 (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 --connect-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 secret。

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 = LTAI4Fw2NbDUCV8zYUzA****
    accessKeySecret = 67DLVBkH7EamOjy2W5RVAHUY9H****

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

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

    次のコードは、AccessKeyペアをインポートするためのコマンドラインオプションの指定方法の例を示しています。

    ossutil64 -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H**** ls oss://example-bucket
    重要

    コマンドラインオプションを指定してAccessKeyペアをインポートすると、AccessKeyペアがログシステムによって記録される可能性があります。 AccessKeyペアは非常にリークしやすいです。 注意して進めてください。

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

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

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

    次の設定ファイルが生成され、~/.myossutilconfigとして保存されます。

    [Credentials]
    endpoint = oss-cn-hangzhou.aliyuncs.com
    accessKeyID = STS.LTAI4Fw2NbDUCV8zYUzA****
    accessKeySecret = 67DLVBkH7EamOjy2W5RVAHUY9H****
    stsToken = yourSecurityToken

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

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

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

    ossutil64 -e oss-cn-hangzhou.aliyuncs.com -i STS.LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H**** -t yourSecurityToken ls oss://example-bucket
    説明

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

RAM ロールの使用

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

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

    次の設定ファイルが生成され、~/.myossutilconfigとして保存されます。

    [Credentials]
    endpoint = oss-cn-hangzhou.aliyuncs.com
    accessKeyID = LTAI4Fw2NbDUCV8zYUzA****
    accessKeySecret = 67DLVBkH7EamOjy2W5RVAHUY9H****
    mode = RamRoleArn
    ramRoleArn = acs:ram::137918634953****:role/Alice
    roleSessionName = session_name_example (This parameter is optional.)
    tokenTimeout = 1800 (This parameter is optional.)

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

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

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

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

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

インスタンスRAMロールの使用

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

使用する前に、ECSインスタンスにインスタンス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 = LTAI4Fw2NbDUCV8zYUzA****
    accessKeySecret = LTAI4Fw2NbDUCV8zYUzA****
    [Bucket-Endpoint]
    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 = LTAI4Fw2NbDUCV8zYUzA****
    accessKeySecret = 67DLVBkH7EamOjy2W5RVAHUY9H****

    -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 = LTAI4Fw2NbDUCV8zYUzA****
accessKeySecret = 67DLVBkH7EamOjy2W5RVAHUY9H****
[Bucket-Cname]
example-bucket=cname.example-***.com

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

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