Translated message

A translation of this page exists in English.

Red Hat Secure FTP - ユーザーガイド

更新 -

免責事項: 以下に示す外部の Web サイトへのリンクは、お客様の利便性のみを目的として提供しています。Red Hat はリンクの内容を確認しておらず、コンテンツまたは可用性について責任を負わないものとします。外部の Web サイトへのリンクを含めることは、Web サイトまたはそれらの法的主体、製品またはサービスについて Red Hat が承認したことを意味するものではありません。お客様は、外部サイトまたはコンテンツの使用 (または信頼) によって生じる損失または費用について、Red Hat が責任を負わないことに同意するものとします。

目次

1.背景情報

Red Hat Secure FTP の目的は、持続可能なクロスプラットフォームおよびコマンドラインからアクセス可能なエンドポイントを提供し、お客様が Red Hat にファイルをアップロードできるようにすることです。幅広いカスタマーベース全体で使用できる安全でスケーラブルなエンドポイントを提供することを目標としています。お客様向けの従来の FTP (dropbox.redhat.com) は、2022 年 3 月をもって完全に廃止され、この新しい SFTP に代わりました。

2.範囲

  • コマンドラインからファイルをアップロードするためにお客様がアクセスできるエンドポイントを提供します。
  • お客様のワークフローへの影響を最小限に抑えます。
  • Red Hat による追加のパッケージはありません。
  • 安全なサポートケースは対象外となります。

3.お客様向けユーザーガイド

3.1 認証されたフロー

有効なポータル認証情報を持つお客様は、所属するアカウントのケースに添付ファイルをアップロードできるはずですが、厳格なファイル形式ポリシー (${CASEID}_* または sosreport-${CASEID}-*) に従う必要があります。ファイル名が有効な場合は、ファイルは添付ファイルとしてケースにアップロードされ、Red Hat Secure FTP から削除されます。ファイル名が無効な場合は、Red Hat Secure FTP バケットに 30 日間保管され、その後は完全に削除されます。

サポートケースに自動添付するファイルの有効および無効なファイル名形式の例の一部を以下に示します。

  • sosreport-hostname-4-02855523-2021-04-20-uhbkfag.tar.xz (有効) [sosreport が生成するデフォルトのファイル名]
  • 02436811_sosreport-12387183.gz (有効)
  • 02436811_log-report.txt (有効)
  • 02436811-sosreport.gz (無効)
  • sosreport.gz (無効)
  • sosreport_02436811.gz (無効)
  • sosreport-02855523-testreport.gz (有効)
  • sosreport_02855523-testreport.gz (無効)
  • sosrep_02855523-testreport.gz (無効)
  • 02855523-testreport.gz (無効)
  • 02855523_testreport.gz (有効)

以下のマトリックスでは、認証されたお客様の権限について説明しています。

権限あり 権限なし
独自のディレクトリー内でのファイルの一覧表示 他のユーザーのファイルまたはディレクトリーの一覧表示/表示
Red Hat SFTP に添付ファイルをアップロードし、正しいファイル名形式で、お客様がアクセスできるサポートケースにファイルを自動添付する 任意の添付ファイルのダウンロード
アクセス権のないケースへのファイルの添付

注記: アップロードしたファイルに無効なケース番号またはお客様がアクセスできないケース番号が付いている場合は、アップロードされたファイルはサポートケースに 添付されず、保持ポリシーに従って Secure FTP に保管されます。

ここでは、添付ファイルのアップロードについて簡単に説明します。

3.1.1 トークンの生成

3.1.1.1 cURL の使用

コマンドターミナル (Linux または Macintosh) または PowerShell (Windows) を開きます。プロンプトで、以下に詳しく説明されているとおりに cURL コマンドを入力して SFTP ログイントークンを生成します (brett.lymn をカスタマーポータルのユーザー名に置き換えます)。

v2 API (トークン有効期間は 0 - 90 日に設定可能):

Token Generation v2 API を使用すると、ユーザーはトークンの有効期限を設定できます。 'expiryInDays' パラメーターは、0 日から最大 90 日までの日数を値として設定できます。'expiryInDays' のデフォルト値は 30 日です。

  • デフォルトの有効期限 (30 日) でトークンを生成するためのサンプル curl:
$ curl -u brett.lymn --request POST 'https://access.redhat.com/hydra/rest/v2/sftp/token'
{"username": "brett.lymn","token": "SBmaGUbA","expiryDate": "2021-8-01T06:37:19.966Z"}
  • 'expiryInDays' を 60 日に設定してトークンを設定するためのサンプル curl:
$ curl -u brett.lymn --request POST 'https://access.redhat.com/hydra/rest/v2/sftp/token' \
--header 'Content-Type: application/json' \
--data-raw '{
   "expiryInDays" : 60
}'
{"username": "brett.lymn","token": "SBmaGUbA","expiryDate": "2021-10-01T06:37:19.966Z"}

v1 API (トークンの有効期限は 30 日に固定):

$ curl -u brett.lymn https://access.redhat.com/hydra/rest/v1/sftp/token
{"username" : "brett.lymn",  "token" : "7c8afc4f","expiryDate": "2021-8-01T06:37:19.966Z"}
3.1.1.2 Web UI の使用 (v1 API を使用):

あるいは、Web ブラウザーを使用して Red Hat Secure FTP Token Generator アプリケーションに移動し、カスタマーポータルの認証情報を使用してログインします。次に、"Generate Token" をクリックして新しいトークンを生成するか、既存の有効なトークンを表示します。

注記:

  • v1 API は、既存のトークンが存在する場合はそれを返し、トークンの有効期限を $CURRENT_DATE + 30 日に更新します。
  • 既存のトークンが見つからない場合は、有効期限が 30 日間の新規トークンが生成されます。
  • v1 API は近日中に非推奨になるため、v2 API を使用するようにスクリプト/ガイドを移行してください。
  • v2 API は、GET の代わりに POST メソッドを使用します。
  • 'expiryInDays' の値は、30 以上 (0 から 30 までの値はすべて 30 として処理されます)、90 以下にします (90 より大きい値にすると検証エラーが発生します)。

3.1.2 SFTP 接続

3.1.2.1 Linux または Macintosh の場合

コマンドターミナルで SFTP 接続を開き、パスワードの入力を求められたら、トークンを入力します。

$ sftp brett.lymn@sftp.access.redhat.com
brett.lymn@sftp.access.redhat.com's password: <token>
Connected to brett.lymn@sftp.access.redhat.com.
sftp>
3.1.2.2 Windows の場合

ユーザーは winscp ソフトウェアを使用して、Windows マシンから 接続 することができます。

3.1.3 添付ファイルのアップロード

3.1.3.1 Linux または Macintosh の場合

PUT コマンドを使用し、${CASEID}_* 形式でファイルをケースにアップロードします。

sftp> put 02436811_sosreport.gz
Uploading 02436811_sosreport.gz to /02436811_sosreport.gz
02436811_sosreport.gz                                                                                                                                                                                   100%   10MB   1.9MB/s   00:05   
sftp>
3.1.3.2 Windows の場合

winscp ソフトウェアを使用して、Windows マシンからファイルを アップロード することができます。

注記

  • ファイル名が正しい形式 (${CASEID}_*) の場合:
    • ファイルは対応するケースに添付されます。
    • ファイルが正常にケースに添付された場合は、Secure FTP から削除され、表示されなくなります。
  • ファイル名の形式が正しくない場合は、以下のようになります。
    • ファイルはケースに添付されません。
    • ファイルは保持ポリシーに従って Secure FTP に保管されます。
  • ユーザー名に特殊文字がある場合 (例: 'example@company.com' など) でも、上記の手順は適用されます。
  • Secure FTP を使用したアップロードは、カスタマーポータルのサポートケースの管理 が提供するマルチパートアップロード機能と比較すると、単一のストリームになります。これにより、SFTP のアップロード中の速度が遅くなる可能性があります。

以下は、ユーザー名における特殊文字の例になります。

$ curl -u example@company.com https://access.redhat.com/hydra/rest/v1/sftp/token
{ "username" : "example@company.com", "token" : "7c8afc4f", "expiryDate" : "2021-09-07T10:13:46.149Z" }

$ sftp example@company.com@sftp.access.redhat.com
example@company.com@sftp.access.redhat.com's password: <token>
Connected to example@company.com@sftp.access.redhat.com 
sftp>

3.2 認証されていないフロー

Red Hat SFTP は、Red Hat でアカウントを作成していないユーザーによるファイルのアップロードもサポートしています。これらのユーザーは、Red Hat SFTP にファイルをアップロードして、そのディレクトリー配下に存在するファイルを表示できますが、ファイルをダウンロードすることはできません。また、匿名ユーザーがアップロードしたファイルは、サポートケースに自動添付されません。

以下のマトリックスでは、匿名ユーザーの権限について説明しています。

権限あり 権限なし
独自のディレクトリー内でのファイルの一覧表示 他のユーザーのファイルまたはディレクトリーの一覧表示/表示
Red Hat SFTP への添付ファイルのアップロード 任意の添付ファイルのダウンロード
サポートケースへのファイルの添付

3.2.1 ユーザー名およびトークンの生成

コマンドターミナル (Linux または Macintosh) または PowerShell (Windows) を開きます。プロンプトが表示されたら、以下の cURL を入力して匿名ユーザーのユーザー名とトークンを生成します。

v2 API

$ curl --request POST 'https://access.redhat.com/hydra/rest/v2/sftp/token' \
--header 'Content-Type: application/json' \
--data-raw '{
 "isAnonymous" : true
}'
{"username" : "aiFPyJiK", "token" : "FAAivaiy", "expiryDate" : "2021-09-07T10:13:46.149Z"}

v1 API

$ curl  https://access.redhat.com/hydra/rest/v1/sftp/token?isAnonymous=true
{"username" : "DpDPSPGN", "token" : "89d41439", "expiryDate" : "2021-09-07T10:13:46.149Z"}

あるいは、Web ブラウザーを使用して Red Hat Secure FTP Token Generator アプリケーションに移動し、ゲストとしてログインします。次に、"Generate Token" をクリックして新しいユーザー名とトークンを生成します。

注記: 匿名のトークンの使用は 1 回のみ有効です。セッションごとに、新しいトークンを生成する必要があります。

3.2.2 SFTP 接続

Red Hat SFTP に接続します (WinSCP の認証フローを参照)。

$ sftp DpDPSPGN@sftp.access.redhat.com
DpDPSPGN@sftp.access.redhat.com's password: <token>
Connected to DpDPSPGN@sftp.access.redhat.com.
sftp>

3.2.3 ファイルのアップロード

PUT コマンドを使用してファイルをアップロードします (WinSCP の認証フローを参照)。

Connected to DpDPSPGN@sftp.access.redhat.com.
sftp> put sysreport.tar.gz
Uploading sysreport.tar.gz to /sysreport.tar.gz
sysreport.tar.gz                                                                                                                                                                                            100%   10MB   1.8MB/s   00:05   
sftp>

3.2.4 ファイルのリスト表示

ユーザーのディレクトリー配下にファイルを一覧表示します。これは、WinSCP を使用して行うこともできます。

sftp> ls -l
-rwxr--r--   1        -        - 10485760 Sep 30 18:18 sysreport.tar.gz
sftp>

3.3 プロキシー経由での Secure FTP サーバーへの接続

プロキシー経由で SFTP サーバーに接続するための代替方法

3.3.1 認証されていないプロキシー (RHEL 8 および RHEL 7)

sftp -o "ProxyCommand nc --proxy <proxy_host>:<proxy_port> --proxy-type http %h %p" brett.lymn@sftp.access.redhat.com

3.3.2 認証されたプロキシー (RHEL 8 および RHEL 7)

sftp -o "ProxyCommand nc --proxy <proxy_host>:<proxy_port> --proxy-auth <proxy_user>:<proxy_password> --proxy-type http %h %p" brett.lymn@sftp.access.redhat.com

3.3.3 プロキシー (RHEL 8 および RHEL 7) は認証されているがポート 80 を使用している場合

sftp -P 80 -o "ProxyCommand nc --proxy <proxy_host>:<proxy_port> --proxy-auth <proxy_user>:<proxy_password> --proxy-type http %h %p" brett.lymn@sftp.access.redhat.com

3.3.4 RHEL 6 の場合

nc の代わりに ncat コマンドを使用してください。以下に例を示します。

sftp -o "ProxyCommand ncat --proxy <proxy_host>:<proxy_port> --proxy-type http %h %p" brett.lymn@sftp.access.redhat.com

注記 -
1.この例では、プロキシー設定でポート 22 またはポート 80 を許可するようにプロキシーを設定し、Secure FTP に接続できるようにする必要があります。
2.nc コマンド、つまり nmap-ncat を提供するパッケージをインストールする必要があります (RHEL 7 および RHEL 8 の場合は sudo yum install nmap-ncat を使用)。RHEL 6 の場合は、パッケージ nmap をインストールする必要があります (sudo yum install nmapを使用)。

3.4 保持ポリシー

Red Hat Secure FTP のデフォルトの保持ポリシーは 30 日 です。30 日が経過すると、ファイルは完全に削除されます。有効なサポートケース番号を接頭辞 (${CASEID}_*) として追加したファイルをアップロードする場合、このポリシーは適用されず、ケースファイルはサポートケースに正常にアタッチされた直後に削除されます。

サポートケースにアタッチされたファイルは、3 年間 保持されます。

3.5 お客様によるファイアウォールの設定

お客様は、ファイアウォールで以下の接続を許可する必要があります。

ソース 宛先 目的
カスタマー IP sftp.access.redhat.com:22 OR 35.80.245.1:22 SFTP コントロールチャネル

または

ソース 宛先 目的
カスタマー IP sftp.access.redhat.com:80 OR 35.80.245.1:80 SFTP コントロールチャネル

注記:
1.接続はポート 22 とポート 80 の両方でサポートされます。
2.IP アドレス 35.80.245.1 は、プロキシー/ファイアウォール設定で、ホスト名 sftp.access.redhat.com の代わりに使用できますが、ロードバランサーを更新すると、この IP が変更される可能性があります。
3.さらに、トークンの生成が SFTP アップロードと同じマシンで実行される場合に備え、ファイアウォール設定で access.redhat.com:80 へのアクセスを開いてください。

3.6 SSH ホスト鍵のフィンガープリント

Red Hat Secure FTP の SSH ホスト鍵のフィンガープリントは次のとおりです。

SHA256:Ij7dPhl1PhiycLC/rFXy1sGO2nSS9ky0PYdYhi+ykpQ=

3.7 SFTP アップロードを支援するラッパースクリプト

この記事に、ファイルを Red Hat Secure FTP に直接アップロードするために使用できるラッパーシェルスクリプトを記載しています。これは Red Hat の公式バイナリー/ソフトウェアとしては扱われない点に留意してください。また、背景で何が起きているかについてはソースコードをご確認ください。また、このスクリプトは Linux および MacOS で動作する点にも留意してください (RHEL 8、RHEL 7、MacOS でテストしており、RHEL 7 では認証されていないプロキシーに問題があることが確認されています)。

ダウンロード後、スクリプトを展開し、--help オプションを指定して実行すると、使用可能なすべてのコマンドラインオプションが表示されます。

$ unzip uploadfiletosftp.zip
$ cd uploadfiletosftp/
$ sh uploadFileToSFTP.sh --help

DESCRIPTION:
This wrapper script eliminates the multiple commands needed to be typed manually by the user to upload a file to SFTP. It takes the file path for the file to be uploaded and then performs all the steps from making authenticating to uploading the file to SFTP. The user should note that the script makes use of v2 API for token generation.

SYNTAX: sh uploadFileToSFTP.sh [--path file_path] [-C case_number] [--proxy proxy_type] [-x proxy_user] [-y proxy_password] [-h proxy_host] [-o proxy_port] [-c config_all]

OPTIONS:
      --path            The --path option is a mandatory option, whose option argument is used to specify
                        the complete file path of the file to be uploaded.
-C  | --case            If the -C option is present, the corresponding option argument is used to specify the 
                        case number to which the file is to be attached.
-x  | --proxy_user      If the -x option is present, the value for the proxy_user in the properties.json 
                        file is set as the corresponding option argument.
-h  | --proxy_host      If the -h option is present, the value for the proxy_host in the properties.json 
                        file is set as the corresponding option argument.
-o  | --proxy_port      If the -o option is present, the value for the proxy_port in the properties.json 
                        file is set as the corresponding option argument.
-y  | --proxy_password  If the -y option is present, the corresponding option argument is used to specify 
                        the proxy_password of proxy_user. If your password contains any special character, 
                        you must enclose the 'password' in single quotes.
-c  | --config_all      If the -c option is present, it will trigger input prompts for configuring each 
                        property in properties.json file, enabling the user to set or change value for 
                        any property.
      --proxy           If the --proxy option is present, the corresponding option argument is used to specify 
                        the type of proxy to be used to connect to connect to SFTP. For authenticated proxy, 
                        provide the option argument as 'auth' and 'unauth' for an unauthenticated proxy 
                        connection. Any other value shall default to connect to SFTP without any proxy.
      --help            Print this help and exit.

Attachments

Comments