このトピックでは、ossutilを設定する方法について説明します。
configコマンドを実行してossutilをすばやく設定します。
ほとんどの場合、configコマンドを実行してossutilをすばやく設定できます。 このコマンドは、対話的な方法で構成ファイルを生成するのに役立ちます。
次の例は、Linuxオペレーティングシステムでossutilを構成する方法を示しています。
次のコマンドを実行してossutilを設定します。
ossutil config
画面の指示に従って、設定ファイルのパスを指定します。
ビジネス要件に基づいて、構成ファイルのパスを指定できます。 デフォルトでは、設定ファイルは ~/.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.
画面の指示に従って、ossutilの表示言語を指定します。
CHまたはENを入力します。 デフォルトでは、オペレーティングシステムで使用される言語でossutilが表示されます。 設定は、configコマンドを実行すると有効になります。
画面の指示に従って、endpoint、accessKeyID、accessKeySecret、stsTokenのパラメーターを指定します。
下表に、各パラメーターを説明します。
パラメーター
説明
エンドポイント
バケットが配置されているリージョンのエンドポイントを指定します。 リージョンとエンドポイントの関係の詳細については、「リージョンとエンドポイント」をご参照ください。
http://
またはhttps://
を追加して、OSS (Object Storage Service) へのアクセスに使用するプロトコルを指定することもできます。 デフォルトのプロトコルはHTTPです。 たとえば、HTTPSを使用して中国 (杭州) リージョンのバケットにアクセスする場合は、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.com
に設定します。accessKeyID
OSSへのアクセスに使用するAlibaba CloudアカウントまたはRAMユーザーのAccessKeyペアを指定します。
Alibaba CloudアカウントまたはRAMユーザーのAccessKeyペアを取得する方法の詳細については、「AccessKeyペアの取得」をご参照ください。
OSSにアクセスするための一時的な資格情報として使用できるSecurity Token Service (STS) が提供するAccessKeyペアを取得する方法の詳細については、「STSが提供する一時的な資格情報を使用してOSSにアクセスする」をご参照ください。
accessKeySecret
stsToken
このパラメーターは、一時的なアクセス資格情報を使用してOSSバケットにアクセスする場合にのみ必要です。 一時的なアクセス資格情報を使用してOSSバケットにアクセスしない場合は、このパラメーターを空のままにすることができます。 セキュリティトークンを生成する方法の詳細については、「許可されたサードパーティのアップロード」をご参照ください。
説明設定ファイルの詳細については、「config」をご参照ください。
手順2で設定ファイルのパスを指定する場合は、このコマンドを実行するたびに -cオプションを追加して設定ファイルを指定します。
たとえば、設定ファイルを /home/configとして保存する場合、lsコマンドを実行するときに次の形式で-cオプションを追加します。
./ossutil64 -c /home/config ls oss://examplebucket
コマンドの実行に必要な設定ファイルのパラメーターを指定します。
簡単に使用できるように、共通の資格情報と構成を構成ファイルに保存できます。 設定ファイルはINI形式で、セクションとキーで構成されています。 設定パラメータは、指定されたセクションに格納されます。 次の表に、共通設定パラメーターを示します。
設定パラメーター | 説明 | サンプルコード |
言語 | ossutilが使用する言語。 有効な値:
|
|
エンドポイント | バケットが配置されているリージョンのエンドポイント。 |
|
accessKeyID | ユーザーを一意に識別するAccessKey ID。 |
|
accessKeySecret | ユーザーのIDを認証するAccessKeyシークレット。 |
|
stsToken | リクエストの認証に使用されるセキュリティトークン。 |
|
モード | 認証に使用されるモード。 有効な値: AK、StsToken、RamRoleArn、およびEcsRamRole。 |
|
ramRoleArn | 認証用のRamRoleArnモードのRAMロールのAlibaba Cloudリソース名 (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へのアクセスに使用するAccesskey ID。 |
|
-k, -- access-key-secret | OSSへのアクセスに使用するAccesskey secret。 |
|
-t, -- sts-token | OSSへのアクセスに使用するセキュリティトークン。 |
|
-- mode | 認証に使用されるモード。 有効な値: AK、StsToken、RamRoleArn、およびEcsRamRole。 デフォルトでは、このパラメータは空のままです。 | 次のコードは、AKモードでOSSにアクセスする方法の例を示しています。
|
-- ram-role-arn | 認証のためのRamRoleArnモードのRAMロールのARN。 |
|
-- role-session-name | 認証モードのセッションの名前。 |
|
-- token-timeout | セキュリティトークンの有効期間。 単位は秒です。 デフォルト値は 3600 です。 |
|
-- ecs-role-name | 認証用のEcsRamRoleモードのロール名。 |
|
オプションの詳細については、「共通オプション」をご参照ください。
アクセス資格情報の設定
設定ファイルまたはコマンドラインオプションでパラメーターを指定することで、アクセス資格情報を設定できます。
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