IBM Cloudで自分のアカウントが作成したリソースを他のIBM CloudのIDでも使えるようにする

仮想化のマスキングをテストするとき必要だったのでメモです。

IBM Cloudで自分のアカウントが作成したリソースを他のIBM CloudのIDでも使えるように(共有)することが可能です。

今回はWatson Queryを使えるようにしてみます。

具体的にはidに対する許可を設定してアカウントにInvite(招待)するという手順になります。

# 1. 前準備: 
## 1-1: 対象のWatson Queryを作成したアカウントでIBM Cloudコンソールにログイン

https://cloud.ibm.com/ に対象のWatson Queryを作成したアカウント(ここでは自分のアカウントと表現しています)でIBM Cloudコンソールにログインしてください。

## 1-2: 対象のWatson QueryのGUIDを取得
Watson Knowledge Catalogだと設定時リストからサービス名を選べばいいのですが、なぜかWatson QueryはGUIDの手打ちが必要でした。なので、あらかじめ取得しておきます。
以下取得手順です。
1-2-2: IBM Cloudのダッシュボードからリソース・リストを表示します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/2a001e02-ffad-aca7-ddde-99a708aef739.png)


1-2-2：　データベースの中にあるアクセスさせたいWatson Queryの行のLink以外のどこかをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/9dbac865-8508-6f68-ca5e-8ce23c6f5a35.png)

1-2-3:　右側にGUIDの情報を含む詳細情報が出てきますので、GUIDをコピーしてどこかにペーストしておいてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/8a22bd5c-f83f-81e4-526c-bb29d6980de4.png)



# 2. ユーザーを招待
アクセスさせるユーザーIDを自分のアカウントに招待します。
### 2-1：　上部のメニュー「管理」>「アクセス(IAM)」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/4156c4b4-8a57-e509-6ca8-6c91b54291d1.png)

### 2-2: 左のメニューから「ユーザー」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/84439c69-f467-f66f-4742-b555d03a4883.png)

### 2-3: 「ユーザーの招待」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/92391075-77ea-0867-4bf5-da09affc3149.png)


### 2-4: 招待するE メール・アドレスを入力
`招待するEメール・アドレス`,つまり`アクセスさせたいユーザのIBM CloudアカウントID`を入力します。
当然ですが有効なIBM CloudアカウントIDである必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/3b1e6125-5a0a-565a-65fd-6ed7a5a2f489.png)

### 2-5: アクセス・ポリシーを入力
2-5-1：　「アクセス・ポリシー」をクリックして、チェックを入れます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/3153af1a-69e2-5c93-0405-62255fabf7f8.png)

2-5-2： ポリシーの作成
「サービス」の検索窓に`Watson Query`と入れて、Watson Query　を表示し、表示された`Watson Query`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/882d6982-a6e6-68e8-ebea-982e69851e52.png)

`Watson Query`にチェックが入るので「次へ」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/014ce835-43ba-3a77-454f-7e03055efdf2.png)

「リソース」では以下を設定して、「次へ」をクリックします
- `特定のリソース`を選択
- 属性タイプ：　`serviceInstance`
- オペレーター: `string equals`
- 値: 1-2で取得したGUIDの値

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/cd6295a1-eb03-5f39-f99e-63c34dfd9d32.png)

「役割とアクション」データアクセスさせるだけ(見るだけ、設定変更しない、仮想化しない)であれば、以下の設定にします。チェックを入れたら「レビュー」をクリックします。

- サービス・アクセス: `Manager`
- プラットフォーム・アクセス: `ビューアー`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/ee4b34d9-6d4d-2bb2-23e0-a62d0409f707.png)


内容確認して「追加」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/f78dd3d8-ead2-dc24-5f45-de3bec19c762.png)

右側の「招待」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/6ee4028e-a0ca-4295-9006-7185d1c2cf4f.png)

これで「ユーザーを招待」は完了です。

# 3. 招待されたユーザーがアカウントにJOINする
ここは招待されたユーザーID(アクセスさせるユーザーID)　側の処理になります。
招待されたユーザーID(アクセスさせるユーザーID)のメールアドレスに以下のようメールが送付されますので、`Join now`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/6eeb9a9b-6cb3-acbb-6088-69c19f4ecfaf.png)

または招待されたユーザーIDでログインし、通知画面を表示させると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/3fb58d34-9bdb-e4c1-da4f-b3c26573f24c.png)
同じ内容の通知が来ていますので、`Join now`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/8b2d3b38-e4db-868c-5890-fcde5af29d1f.png)

内容を確認して、「アカウントに参加」をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/10067600-4ff0-b801-96a8-a2ba2a1533a5.png)

以下の画面が表示されたら完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/1459254e-a00f-49aa-aa90-3f7dec1cbf67.png)

「ログイン」をクリックしてログインしてください。

# 4. 招待された側の確認
ここは招待されたユーザーID(アクセスさせるユーザーID)　側の処理になります。
上部メニューの「管理」の右側のVをクリックして、自分のアカウントの他に、招待されたアカウントが表示されていることを確認してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/4fbb2292-205e-6554-0a14-7aeca0ec5fdd.png)


そのまま、招待されたアカウントをクリックします。これで招待されたアカウントに切り替わります。

リソースリストを確認して、アクセスを許可されたWatson Queryが表示されていることを確認してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/7a6515e1-fe84-25a5-9ebd-69abe8d83d71.png)

招待されたアカウントのリソース(ここではWatson Query)にアクセスするときは、アカウントを切り替えることを忘れないようにしてください。

# 5. 招待した側の確認
ここでは対象のWatson Queryを作成したアカウント側の処理になります。Watson Queryを作成したアカウントでIBM Cloudコンソールにログインして実行してください。
https://cloud.ibm.com/iam/users にアクセスして、招待したユーザーがアクティブになっていることを確認してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/dc786681-1d86-ea31-fe56-f31516d61bce.png)

以上です。
これで招待したアカウントがWatson Queryにアクセスできるようになりました！