入出力定義ファイル ####################### | Cleanroom にデータをアップロード出来るユーザ、Cleanroom からデータをダウンロード出来るユーザを定義する yaml ファイルです。 | :ref:`cleanroom deploy ` コマンドの ``--encrypted-files`` オプションで指定します。 ファイルのフォーマット *********************** ファイルのフォーマットは以下の通りです。 .. code-block:: yaml inputs: : &user_1 : &user_2 outputs: : *user_1 : *user_2 はそれぞれ ``/WORK/inputs/`` と ``/WORK/outputs/`` 直下のディレクトリ名に対応します。 複数のinputとoutputを定義することができ、それぞれ異なるユーザーがデータのアップロードやダウンロードを行えるよう、個別のuser-idを割り当てることができます。 yamlでは、 ``&`` で変数を定義し、 ``*`` で変数を参照することで、同じuser-idを複数箇所で再利用できます。 例 *********************** 例えば、以下のようなファイルを作成した場合、 .. code-block:: yaml inputs: input_1: &user_1 fqO2dYtmu6kxxcWVlojWM7CGmmVg1W89mdCfF2dR4WY= input_2: &user_2 hqG3DtmdfsdfTfdjsaklTxgtAsedfTfdjsaklTTTEEe= outputs: output_1: *user_1 * user_id が ``fqO2dYtmu6kxxcWVlojWM7CGmmVg1W89mdCfF2dR4WY=`` のユーザは ``/WORK/inputs/input_1`` ディレクトリにデータをアップロードできる。 * user_id が ``hqG3DtmdfsdfTfdjsaklTxgtAsedfTfdjsaklTTTEEe=`` のユーザは ``/WORK/inputs/input_2`` ディレクトリにデータをアップロードできる。 * user_id が ``fqO2dYtmu6kxxcWVlojWM7CGmmVg1W89mdCfF2dR4WY=`` のユーザは ``/WORK/outputs/output_1`` ディレクトリからデータをダウンロードできる。 という定義になります。 したがって、user_id が ``fqO2dYtmu6kxxcWVlojWM7CGmmVg1W89mdCfF2dR4WY=`` のユーザは以下のようなコマンドでデータのアップロード・ダウンロードが可能です。 .. code-block:: console apc cleanroom data cp ./input_1 app:input_1/ apc cleanroom data cp app:output_1 ./output_1 同様に、user_id が ``hqG3DtmdfsdfTfdjsaklTxgtAsedfTfdjsaklTTTEEe=`` のユーザは以下のようなコマンドでデータのアップロード・ダウンロードが可能です。 .. code-block:: console apc cleanroom data cp ./input_2 app:input_2/ .. comment:: セキュリティ *********************** .. todo:: 定義ファイルのセキュリティについて記載 ベストプラクティス *********************** .. todo:: 定義ファイルのベストプラクティスを記載