Okta - Administrators

# はじめに

今回はOktaの管理者権限については記載します。


# 標準ロール

Oktaには標準のロールと自分で作成できるカスタムロールの2つがあります。
各標準ロールでできることは以下のドキュメントをご参照ください。

[Standard administrator roles and permissions
](https://help.okta.com/en-us/content/topics/security/administrators-admin-comparison.htm)


# カスタムロール

Okta ではある程度自由に権限を編集したロールを作成することができます。
Security > Administrators > Roles > Create new Role から作成できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/350435/eba5d4af-7cd6-9c7a-71c3-57bdc3b6be67.png)

2023/12時点で選択することができる権限は以下の通りです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/350435/8181a280-31db-976c-b318-0f0db96ce4a9.png)

赤枠部分については Early Access の機能となっており、それぞれ以下を有効にすることで選択可能となります。
- Manage application general settings
    - App settings permissions for custom admin roles
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/350435/dd63cc2c-8b25-9a89-c26c-01e80b4dc26b.png)
- Identity Provider
    - Enable Custom Admin Roles for Identity Providers
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/350435/8eb63d7b-60c6-89ed-3beb-b724e51c32bd.png)

- Device
    - Enable custom admin roles for device permissions
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/350435/43bbcc49-f132-5b4b-7afc-d96bd3872fa4.png)

# リソースセット

Oktaではグループやアプリなどをリソースセットとして定義することができます。
このリソースセットは管理者権限を付与する際に選択でき、リソースセットとして定義した対象のみの管理権限を付与できます。

Resources > Create new resource set から作成できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/350435/b842843d-11d1-0439-6e2b-fcf8cf2f54ff.png)

リソースセットとして定義可能なリソースは以下の8種類です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/350435/52ee92fe-e9eb-9574-6a30-5164871588e1.png)




# 管理者権限の付与

Admins > Add administrator から権限を付与することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/350435/a3384ad3-51e3-70a3-93fe-276bf6e6a3d1.png)

Select admin で権限の付与対象（ユーザーもしくはグループ）を選択します。
基本的には個人ではなくグループで管理する方が、あとあと管理者追加するときに楽になります。
が、ここではとりあえず適当なユーザーを指定しています。

Roleでは付与するロールを選択します。
今回はApplication Administratorを指定しています。
Applications の Edit から権限を付与する対象のアプリを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/350435/c80dcecf-31b0-68c3-ff93-92ad12cb9115.png)

Constrain this role to the entire organization にチェックを入れると、すべてのアプリに対する管理権限を付与することができます。

Search by apps から特定のアプリを Add することで、特定アプリのみの管理権限を付与できます。
ただし、All Google Workspcaes apps のように、All ～ のアプリ指定した場合、Okta Integration NetworkでGoogle Workspace のアプリカタログから作成したすべてのアプリの管理権限が付与されることに注意してください。

また、権限付与する対象の選択時には、自分で作成したリソースセットも選択可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/350435/d7e2ada3-5611-e8bb-daff-423a0414f187.png)

# アプリの作成権限について

カスタムロールで選択可能な権限の中には Create Users や Create Groups という項目はありましたが、Create Applications という項目がありませんでした。

2023/12時点でOktaではアプリの作成権限のみを付与することはできません。

例えば、OINのアプリカタログから Google Workspace のアプリを作成できるような権限を付与したい場合、All Google Workspaces apps の権限を付与する必要があります。

ただその場合、先ほど記載したようにすべての Google Workspace アプリに対する権限も付与されてしまいます。
これは、Google Workspace だけではなく、OINに登録されているすべてのアプリに共通しています。

アプリの管理権限を分散したいなーと思っても、作成部分を切り出すことができないので少し不便な箇所かなと思います。
今後に期待ですね。


# さいごに

今回は管理者権限について記載しました。
リソースセットとロールの組み合わせで権限を付与することができます。
ただ、リソースは常に追加されるもののため、すべてをGUIから操作するのは結構大変です。
次回はグループを作成しリソースセットに追加するスクリプトを書いてみたいと思います。

今回はここまで。ありがとうございました。