このトピックでは、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 default path is used. If you want to store the file in another path, set the --config-file option to the path.
画面上の指示に従って、ossutilの表示言語を設定します。
CHまたはENを入力します。 デフォルトでは、ossutilはOSで使用される言語で表示されます。 設定は、configコマンドを実行すると有効になります。
画面上の指示に従って、endpoint、accessKeyID、accessKeySecret、stsTokenのパラメーターを設定します。
次の表に、上記のパラメーターを示します。
パラメーター
説明
エンドポイント
バケットが配置されているリージョンのエンドポイントを指定します。 リージョンとエンドポイントの関係の詳細については、「リージョンとエンドポイント」をご参照ください。
http://
またはhttps://
を追加して、ossutilがObject Storage Service (OSS) へのアクセスに使用するプロトコルを指定することもできます。 デフォルトのプロトコルは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ペアを取得する方法の詳細については、「AssumeRole」をご参照ください。
accessKeySecret
stsToken
このパラメーターは、一時的なアクセス資格情報を使用してOSSバケットにアクセスする場合にのみ必要です。 一時的なアクセス資格情報を使用してOSSバケットにアクセスしない場合は、このパラメーターを空のままにすることができます。 セキュリティトークンを生成する方法の詳細については、「AssumeRole」をご参照ください。
説明設定ファイルの詳細については、「config」をご参照ください。
で設定ファイルのパスを指定した場合ステップ2を追加します。-cオプションを使用して、このコマンドを実行するたびに構成ファイルを指定します。
たとえば、設定ファイルを /home/configとして保存する場合、lsコマンドを実行するときに次の形式で-cオプションを追加します。
ossutil -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を作成します。
[資格情報] endpoint = oss-cn-hangzhou.aliyuncs.com accessKeyID = LTAI4Fw2NbDUCV8zYUzA **** accessKeySecret = 67DLVBkH7EamOjy2W5RVAHUY9H ****
次のコマンドを実行して、バケット内のオブジェクトを照会します。
ossutil64 -c ~/.myossutilconfig ls oss:// example-bucket
コマンドラインオプションの指定
コマンドラインオプションを指定して一時的なアクセス資格情報をインポートする方法の例を次に示します。
ossutil64 -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H **** ls oss:// example-bucket
重要コマンドラインオプションを指定して一時的なアクセス資格情報をインポートすると、一時的なアクセス資格情報がログシステムによって記録される可能性があります。 AccessKeyペアは非常にリークしやすいです。 作業は慎重に行ってください。
STSから取得した一時的なアクセス資格情報を使用してデータにアクセスする
この例では、中国 (杭州) リージョンのexample-bucketという名前のバケットが使用されます。
設定ファイルでパラメーターを指定する
次の設定を含む構成ファイル ~/.myossutilconfigを作成します。
[資格情報] 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を作成します。
[資格情報] endpoint = oss-cn-hangzhou.aliyuncs.com accessKeyID = LTAI4Fw2NbDUCV8zYUzA **** accessKeySecret = 67DLVBkH7EamOjy2W5RVAHUY9H **** モード=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 LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****-モードRamRoleArn -- ram-role-arn acs:ram::137918634953 ****:role/Alice ls oss:// example-bucket
説明コマンドラインオプションを指定して一時的なアクセス資格情報をインポートすると、一時的なアクセス資格情報がログシステムによって記録される可能性があります。 AccessKeyペアは非常にリークしやすいです。 作業は慎重に行ってください。
インスタンスRAMロールの使用
インスタンスRAMロールを使用して、ECS (Elastic Compute Service) インスタンスのossutilへのアクセスに使用される資格情報を設定することもできます。 RAMロールをECSインスタンスにアタッチすると、STSから取得した一時的なアクセス資格情報を使用してossutilにアクセスできます。 STSの一時的なアクセス資格情報は自動的に生成および更新されます。 アプリケーションは、インスタンスメタデータURLを使用してSTSの一時的なアクセス資格情報を取得できます。 RAMロールは、AccessKeyペアのセキュリティを保護し、きめ細かい権限の制御と管理を容易にします。
使用する前にインスタンスRAMロールを作成します。 詳細については、「概要」をご参照ください。
この例では、中国 (杭州) リージョンのexample-bucketという名前のバケットと、ECSインスタンスにアタッチされたEcsRamRoleOssという名前のRAMロールが使用されます。
設定ファイルでパラメーターを指定する
次の設定を含む構成ファイル ~/.myossutilconfigを作成します。
[資格情報] endpoint = oss-cn-hangzhou.aliyuncs.com モード=EcsRamRole ecsRoleName = EcsRamRoleOss
次のコマンドを実行して、バケット内のオブジェクトを照会します。
ossutil64 -c ~/.myossutilconfig ls oss:// example-bucket
コマンドラインオプションの指定
コマンドラインオプションを指定して一時的なアクセス資格情報をインポートする方法の例を次に示します。
ossutil64 -e oss-cn-hangzhou.aliyuncs.com-モードEcsRamRole -- ecs-role-name EcsRamRoleOss ls oss:// example-bucket
バケットのエンドポイントの指定
ossutilを使用する場合、複数のバケットを管理する必要があります。 この場合、各バケットのエンドポイントを指定する必要があります。 各バケットのエンドポイントを指定するには、次のいずれかの方法を使用します。
設定ファイルでパラメーターを指定する
設定ファイルに [Bucket-Endpoint] 設定セクションを追加して、次の形式で各バケットのエンドポイントを指定します。
[バケット-エンドポイント] bucket1 = endpoint1 bucket2 = endpoint2 ...
この例では、次のバケットが使用されます。中国 (杭州) リージョンのexample-bucket-hzという名前のバケット、中国 (北京) リージョンのexample-bucket-bjという名前のバケット、中国 (上海) リージョンのexample-bucket-shという名前のバケットです。
次の設定を含む構成ファイル ~/.myossutilconfigを作成します。
[資格情報] endpoint = oss-cn-hangzhou.aliyuncs.com accessKeyID = LTAI4Fw2NbDUCV8zYUzA **** accessKeySecret = LTAI4Fw2NbDUCV8zYUzA **** [バケット-エンドポイント] example-bucket-h z=oss-cn-hangzhou.aliyuncs.com example-bucket-b j=oss-cn-beijing.aliyuncs.com example-bucket-s h=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ファイルでアカウント情報を指定します。
[資格情報] 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]
設定セクションを追加して、次の形式で各バケットのカスタムドメイン名を指定します。
[バケット-Cname]
bucket1 = cname1
bucket2 = cname2
...
この例では、中国 (杭州) リージョンのexample-bucketという名前のバケットと、カスタムドメイン名cname.example-***.comが使用されています。
次の設定を含む構成ファイル ~/.myossutilconfigを作成します。
[資格情報]
accessKeyID = LTAI4Fw2NbDUCV8zYUzA ****
accessKeySecret = 67DLVBkH7EamOjy2W5RVAHUY9H ****
[バケット-Cname]
example-bucket=cname.example-***.com
次のコマンドを実行して、バケット内のオブジェクトを照会します。
ossutil64 -c ~/.myossutilconfig ls oss:// example-bucket