このトピックでは、ossutil を構成する方法について説明します。
前提条件
ossutil がインストールされていること。
基本構成(必須)
ossutil を使用するときに、パラメーターが指定されていないために操作が失敗することを防ぐために、次の手順を実行して AccessKey ID、AccessKey Secret、およびリージョン ID を構成することをお勧めします。
Linux
次のコマンドを実行して、構成プロセスを開始します。
ossutil config
構成ファイルのパスを構成します。 Enter キーを押して、構成ファイルのデフォルトパスを使用できます。
Please enter the config file name,the file name can include path(default /root/.ossutilconfig, carriage return will use the default file. If you specified this option to other file, you should specify --config-file option to the file when you use other commands):
デフォルトでは、ossutil は /root/.ossutilconfig を構成ファイルとして使用します。
画面の指示に従って、AccessKey ID、AccessKey Secret、およびリージョン ID を指定します。
作成した AccessKey ID を入力します。
Please enter Access Key ID [****************id]:LTAI****************
作成した AccessKey Secret を入力します。
Please enter Access Key Secret [****************sk]:yourAccessKeySecret
データが OSS に保存されているリージョンの ID を入力します。 デフォルトのリージョン ID は cn-hangzhou です。
Please enter Region [cn-hangzhou]:cn-hangzhou
リージョンのエンドポイントを指定します。 この手順は Enter キーを押してスキップできます。
前の手順でリージョン ID を指定すると、デフォルトでそのリージョンのパブリックエンドポイントが使用されます。 たとえば、
region-id
をcn-hangzhou
に設定すると、パブリックエンドポイントhttps://oss-cn-hangzhou.aliyuncs.com
がデフォルトで使用されます。別のエンドポイントを使用する場合は、エンドポイントを入力します。 OSS と同じリージョン内の他の Alibaba Cloud サービスから OSS にアクセスする場合は、リージョンの内部エンドポイント(この例では
https://oss-cn-hangzhou-internal.aliyuncs.com
)を使用します。Please enter Endpoint (optional, use public endpoint by default) [None]: https://oss-cn-hangzhou-internal.aliyuncs.com
次の表に、パラメーターを示します。
パラメーター
必須
説明
accessKeyID
はい
RAM ユーザーの AccessKey ペア(AccessKey ID と Secret)を指定します。 AccessKey ペアの取得方法については、「RAM ユーザーの AccessKey ペアを作成する」をご参照ください。
accessKeySecret
はい
リージョン
はい
OSS バケットが配置されているリージョンの ID を指定します。 この例では、中国 (杭州) リージョンの ID が使用されています。 他のリージョンの ID については、「リージョンとエンドポイント」をご参照ください。
エンドポイント
いいえ
バケットが配置されているリージョンのエンドポイントを指定します。 エンドポイントを手動で設定しない場合、指定された リージョン に基づいてパブリックエンドポイントが自動的に生成されますが、内部エンドポイントは明示的に指定する必要があります。
この例では、中国 (杭州) リージョンのパブリックエンドポイント(
https://oss-cn-hangzhou.aliyuncs.com
)が使用されています。OSS と同じリージョン内の他の Alibaba Cloud サービスから OSS にアクセスする場合は、リージョンの内部エンドポイント(この例では
https://oss-cn-hangzhou-internal.aliyuncs.com
)を使用します。リージョンとエンドポイントのリストについては、「リージョンとエンドポイント」をご参照ください。
Windows
次のコマンドを実行して、構成プロセスを開始します。
ossutil config
構成ファイルのパスを構成します。 Enter キーを押して、構成ファイルのデフォルトパスを使用できます。
Please enter the config file name,the file name can include path(default "C:\Users\issuser\.ossutilconfig", carriage return will use the default file. If you specified this option to other file, you should specify --config-file option to the file when you use other commands):
デフォルトでは、ossutil は C:\Users\issuser\.ossutilconfig を構成ファイルとして使用します。
画面の指示に従って、AccessKey ID、AccessKey Secret、およびリージョン ID を指定します。
作成した AccessKey ID を入力します。
Please enter Access Key ID [****************id]:LTAI****************
作成した AccessKey Secret を入力します。
Please enter Access Key Secret [****************sk]:yourAccessKeySecret
データが OSS に保存されているリージョンの ID を入力します。 デフォルトのリージョン ID は cn-hangzhou です。
Please enter Region [cn-hangzhou]:cn-hangzhou
リージョンのエンドポイントを指定します。 この手順は Enter キーを押してスキップできます。
前の手順でリージョン ID を指定すると、デフォルトでそのリージョンのパブリックエンドポイントが使用されます。 たとえば、
region-id
をcn-hangzhou
に設定すると、パブリックエンドポイントhttps://oss-cn-hangzhou.aliyuncs.com
がデフォルトで使用されます。別のエンドポイントを使用する場合は、エンドポイントを入力します。 OSS と同じリージョン内の他の Alibaba Cloud サービスから OSS にアクセスする場合は、リージョンの内部エンドポイント(この例では
https://oss-cn-hangzhou-internal.aliyuncs.com
)を使用します。Please enter Endpoint (optional, use public endpoint by default) [None]: https://oss-cn-hangzhou-internal.aliyuncs.com
次の表に、パラメーターを示します。
パラメーター
必須
説明
accessKeyID
はい
RAM ユーザーの AccessKey ペア(AccessKey ID と Secret)を指定します。 AccessKey ペアの取得方法については、「RAM ユーザーの AccessKey ペアを作成する」をご参照ください。
accessKeySecret
はい
リージョン
はい
OSS バケットが配置されているリージョンの ID を指定します。 この例では、中国 (杭州) リージョンの ID が使用されています。 他のリージョンの ID については、「リージョンとエンドポイント」をご参照ください。
エンドポイント
いいえ
バケットが配置されているリージョンのエンドポイントを指定します。 エンドポイントを手動で設定しない場合、指定された リージョン に基づいてパブリックエンドポイントが自動的に生成されますが、内部エンドポイントは明示的に指定する必要があります。
この例では、中国 (杭州) リージョンのパブリックエンドポイント(
https://oss-cn-hangzhou.aliyuncs.com
)が使用されています。OSS と同じリージョン内の他の Alibaba Cloud サービスから OSS にアクセスする場合は、リージョンの内部エンドポイント(この例では
https://oss-cn-hangzhou-internal.aliyuncs.com
)を使用します。リージョンとエンドポイントのリストについては、「リージョンとエンドポイント」をご参照ください。
macOS
次のコマンドを実行して、パラメーターを指定します。
ossutil config
構成ファイルのパスを構成します。 Enter キーを押して、構成ファイルのデフォルトパスを使用できます。
Please enter the config file name,the file name can include path(default "/Users/user/.ossutilconfig", carriage return will use the default file. If you specified this option to other file, you should specify --config-file option to the file when you use other commands):
デフォルトでは、ossutil は /Users/user/.ossutilconfig を構成ファイルとして使用します。
画面の指示に従って、AccessKey ID、AccessKey Secret、およびリージョン ID を指定します。
作成した AccessKey ID を入力します。
Please enter Access Key ID [****************id]:LTAI****************
作成した AccessKey Secret を入力します。
Please enter Access Key Secret [****************sk]:yourAccessKeySecret
データが OSS に保存されているリージョンの ID を入力します。 デフォルトのリージョン ID は cn-hangzhou です。
Please enter Region [cn-hangzhou]:cn-hangzhou
リージョンのエンドポイントを指定します。 この手順は Enter キーを押してスキップできます。
前の手順でリージョン ID を指定すると、デフォルトでそのリージョンのパブリックエンドポイントが使用されます。 たとえば、
region-id
をcn-hangzhou
に設定すると、パブリックエンドポイントhttps://oss-cn-hangzhou.aliyuncs.com
がデフォルトで使用されます。別のエンドポイントを使用する場合は、エンドポイントを入力します。 OSS と同じリージョン内の他の Alibaba Cloud サービスから OSS にアクセスする場合は、リージョンの内部エンドポイント(この例では
https://oss-cn-hangzhou-internal.aliyuncs.com
)を使用します。Please enter Endpoint (optional, use public endpoint by default) [None]: https://oss-cn-hangzhou-internal.aliyuncs.com
次の表に、パラメーターを示します。
パラメーター
必須
説明
accessKeyID
はい
RAM ユーザーの AccessKey ペア(AccessKey ID と Secret)を指定します。 AccessKey ペアの取得方法については、「RAM ユーザーの AccessKey ペアを作成する」をご参照ください。
accessKeySecret
はい
リージョン
はい
OSS バケットが配置されているリージョンの ID を指定します。 この例では、中国 (杭州) リージョンの ID が使用されています。 他のリージョンの ID については、「リージョンとエンドポイント」をご参照ください。
エンドポイント
いいえ
バケットが配置されているリージョンのエンドポイントを指定します。 エンドポイントを手動で設定しない場合、指定された リージョン に基づいてパブリックエンドポイントが自動的に生成されますが、内部エンドポイントは明示的に指定する必要があります。
この例では、中国 (杭州) リージョンのパブリックエンドポイント(
https://oss-cn-hangzhou.aliyuncs.com
)が使用されています。OSS と同じリージョン内の他の Alibaba Cloud サービスから OSS にアクセスする場合は、リージョンの内部エンドポイント(この例では
https://oss-cn-hangzhou-internal.aliyuncs.com
)を使用します。リージョンとエンドポイントのリストについては、「リージョンとエンドポイント」をご参照ください。
構成方法
ossutil は、構成ファイル、環境変数、コマンドラインオプションなど、複数の方法で構成できます。
構成ファイル: 構成ファイルは INI ファイル形式で、パラメーターを指定できます。
コマンドラインオプション: ossutil は、ossutil を構成するための複数のコマンドラインオプションを提供します。 コマンドラインオプションは最優先され、構成ファイルと環境変数の設定を上書きします。
重要コマンドラインオプションを指定して一時的なアクセス認証情報をインポートすると、一時的なアクセス認証情報がログシステムによって記録される場合があります。 AccessKey ペアは漏洩しやすいです。 慎重に行ってください。
環境変数: ossutil は、構成ファイルよりも優先される複数の環境変数をサポートしています。 これらの変数を使用して ossutil を構成できます。
構成ファイル
ossutil
は、構成ファイルを使用して構成できます。構成ファイルのデフォルトパスは ~/.myossutilconfig
です。-c
オプションを使用して、カスタム構成ファイルを指定できます。デフォルトの構成ファイルを使用する場合、コマンドの実行時に構成ファイルを指定する必要はありません。例:
ossutil ls oss://examplebucket
/path/yourconfig
などのカスタム構成ファイルを使用するには、-c
オプションを使用してコマンドラインで構成ファイルを指定します。 例:
ossutil -c /path/yourconfig ls oss://examplebucket
構成ファイル形式
構成ファイルは INI 形式です。 INI 構成ファイルはセクションで構成されています。 構成ファイルの設定はセクションに分類されます。 --profile オプションを使用して、ossutil が使用する特定のセクションを指定できます。 デフォルトでは、ossutil は構成ファイルの [default] セクションの設定を使用します。 他の設定を作成して参照できます。
セクション
構成ファイルの各セクションは、角括弧([]
)で囲まれた名前で識別され、セクションの設定は key=value
形式です。 例:
[default]
accessKeyID = "your-access-key-id"
accessKeySecret = "your-access-key-secret"
セクションの設定は
key=value
形式です。セクション名とキー名は大文字と小文字を区別しません。
キーは小文字と小キャメルケースを使用できます。 キーの文字は、ハイフン (-) またはアンダースコア (_) で区切ることができます。 たとえば、accesskeyid、accessKeyId、access-key-id、または access_key_id をキー名として使用して、構成ファイルに AccessKey ID を設定できます。
コメントはシャープ記号 (#) で始まります。
サポートされているセクションタイプ
セクション | 説明 | 追加情報 |
[default] | デフォルト設定が含まれています。 コマンドで --profile オプションを指定しない場合、ossutil はデフォルトセクションの設定を使用します。 | [default] セクションの完全な形式は [profile default] です。 |
[profile name] | カスタム設定が含まれています。 コマンドで --profile オプションを指定することで、セクションの設定を使用できます。 | source_profile を使用して、特定のプロファイルセクションの構成設定を参照できます。 |
[buckets name] | リージョン、エンドポイント、アドレッシングスタイルなど、バケット固有の設定が含まれています。 | このセクションタイプは、key-value ペアのインライン配置をサポートしています。 |
config コマンドを使用して、構成ファイルの設定をクエリおよび構成できます。 詳細については、「config」をご参照ください。
セクションタイプ: profile
プロファイルセクションを使用して、アクセス認証情報関連の設定とグローバル設定を構成できます。 プロファイルセクションには、次の情報を含めることができます。
アクセス認証情報関連の設定
キー
エイリアス
説明
mode
/
認証モード。
有効な値: AK、StsToken、RamRoleArn、EcsRamRole、Anonymous。
access-key-id
accessKeyId
access_key_id
AccessKey ID。
access-key-secret
accessKeySecret
access_key_secret
AccessKey Secret。
sts-token
stsToken
sts_token
Security Token Service (STS) によって発行されたトークン。
role-arn
roleArn
role_arn
RAM ロールの Alibaba Cloud Resource Name (ARN)。 このパラメーターは、RamRoleArn 認証モードで使用されます。
role-session-name
roleSessionName
role_session_name
セッション名。 このパラメーターは、RamRoleArn 認証モードで使用されます。
ecs-role-name
ecsRoleName
ecs_role_name
ロール名。 このパラメーターは、EcsRamRole 認証モードで使用されます。
credential-process
credentialProcess
credential_process
外部コマンドを指定します。
credential-uri
credentialUri
credential_uri
ossutil がアクセス認証情報を取得する URI。
oidc-provider-arn
oidcProviderArn
oidc_provider_arn
OpenID Connect (OIDC) ID プロバイダー (IdP) の ARN。 ARN は
acs:ram::account-id:oidc-provider/provider-name
形式です。oidc-token-file-path
oidcTokenFilePath
oidc_token_file_path
OIDC トークンへのパス。
credential-process-timeout
credentialProcessTimeout
credential_process_timeout
外部認証情報を使用して開始されたリクエストのタイムアウト期間を指定します。 単位: 秒。 デフォルト値は 15 です。 最大値は 600 です。 たとえば、
credential-process-timeout = 60
を指定すると、外部認証情報を使用して開始されたリクエストのタイムアウト期間は 60 秒になります。グローバル設定
キー
エイリアス
説明
region
/
リージョンの ID。 このパラメーターは必須です。
loglevel
/
ログの重大度レベル。 有効な値:
off (デフォルト)
info
debug
read-timeout
readTimeout
read_timeout
クライアントの読み取りおよび書き込みリクエストのタイムアウト期間(秒単位)。 デフォルト値: 20。
connect-timeout
connectTimeout
connect_timeout
クライアント接続のタイムアウト期間(秒単位)。 デフォルト値: 10。
retry-times
retryTimes
retry_times
エラーが発生した場合の再試行回数。 デフォルト値: 10。
skip-verify-cert
skipVerifyCert
skip_verify_cert
サーバーのデジタル証明書を検証しないことを指定します。
sign-version
signVersion
sign_version
署名アルゴリズムのバージョン。 有効な値:
v1
v4 (デフォルト)
output-format
outputFormat
output_format
出力の形式。 有効な値:
raw (デフォルト)
json
xml
yaml
addressing-style
addressingStyle
addressing_style
アドレスのタイプ。 有効な値:
virtual (デフォルト)
path
cname
language
/
表示言語。
endpoint
/
リージョンのエンドポイント。 このパラメーターはオプションです。
その他の設定
キー
エイリアス
説明
source-profile
sourceProfile
source_profile
指定されたプロファイルセクションの設定を参照します。 例:
[profile cred] access-key-id=ak access-key-secret=sk [profile dev] region=cn-hangzhou source-profile=cred
buckets
/
指定された buckets セクションの設定を参照します。
[profile dev] region=cn-hangzhou access-key-id=ak access-key-secret=sk buckets=dev-bucket [buckets dev-bucket] bucket-name-hz = endpoint=oss-cn-hangzhou-internal.aliyuncs.com bucket-name-bj = region=cn-beijing
セクションタイプ: buckets
buckets セクションには、バケットとエンドポイント間のマッピングが保存されます。 buckets セクションには、バケット名を表すキー内にネストされた key=value ペアが含まれています。
[buckets name]
bucket-name =
key=value
name は buckets セクションの名前、bucket-name はバケットの名前、key=value は設定です。 buckets セクションでバケット固有の設定を指定できます。 次の表に、設定を示します。
キー | エイリアス | 説明 |
region | / | データセンターが配置されているリージョン。 この設定を空のままにすると、ossutil は構成ファイルの profile セクションの region 設定を使用します。 |
endpoint | / | リージョンのエンドポイント。 このパラメーターはオプションです。 |
addressing-style | addressingStyle addressing_style | アドレスのタイプ。 有効な値: virtual (デフォルト): 仮想バケットドメインを使用します。 path: パススタイルのアドレスを使用します。 cname: CNAME を使用します。 |
次の行は、buckets セクションの例です。
[buckets dev-bucket]
bucket-hz-01 =
region=cn-hangzhou
bucket-hz-02 =
region=cn-hangzhou
endpoint=test.com
addressing-style=cname
bucket-bj-01 =
region=cn-beijing
コマンドラインオプション
ossutil コマンドを実行するときに、コマンドラインオプションを使用して構成を直接渡すことができます。 この方法は、一時的な構成要件に適しています。 例:
ossutil ls oss://examplebucket -i "your-access-key-id" -k "your-access-key-secret"
次のコマンドラインオプションがサポートされています。
パラメーター | タイプ | 説明 |
-i, --access-key-id | 文字列 | AccessKey ID。 |
-k, --access-key-secret | 文字列 | AccessKey Secret。 |
--addressing-style | 文字列 | アドレスのタイプ。 有効な値:
|
-c, --config-file | 文字列 | 構成ファイルのパス。 デフォルト値: |
--connect-timeout | 整数 | クライアント接続のタイムアウト期間(秒単位)。 デフォルト値: 10。 単位: 秒。 |
-n, --dry-run | / | 変更を加えずに試行を実行します。 |
-e, --endpoint | 文字列 | リージョンのエンドポイント。 |
-h, --help | / | 特定のコマンドのヘルプ情報を表示します。 |
--language | 文字列 | 表示言語。 |
--loglevel | 文字列 | ログレベル。 有効な値:
|
--mode | 文字列 | 認証モード。 有効な値:
|
--output-format | 文字列 | 出力形式。 デフォルト値: raw。 |
--output-query | 文字列 | JMESPath クエリ条件。 |
--profile | 文字列 | 構成ファイルのプロファイルを指定します。 |
-q, --quiet | / | 最小限の情報を出力する quiet モードを有効にします。 |
--read-timeout | 整数 | クライアントの読み取りおよび書き込みリクエストのタイムアウト期間(秒単位)。 単位: 秒。 デフォルト値: 20。 |
--region | 文字列 | データセンターが配置されているリージョン。 例: cn-hangzhou。 |
--retry-times | 整数 | エラーが発生した場合の再試行回数。 デフォルト値: 10。 |
--sign-version | 文字列 | 署名アルゴリズムのバージョン。 有効な値:
|
--skip-verify-cert | / | サーバーから提供されたデジタル証明書を検証しないことを指定します。 |
-t, --sts-token | 文字列 | STS によって発行されたトークン。 |
--proxy | 文字列 | プロキシサーバー。 構成方法:
|
--log-file | 文字列 | ログ出力ファイル。 有効な値:
特定のファイルパスを指定しない場合、ログはデフォルトの構成ファイルにエクスポートされます。 |
環境変数
次の手順を実行して、環境変数を構成できます。
Linux
次のコマンドを実行します。
export OSS_ACCESS_KEY_ID="your-access-key-id" export OSS_ACCESS_KEY_SECRET="your-access-key-secret"
次のコマンドを実行して、環境変数が有効になっているかどうかを確認します。
echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET
macOS
次のコマンドを実行します。
export OSS_ACCESS_KEY_ID="your-access-key-id" export OSS_ACCESS_KEY_SECRET="your-access-key-secret"
次のコマンドを実行して、環境変数が有効になっているかどうかを確認します。
echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET
Windows
CMD で次のコマンドを実行します。
set OSS_ACCESS_KEY_ID "your-access-key-id" set OSS_ACCESS_KEY_SECRET "your-access-key-secret"
新しいウィンドウを開きます。
新しいウィンドウで次のコマンドを実行して、環境変数が有効になっているかどうかを確認します。
echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET
次の表に、ossutil でサポートされている環境変数を示します。
環境変数 | 対応するパラメーター名 |
OSS_ACCESS_KEY_ID | access-key-id |
OSS_ACCESS_KEY_SECRET | access-key-secret |
OSS_SESSION_TOKEN | sts-token |
OSS_ROLE_ARN | ram-role-arn |
OSS_ROLE_SESSION_NAME | role-session-name |
OSS_REGION | region |
OSS_ENDPOINT | endpoint |
OSSUTIL_CONFIG_FILE | config-file |
OSSUTIL_PROFILE | profile |
例
構成ファイル、環境変数、またはコマンドラインオプションを使用して、examplebucket バケット内のさまざまなタイプのアクセス認証情報を構成し、オブジェクトをクエリできます。
長期アクセス認証情報
一時的なアクセス認証情報
RAM ユーザーのアクセス認証情報
環境変数またはコマンドラインオプションを使用して、このタイプのアクセス認証情報を構成することはできません。
ECS インスタンスの RAM ロールのアクセス認証情報
環境変数を使用して、このタイプのアクセス認証情報を構成することはできません。
OIDC アクセス認証情報
環境変数またはコマンドラインオプションを使用して、このタイプのアクセス認証情報を構成することはできません。
OIDC ロールベース SSO の詳細については、「OIDC ベースの SSO の概要」をご参照ください。
外部プロセスを使用してアクセス認証情報を取得する
ossutil は外部コマンドを使用して、ossutil プロセスとは別の外部プロセスを開始します。 外部プロセスは、標準出力を使用して ossutil に出力を返します。 外部プロセスを使用してアクセス認証情報を取得できます。
セキュリティリスクを軽減するには、意図したプロセスまたはユーザーのみにアクセス認証情報を生成するコマンドを実行する権限を付与する必要があります。
アクセス認証情報を生成するためのコマンドは、機密情報を stdrr または stdout に書き込みません。これは、情報がキャプチャまたは記録されるのを防ぐためです。 キャプチャまたは記録された情報は、権限のないユーザーに公開される可能性があります。
外部コマンドは、長期および一時的なアクセス認証情報を返すことができます。
長期アクセス認証情報
{
"AccessKeyId" : "ak",
"AccessKeySecret" : "sk",
}
一時的なアクセス認証情報
{
"AccessKeyId" : "ak",
"AccessKeySecret" : "sk",
"Expiration" : "2023-12-29T07:45:02Z",
"SecurityToken" : "token",
}
環境変数またはコマンドラインオプションを使用して、このタイプのアクセス認証情報を構成することはできません。