APIの権限を絞りたい場合
様々な理由によって、OktaのAPIを利用したいパターンはあると思う。
その際に問題となるのはAPITokenそのものの権限についてである。
例えば、AppAdmin権限だけのAPIToken発行をしようとすると通常は出来ない。
これはそもそもAppAdminだけだとToken発行そのものが出来ないからである。
OktaのTokenとはどのようなものか。
但し、OktaのTokenは発行したユーザに紐づくため、通常は
AさんをAdminにする
AさんにログインしてもらいTokenを作ってもらう
Tokenを使用してAさんの権限内のAPIを利用してもらう
という流れになる。つまり発行後に権限設定するわけではなく、発行したユーザの権限がそのまま委譲されることになるのである。
これを応用すると、AppAdmin自体は、API権限としてはアプリ関連の権限しか持たないため、ユーザー関連のAPIは利用できないが、App Adminを持つユーザにアプリに関わるGroup Adminを付加して、(SuperAdmin以外は複数のAdmin権限を一人のユーザが持つことが可能である)
APITokenを払い出せば、AppAdmin権限を持つAPITokenを払い出すことが可能である。
この場合、本当にAppAdmin権限だけが必要な場合は、Token発行後に、GroupAdmin権限をはく奪すればよい。
尚、上記にも記載されているが、APITokenの有効期限はデフォルト一か月後で期限変更も不可であるが、利用する度に自動的に延伸される。
なので、全く利用しなくなったAPITokenは自動的に無効化されるためセキュリティ的にも安全である。