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

Object Storage Service:ossutil の設定

最終更新日:Oct 16, 2024

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

前提条件

  • ossutilがインストールされています。 詳細については、「ossutilのインストール」をご参照ください。

  • Object Storage Service (OSS) が有効化されています。 詳細については、「OSSの使用を開始する」をご参照ください。

設定方法

設定ファイル、環境変数、コマンドラインオプションなど、複数の方法を使用してossutilを設定できます。

  • 設定ファイル: ossutilの設定ファイルはINIファイル形式で、パラメーターを指定できます。

  • 環境変数: ossutilは、構成ファイルよりも優先される複数の環境変数をサポートします。 これらの変数を使用してossutilを設定できます。

  • コマンドラインオプション: ossutilには複数のコマンドラインオプションがあります。 これらのオプションを使用してossutilを設定できます。

重要

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

構成ファイルの設定

一般的に使用されるossutil構成設定とアクセス資格情報を構成ファイルに保存できます。 設定ファイルの設定はセクションに分類されます。 -- profileオプションを使用して、ossutilが使用する特定のセクションを指定できます。 デフォルトでは、ossutilは構成ファイルのデフォルトセクションの設定を使用します。 他の設定を作成および参照できます。

説明

ossutil config credentialコマンドを使用して、設定ファイルのアクセス資格情報を設定できます。

設定ファイルの形式

ossutilの設定ファイルはINIファイル形式です。 INI設定ファイルはセクションで構成されています。

  • セクション内のパラメータは、key=value形式です。

  • セクション名とキー名は大文字と小文字を区別しません。

  • キーは小文字と小さなラクダのケースにすることができます。 キー内の単語は、ハイフン文字 (-) またはアンダースコア文字 (_) で区切ることができます。 たとえば、accesskeyid、accessKeyId、access-key-ID、またはaccess_key_idを使用して、構成ファイルにAccessKey idを設定できます。

  • コメントは数字記号 (#) で始まります。

サポートされているセクションタイプ

セクション

説明

追加情報

[default]

デフォルト設定が含まれます。 コマンドで -- profileオプションを指定しない場合、ossutilはデフォルトセクションの設定を使用します。

[default] セクションの完全な形式は [profile default] です。

[プロフィール名]

カスタム設定が含まれます。 コマンドで -- profileオプションを指定することで、セクションの設定を使用できます。

source_profileを使用して、特定のプロファイルセクションの構成設定を参照できます。

[バケット名]

リージョン、エンドポイント、アドレス指定スタイルなど、バケット固有の設定が含まれます。

このセクションタイプは、キーと値のペアのインライン配置をサポートします。

説明

configコマンドを使用して、構成ファイルの設定を照会および構成できます。 詳細については、「config」をご参照ください。

セクションタイプ: プロフィール

プロファイルセクションを使用して、アクセス資格情報関連のパラメーターとグローバルオプションを設定できます。 プロファイルセクションには、次の情報を含めることができます。

  • 資格情報関連のパラメーターへのアクセス

    パラメーター

    エイリアス

    説明

    モード

    /

    認証モードです。

    有効な値: AK、StsToken、RamRoleArn、EcsRamRole、およびAnonymous。

    access-key-id

    accessKeyId

    access_key_id

    AccessKey ID。

    {access-key-secret}

    accessKeySecret

    access_key_secret

    AccessKeyシークレット。

    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ロール名

    ecsRoleName

    ecs_role_name

    ロール名。 このパラメーターは、EcsRamRole認証モードで使用されます。

    credential-プロセス

    credentialProcess

    credential_process

    外部コマンドを指定します。

    クレデンシャル-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で、タイムアウト期間が15秒に設定されていることを示します。 最大値は600(10分) で、タイムアウト期間が10分に設定されていることを示します。 credential-process-timeout = 60は、外部認証情報を使用して開始されたリクエストのタイムアウト期間が60秒に設定されていることを示します。

  • グローバルパラメーター

    オプション

    エイリアス

    説明

    loglevel

    /

    ログエントリの重大度。 有効な値:

    • off (デフォルト)

    • info

    • デバッグ

    読み取りタイムアウト

    readTimeout

    read_timeout

    クライアントの読み取りおよび書き込み要求のタイムアウト時間 (秒) 。 デフォルト値: 20

    接続タイムアウト

    connectTimeout

    connect_timeout

    クライアント接続のタイムアウト時間 (秒) 。 既定値:1

    retry-times

    retryTimes

    retry_times

    エラーのリトライ回数。 既定値:1

    skip-verify-cert

    skipVerifyCert

    skip_verify_cert

    サーバーのデジタル証明書が検証されていないことを指定します。

    sign-version sign-version

    signVersion

    sign_version

    署名アルゴリズムのバージョン。 有効な値:

    • v1

    • v4 (デフォルト)

    出力形式

    outputFormat

    output_format

    出力の形式。 有効な値:

    • raw (デフォルト)

    • JSON

    • xml

    • yaml

    アドレス指定スタイル

    addressingStyle

    addressing_style

    アドレス指定スタイル。 有効な値:

    • virtual (デフォルト)

    • パス

    • cname

    言語

    /

    表示言語。

    endpoint

    /

    リージョンのエンドポイント。 このパラメーターはオプションです。

  • その他のパラメーター

    パラメーター

    エイリアス

    説明

    source-profile

    sourceProfile

    source_profile

    指定されたプロファイルセクションの参照パラメーター。 例:

    [profile cred]
    access-key-id=ak
    access-key-secret=sk
    
    [profile dev]
    region=cn-hangzhou
    source-profile=cred

    バケット

    /

    指定されたバケットセクションの参照パラメーター。

    [profile dev]
    region=cn-hangzhou
    access-key-id=ak
    access-key-secret=sk
    buckets=dev-bucket
    
    [bucktes dev-bucket]
    bucket-name-hz =
     endpoint=oss-cn-hangzhou-internal.aliyuncs.com
    bucket-name-bj =
     region=cn-beijing

セクションタイプ: バケツ

バケットセクションは、バケットとエンドポイント間のマッピングを格納します。 バケットセクションには、バケット名を表すキー内にネストされたkey=valueペアが含まれます。

[buckets name]
bucket-name = 
  key=value

ここで、nameはバケットセクションの名前、bucket-nameはバケットの名前、key=valueは設定項目です。 バケットセクションでは、バケット固有のパラメーターを指定できます。 下表に、各パラメーターを説明します。

パラメーター

エイリアス

説明

region

/

バケットが配置されているリージョン。

このパラメーターを空のままにすると、ossutilは構成ファイルの参照プロファイルセクションでregionパラメーターを使用します。

endpoint

/

リージョンのエンドポイント。 このパラメーターはオプションです。

アドレス指定スタイル

addressingStyle

addressing_style

アドレス指定スタイル。 有効な値:

virtual (デフォルト): 仮想バケットドメインを使用します。

path: パススタイルのアドレスを使用します。

cname: CNAMEを使用します。

次の行は、バケットセクションの例を示しています。

[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でサポートされている環境変数を次の表に示します。

環境変数

対応するパラメータ名

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ファイル

OSSUTIL_PROFILE

profile

アクセス資格情報の設定

次の方法を使用して、さまざまな種類のアクセス資格情報を設定できます。

説明

ossutil config credentialコマンドを使用して、設定ファイルのアクセス資格情報をすばやく設定できます。

一時的なアクセス資格情報の設定

  • 設定ファイルを使用して

    次の設定を含む構成ファイル ~/.myossutilconfigを作成します。

    [default]
    accessKeyID = STS.LTAI4Fw2NbDUCV8z********
    accessKeySecret = 67DLVBkH7EamOjy2W5RVAH********
    stsToken = yourSecurityToken
    region=cn-hangzhou

    次のコマンドを実行して、examplebucketのオブジェクトを一覧表示します。

    ossutil ls oss://examplebucket -c ~/.myossutilconfig
  • 環境変数の使用

    export OSS_ACCESS_KEY_ID=STS.LTAI4Fw2NbDUCV8z********
    export OSS_ACCESS_KEY_SECRET=67DLVBkH7EamOjy2W5RVAH********
    export OSS_SESSION_TOKEN=yourSecurityToken
    ossutil ls oss://examplebucket
  • コマンドラインオプションの使用 (非推奨)

    次のコマンドを実行して、examplebucketバケット内のオブジェクトを一覧表示します。

    ossutil ls oss://examplebucket -i STS.LTAI4Fw2NbDUCV8z******** -k 67DLVBkH7EamOjy2W5RVAH******** -t yourSecurityToken

長期アクセス資格情報の設定

  • 設定ファイルを使用して

    次の設定を含む構成ファイル ~/.myossutilconfigを作成します。

    [default]
    accessKeyID = LTAI4Fw2NbDUCV8z********
    accessKeySecret = 67DLVBkH7EamOjy2W5RVAH********
    region=cn-hangzhou

    次のコマンドを実行して、examplebucketのオブジェクトを一覧表示します。

    ossutil ls oss://examplebucket -c ~/.myossutilconfig
  • 環境変数の使用

    export OSS_ACCESS_KEY_ID=LTAI4Fw2NbDUCV8z********
    export OSS_ACCESS_KEY_SECRET=67DLVBkH7EamOjy2W5RVAH********
    ossutil ls oss://examplebucket
  • コマンドラインオプションの使用 (非推奨)

    次のコマンドを実行して、examplebucketのオブジェクトを一覧表示します。

    ossutil ls oss://examplebucket -i LTAI4Fw2NbDUCV8z******** -k 67DLVBkH7EamOjy2W5RVAH********

RAMユーザーのアクセス資格情報

設定ファイルを使用して

次の設定を含む構成ファイル ~/.myossutilconfigを作成します。

[default]
accessKeyID = LTAI4Fw2NbDUCV8z********
accessKeySecret = 67DLVBkH7EamOjy2W5RVAH********
mode = RamRoleArn
roleArn = acs:ram::137918634953****:role/Alice
roleSessionName = session_name_example
region=cn-hangzhou

次のコマンドを実行して、examplebucketのオブジェクトを一覧表示します。

ossutil ls oss://examplebucket -c ~/.myossutilconfig
説明

環境変数またはコマンドラインオプションを使用して、このタイプのアクセス資格情報を設定することはできません。

ECSインスタンスのRAMロールのアクセス資格情報

  • 設定ファイルを使用して

    次の設定を含む構成ファイル ~/.myossutilconfigを作成します。

    [default]
    mode = EcsRamRole
    # The ecsRoleName parameter is optional. If you do not set this parameter, the value is automatically obtained. 
    ecsRoleName = EcsRamRoleOss 
    region=cn-hangzhou

    次のコマンドを実行して、examplebucketのオブジェクトを一覧表示します。

    ossutil ls oss://examplebucket -c ~/.myossutilconfig
  • コマンドラインオプションを使用

    次のコマンドを実行して、examplebucketのオブジェクトを一覧表示します。

    ossutil ls oss://examplebucket --mode EcsRamRole
説明

環境変数を使用してこのタイプのアクセス資格情報を設定することはできません。

OIDCアクセス資格情報

OIDCロールベースSSOの詳細については、「OIDCベースSSOの概要」をご参照ください。

設定ファイルを使用して

次の設定を含む構成ファイル ~/.myossutilconfigを作成します。

[default]
mode = oidcRoleArn
# Provide the ARN of the OIDC IdP in the format of acs:ram::account-id:oidc-provider/provider-name. 
OIDCProviderArn=acs:ram::113511544585****:oidc-provider/TestOidcProvider
# Specify the path to the OIDC token.
OIDCTokenFilePath=OIDCTokenFilePath
# Specify the ARN of the role, that is, the ID of the role. The ARN is in the acs:ram::113511544585****:oidc-provider/TestOidcProvider format.
roleArn=acs:ram::113511544585****:role/testoidc
# Specify the session name, which is used to differentiate tokens. 
roleSessionName= TestOidcAssumedRoleSession
region=cn-hangzhou

次のコマンドを実行して、examplebucketのオブジェクトを一覧表示します。

ossutil ls oss://examplebucket -c ~/.myossutilconfig
説明

環境変数またはコマンドラインオプションを使用して、このタイプのアクセス資格情報を設定することはできません。

外部プロセスを使用したアクセス資格情報の取得

ossutilは、外部コマンドを使用して、ossutilプロセスとは別の外部プロセスを開始します。 外部プロセスは、標準出力を使用して出力をossutilに返します。 外部プロセスを使用してアクセス資格情報を取得できます。

説明
  • セキュリティリスクを軽減するには、意図したプロセスまたはユーザーのみにコマンドを実行してアクセス資格情報を生成する権限を付与する必要があります。

  • アクセス資格情報を生成するコマンドは、秘密情報をstdrrまたはstdoutに書き込んで、そのような情報がキャプチャまたは記録されないようにしません。 キャプチャまたは記録された情報は、不正なユーザーに公開されます。

外部コマンドは、長期および一時的なアクセス資格情報を返すことができます。

  • 長期的な資格情報

    {
    	"AccessKeyId" : "ak",
    	"AccessKeySecret" : "sk",
    }
  • 一時的な資格情報

    {
    	"AccessKeyId" : "ak",
    	"AccessKeySecret" : "sk",
    	"Expiration" : "2023-12-29T07:45:02Z",
    	"SecurityToken" : "token",
    }

設定ファイルを使用して

次の設定を含む構成ファイル ~/.myossutilconfigを作成します。

[default]
mode = Process
credentialProcess = user-cmd
region=cn-hangzhou

次のコマンドを実行して、examplebucketのオブジェクトを一覧表示します。

ossutil ls oss://examplebucket -c ~/.myossutilconfig
説明

環境変数またはコマンドラインオプションを使用して、このタイプのアクセス資格情報を設定することはできません。