Oracle Analytics Cloud：OACでカスタムのアプリケーションロールを作成しアクセス権限を制御してみる

はじめに
---
OACでは、管理者用、開発者用、参照用の権限をもついくつかのアプリケーションロールが事前定義済のアプリケーションロール(OACのApplication Role)として登録されています
事前定義済のアプリケーションロールは、OACの機能を利用するための機能に対しての権限です。
ワークブック、分析、ダッシュボードやデータソースへの接続、データセットなどユーザーが作成したものに対してアクセス権限を管理したい場合を考えてみます
アクセス権限をセットする際には、ユーザー単位での指定の他、OACのアプリケーションロール単位(OAC Application Role)での指定ができます
たとえば、営業部門がアクセスできるもの、人事部門がアクセスできるものといった部門別にアクセス権限をセットする場合にアプリケーションロールを作成してアクセス権限をセットします。
ユーザーには作成したカスタムのアプリケーションロールを付与することで部門単位で一括でセットするイメージです。
ではカスタムのアプリケーションロールを作成し、ユーザーに付与する手順をためしてみます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/ae13f960-6547-ed41-69cd-bf8ba2a89cc5.png)

記載時のOACバージョン：OAC 2024 March版

OACのユーザーと作成するカスタムのアプリケーションロール
---
営業部門用として、カスタムのアプリケーションロールを作成します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/581e17af-80bc-fdfc-7247-17bc6c4aa365.png)

カスタムのアプリケーションロールに営業部門のユーザーを追加します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/b68fdbfe-e268-a2e8-b800-e8bdf8032d1b.png)

カスタムのアプリケーションロールの作成
---
営業部門用のカスタムのアプリケーションロールを作成します
OACインスタンスを作成したユーザー（管理者権限をもつユーザー）でログインします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/c9955bcb-c56b-01b8-a834-8d803b0a2191.png)

左上部のメニューアイコンをクリックします
メニューから"コンソール"をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/6a722974-e481-2871-e2a5-39d309f41eda.png)

"ユーザーとロール"をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/5d037624-791c-eb27-63df-41b73e0fe066.png)

"アプリケーションロール"をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/0895387f-6e17-1540-5290-a83d6f343751.png)

"アプリケーションロールの作成"をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/6c3b9965-59aa-86df-c033-90845a392f52.png)

それぞれ名前を入力します。
作成をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/150a30af-c348-b88d-5954-50facbe51241.png)

営業部門のユーザーをメンバーとして登録します
作成したカスタムのアプリケーションロールをクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/3342a8c4-bc1b-afb9-6972-068011dd9b8e.png)

"ユーザー"をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/55860383-f013-4862-a9fb-e6d4e3ad26c3.png)

"ユーザーの追加"をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/3eca41e1-3ee1-6266-c10f-0a8c9b0d4eaf.png)

追加するユーザーをクリックして選択します。
複数追加する場合は、Ctrlキーを押しながらクリックして追加します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/db83c017-3cc9-239e-7165-d03234fccc90.png)

"追加"をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/b2337e50-3565-16d4-7477-07b29351b50a.png)

アプリケーションロールにユーザーが追加されました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/a3d23c0c-1ad1-8525-24f6-78797e29c9fa.png)

共有フォルダにアクセス権限をセット
---
共有フォルダに、営業部門用フォルダを作成し、アクセス権限をセットしてみます
営業部門用フォルダを作成します

コンソール画面に戻り、メニューから"カタログ"をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/86f0f3d6-0de5-14aa-1165-edde2d4ac9e0.png)

共有フォルダをクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/d0a262d9-ffe6-5757-fe70-56da6dadaca3.png)

右上部の「・・・（縦）」をクリックし、表示されたメニューから"フォルダの作成"をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/5b93ca9b-ad79-98c7-8bcc-a4b780dacb63.png)

フォルダ名を入力し、"作成"をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/abd65fff-03c3-3f7d-640e-43015fefce89.png)

共有フォルダの配下にフォルダが作成されます
フォルダの右下"・・・(縦)"をクリックし、メニューから"検査"をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/d6108a64-737b-d6c1-1581-ee2caf433fdc.png)

"アクセス"をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/f279b454-d849-abed-eb09-f70ef7e6bdc6.png)

アクセス権限が付与されているアプリケーションロールが表示されます
BIConsumerのアクセス権限を削除します。
BIConsumerの右部にマウスカーソルを移動すると"削除"アイコンが表示されるので、クリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/f5cf8805-0054-72a0-2860-d7a625067abd.png)

BIConsumerが削除されました。
追加のところに、"Custom"と入力すると、アプリケーションロールが表示されますのでクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/8a189248-a7f3-a368-ba63-bda988e33991.png)

カスタムのアプリケーションロールがセットされました。
"読取り/書込み"の方をクリックしておきます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/5cbfa9ec-aa92-68bc-b8a5-97a005daac2a.png)

"保存"をクリックし、保存してから"閉じる"をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/70d16824-96cb-74be-6bec-be1cbb614f73.png)

サインアウトし、営業部門のユーザーでアクセスします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/43e89572-46ee-fa7b-e96c-ae406b6063dd.png)

アクセス権限を付与した共有フォルダを参照できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/9bd1923e-f10d-0ae4-197b-1963ca2c5c06.png)

まとめ
---
ワークブック、分析、ダッシュボードやデータソースへの接続、データセットなどユーザーが作成したものに対してアクセス権限を管理する場合、
OAC側でアプリケーションロールを作成し（OACのApplication Role）、作成したカスタムのアプリケーションロールを付与することで部門単位で一括でセットする方法をためしてみました。
機能に対しての権限は、事前定義済のアプリケーションロールで制御、ワークブック、分析、フォルダなどの作成したオブジェクトに対するアクセス権限はユーザーが作成したカスタムのアプリケーションロールで制御するといったイメージです

カスタムのアプリケーションロールにユーザーを追加する手順を記載しましたが、コマンドラインでOACのアプリケーションロールにユーザー追加する機能については本記事記載時には実装されていません。そのため、運用でユーザー増減時の自動化をおこなうためにはIdentity Domain側に営業部門用のグループを作成し、カスタムのアプリケーションロールを紐づけておくことで、コマンドラインが用意されているIdentity Domain側で行うことが考えられます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516153/6f6b94a6-663e-0335-1bbe-385500d92fa5.png)



以上