Watson Studio: カタログ経由で、同一データを複数プロジェクトで共有する方法

# はじめに
IBM Cloud上のWatson Studioでは、別サービスであるKnowledge Catalogを経由すると、CSVファイルなど一つのデータ資産を、複数のプロジェクトからデータコピーすることなしに共有可能です。
しかし、その手順は、何カ所かトラップがあり、なかなか難しかったりします。
当ガイドは、そのための手順を示すためのものです。
例によって、すべて無料アカウントであるLite Planで試すことができます。

# 手順の概要
これからの手順の概要は以下のとおりです。

1. Catalogとプロジェクトの作成
1-1 Knowledge Catalogのライトプランのインスタンスを作成します
1-2 カタログ``Catalog1``を作成します
1-3 追加プロジェクト``Project1``と``Project2``を作成します

2. データ資産の共有
2-1 データ資産(``bank-test-autoai.csv``)を``Catalog1``にアップロードします
2-2 アップロードしたデータ資産を``Project1``と``Project2``に追加します
2-3 ``Project1``と``Project2``にアクセスして、追加したデータ資産が参照可能であることを確認します

3. 権限設定
3-1 Editorとして追加したいユーザーをIBM Cloudのアカウントとして追加します
3-2 追加したユーザーにWatson Studioの権限を付けます
3-3 ``Project1``と``Project2``をOpenし、Projectとしての追加ユーザーの設定をします。

# 手順詳細
それでは、画面を示しながら具体的な操作をしてみます。

## 1. カタログとプロジェクトの作成
最初に入れ物であるカタログとプロジェクトを作成します。
カタログは ``Catalog1``、プロジェクトは ``Project1``と``Project2``を作成することとします。

### 1-1 Knowledge Catalogののインスタンス作成
Knowledge Catalogのライトプランのインスタンスを作成します。

https://cloud.ibm.com/resources

で下の画面が出たら、「リソースの作成」をクリックします。

![スクリーンショット 2020-12-03 21.30.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/064affd1-ea7d-5748-7151-cac9aa8b2fe5.png)

下の画面で検索窓に``Knowledge Catalog``と入力してEnterキーを押します。

![スクリーンショット 2020-12-03 21.31.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/82f4e338-fdc6-8f8f-d099-34fc9c9380a2.png)

こんな画面になったら、**Watson Knowledge Catalog**のタイルをクリックします。

![スクリーンショット 2020-12-03 21.30.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/02052183-b38b-a741-b3de-edfb39c5b86c.png)

下の画面になるので、全部デフォルトの状態で、「作成」ボタンをクリックします。

![スクリーンショット 2020-12-03 21.34.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/9d7b4f6c-4c86-bc14-3e7c-2aa9f51a6974.png)

下の画面になれば、Knowledge Catalogのインスタンス作成に成功しています。

![スクリーンショット 2020-12-03 21.35.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/fc0cb3a0-c220-82c1-2d53-5cd915125d0a.png)


###1-2 カタログの作成
引き続きカタログ``Catalog1``の作成を行います。
上の画面で「Get Started」のボタンをクリックしてください。
下のような画面になるので、左側のメニューから「カタログ」を選択します。

![スクリーンショット 2020-12-03 21.39.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/4ec3990c-9fb1-4c58-f3a7-25712a819ac3.png)

下の画面になったら、画面右上の「カタログの作成」ボタンをクリックします。

![スクリーンショット 2020-12-03 21.39.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/2241b944-ffda-423e-187d-69079c550be8.png)

下の「新規カタログ」の画面になります。
名前の欄に``Catalog1``と入力し、画面右下の「作成」ボタンをクリックします。

![スクリーンショット 2020-12-03 21.40.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/0170ef83-f203-6869-5fcd-20483d29c492.png)

下のような画面になれば、カタログ ``Catalog1``の作成に成功しています。

![スクリーンショット 2020-12-03 21.43.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/318c1c22-1d16-3d6f-945a-625d550dbf0b.png)

### 1-3 追加プロジェクトの作成
引き続き、追加プロジェクト``Project1``と``Project2``を作成します。
上の画面で右上の「三」のようなアイコンをクリックします。

下のようなメニューが表示されるので、「すべてのプロジェクトの表示」を選んでください。

![スクリーンショット 2020-12-03 21.43.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/ba1d0382-425e-aa91-be93-27fbdf458bfd.png)

下の画面で「新規プロジェクト」のリンクをクリックします。

![スクリーンショット 2020-12-03 21.43.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/f9246829-08fb-6fac-3abd-5fddcf90fadd.png)

次の画面になったら「空のプロジェクトを作成」のタイルをクリックします。

![スクリーンショット 2020-12-03 21.44.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/1674f7eb-015e-9c48-00bc-5d81cef26a71.png)

次の「新規プロジェクト」の画面での設定が、今回の一連のタスクで重要なポイントです。

①　名前の欄はいつものようにプロジェクト名(今回は``Project1``)を入力します。
②　ここが重要なポイントです。「**コラボレーターになれるユーザーを制限する**」に必ず**チェックをつけて**ください。ここにチェックをつけると、この後のプロジェクトに対する追加ユーザーの招待の手順が複雑になります。なので、普通の使い方の場合、チェックをつけない方法がお薦めなのですが、**このチェックをつけないと、カタログからプロジェクトへのデータ資産の追加ができなくなります**。
③　最後に画面右下の「作成」ボタンをクリックします。

![スクリーンショット 2020-12-03 21.45.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/f60b2e7c-2f14-eb39-d610-cd44063dc1d4.png)

下の画面になれば、プロジェクト作成に成功しています。画面左上の「プロジェクト」のリンクをクリックして、元のプロジェクト一覧の画面に戻ってください。

![スクリーンショット 2020-12-03 21.48.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/14b79a8c-a170-c79b-fe5f-a6e5f347b4a3.png)

同じ操作を繰り返して同様に``Project2``も作成します。先ほど同様チェックマークを付ける点に注意してください。
最終的に下のような画面になっていれば、追加プロジェクト作成の作業は完了です。

![スクリーンショット 2020-12-03 21.49.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/1234cd75-9215-7222-d3a3-31543a5b087a.png)

## 2. データ資産の共有
次に、データ資産の共有を行ってみます。

### 2-1 データ資産のアップロード
データ資産(bank-test-autoai.csv)をCatalog1にアップロードします。
そのため、先ほど同様、画面左上の「三」のアイコンをクリックして、下のメニューを表示させます。
メニューから、カタログ配下の``Catalog1``を選択します。

![スクリーンショット 2020-12-03 22.11.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/64095507-1f66-8b2b-a21a-744095291ea4.png)

Catalog1の管理画面になったら、右上の「カタログに追加」のリンクをクリックします。

![スクリーンショット 2020-12-03 22.12.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/6b63d958-3bbe-b2b7-dd78-fd4a7a092b13.png)

下のメニューから「ローカル・ファイル」を選択します。

![スクリーンショット 2020-12-03 22.12.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/6bf8604c-1b08-35d5-26f8-0119b5b620e6.png)

下の画面になるので、指示に従い、事前に準備した共有用のCSVファイルである、``bank-test-autoai.csv``をdrag and dropします。

![スクリーンショット 2020-12-03 22.12.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/a8f5a0c9-77ec-1197-2646-2dc037909005.png)

アップロードが正常に終了すると下の画面になるはずです。ここで、画面右下の「追加」ボタンをクリックします。

![スクリーンショット 2020-12-03 22.13.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/b0aaa635-dead-ee10-879f-61614a809778.png)

正常にアップロードが終了すると、下の画面のように、右上にメッセージが表示されます。同時に、左下に「データ資産」のタイルが表示されます。

![スクリーンショット 2020-12-03 22.13.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/260db9e1-c79a-6d32-dd49-cbbe37950be6.png)


### 2-2 データ資産のプロジェクトへの追加
アップロードしたデータ資産をProject1とProject2に追加します。
ここでいう**資産の追加**とは、Unixでいうところのシンボリックリンクのようなものです。ファイルの実体は一つのままで、他のプロジェクトから参照だけできるようになります。

具体的な操作は以下のとおりです。
上の画面を下にスクロールしてください。

下のようにアップロードしたファイルがリスト形式で表示されています。
ここで、

①　追加したい資産にチェックをつけます
②　「プロジェクトに追加」のリンクをクリックします。

![スクリーンショット 2020-12-03 22.14.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/82689b6f-b84d-95bb-dbfd-e663a9291ca3.png)

下のような画面になるので、追加先プロジェクト(今の例では``Project1``)をドロップダウンから選択します。

![スクリーンショット 2020-12-03 22.14.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/382431d4-a90c-a543-3a5f-39f1a708b9c2.png)

下の画面になるので、右下の「追加」ボタンをクリックします。

![スクリーンショット 2020-12-03 22.14.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/693bbc92-0b78-c361-c79b-1128c7ac8930.png)

正常に追加されると、画面右上に下のようなメッセージが表示されます。

![スクリーンショット 2020-12-03 22.15.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/972c3cdd-aa89-00bd-8feb-6cf7eb37f657.png)

同じ手順を繰り返して、資産を``Project2``にも追加してください。
これで2-2のステップは終了となります。

### 2-3 プロジェクトからデータ資産への参照
最後に、Project1とProject2にアクセスして、エクスポートしたデータ資産が参照可能であることを確認します
再び、画面右上の「三」のアイコンをクリックし、今度は``Project1``を選択します。

![スクリーンショット 2020-12-03 22.15.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/d93ab848-f416-6481-d92a-87071e301470.png)

``Project1``の管理画面になったら、

①　資産タブをクリックします。すると、先ほど追加したデータ資産が、このプロジェクトからも見えていることがわかります。
②　データ資産のリンクをクリックします。

![スクリーンショット 2020-12-03 22.16.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/f9ee9ec1-2820-64ed-d889-0985f403b3f0.png)

下のようにCSVファイルの内容がプレビュー機能で参照できていることがわかります。

![スクリーンショット 2020-12-03 22.16.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/982c6cec-ee72-bfd9-f29d-b34b75e3896a.png)

これで当初の目的であった、「**一つのデータ資産を複数プロジェクトからコピーなしに参照する**」ことできました。

## 3. 権限設定
ユーザーが管理者だけであれば、意外と簡単にデータの共有ができることがわかります。
しかし、複数名でチームでプロジェクトにアクセスする場合、追加の考慮点が必要です。
その点について、本節で解説します。

### 3-1 IBM Cloud上のユーザー追加
Editorとして追加したいユーザーをIBM Cloudのアカウントとして追加します。

https://cloud.ibm.com

のリンクからIBM Cloudのダッシュボードを表示させ、下のようにメニューから「管理」「アクセス(IAM)」を選びます。

![スクリーンショット 2020-12-03 22.57.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/fcad174b-b50d-f8bc-94b1-3d4442d6a30a.png)

下の画面で、左のメニューから「ユーザー」を選択し、更に「ユーザーの作成」ボタンをクリックします。

![スクリーンショット 2020-12-03 22.57.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/708631fe-dd7a-5903-f962-dadd90aa89f6.png)

左下の欄にメールアドレスを入力し、右下の「招待」ボタンをクリックします。

![スクリーンショット 2020-12-03 22.59.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/8f3a8c44-c9a0-3ec5-cbf2-3df83e61e840.png)

ユーザーの追加が正常に終わると、下のような画面になります。

![スクリーンショット 2020-12-03 23.00.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/4d7e0753-1c4d-6d47-da13-05c240b4222c.png)

### 3-2 IBM Cloud上の権限追加
追加したユーザーにWatson Studioの権限を付けます。
上の画面で、権限を追加したいユーザーのリンクをクリックします。
下の画面になるので、

①　アクセス・ポリシータブをクリックします
②　「アクセス権限の割り当て」ボタンをクリックします。

![スクリーンショット 2020-12-03 23.00.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/4e9804dd-22fe-4987-22cc-fcc52d4ed10f.png)

下の画面になります。ここで

①　「どのタイプのアクセス権限」のドロップダウンからWatson Studioを選択します。
②　「プラットフォーム・アクセス」の欄で、「エディター」にチェックを入れます
③　右下の「追加」ボタンをクリックします。

![スクリーンショット 2020-12-03 23.01.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/a601cd87-ad90-c07d-6f30-722f32ef7055.png)

下のような画面になるので、赤枠で囲んだ権限設定が正しくできていることを確認した上で、「割り当て」ボタンをクリックします。

![スクリーンショット 2020-12-03 23.02.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/bd49f7a7-0076-6902-859f-56a24240f1f7.png)

下のような画面になっていれば、権限設定が正しくできています。複数人のユーザーが対象の場合は、同じ操作を繰り返してください。

![スクリーンショット 2020-12-03 23.02.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/a680571d-bb5c-27da-3491-01d29983ce0e.png)

お疲れ様でした。これでIBM Cloud側の権限設定は完了です。
最後にWatson Studio側で、ユーザーの招待を行います。

### 3-3 プロジェクト側でのユーザー招待
Project1とProject2をOpenし、Projectとしての追加ユーザーの招待をします。

https://dataplatform.cloud.ibm.com

のURLから``Project1``の管理画面を呼び出します。
この画面で

①　「アクセス制御」タブをクリックします
②　「コラボレーターの追加」のリンクをクリックします

![スクリーンショット 2020-12-03 23.23.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/e2e5ef92-84a3-94a8-c155-a617bafd1d4b.png)

下の「コラボレーターの追加」の画面で、「招待」の単に追加したいユーザーのメールアドレスを入力し、Enterキーを押します。すると、画面下の欄にこのユーザーが表示されるはずです。
同じ操作で追加したいユーザーを全部入力したら、最後に画面右下の「招待」ボタンをクリックします。

![スクリーンショット 2020-12-03 23.24.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/da4fc9da-cdc1-4d5e-13fc-6e18c3a12e19.png)

下のような画面になっていれば、プロジェクトでユーザーの追加に成功していることになります。

![スクリーンショット 2020-12-03 23.24.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/61f8ec0c-3397-67f9-a88a-c169c1401e31.png)