🚀

[初心者向け] OktaのAPIを使ってユーザやグループを操作してみる

2021/12/02に公開

こんにちは、株式会社イエソドのtsukakeiです

これは、Okta Advent Calendar 2021 3日目の記事です!

OktaのAPIトークンを発行して、実際にAPIを通してユーザやグループを操作してみる一連の流れを紹介したいと思います!
簡単にできるので、ぜひトライしてみてください

準備

Oktaのトライアル環境を払い出す(必要な人だけ)

(Okta Advent Calendar 2021 1日目の記事に書かれていると思うので割愛します)

APIトークンを発行する

  1. 管理コンソールにログイン
  2. サイドメニューの SecurityAPI をクリック
  3. Tokensタブをクリックして🔑 Create Tokenをクリック
  4. Tokenの名前(変更不可なので注意!)を入れてCreate Tokenをクリック
    • 作成後に出てきたToken Valueを大事に保存しておいてください!

実行

上で取得したTokenとcurlコマンドを使って、OktaのAPI(Core Okta API)を叩きます
難しそうに聞こえますが、とても簡単です!

ユーザを作成してみる

まずAPIを通して、ユーザを作成してみましょう
下のコマンドのプレースホルダーを埋めて実行してみてください

  • ${api_token} → 上で保存したトークン
  • ${yourOktaDomain} → お使いのhoge.okta.com
curl -v -X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: SSWS ${api_token}" \
-d '{
  "profile": {
    "firstName": "Taro",
    "lastName": "YESOD",
    "email": "taro.yesod@example.com",
    "login": "taro.yesod@example.com"
  }
}' "https://${yourOktaDomain}/api/v1/users?activate=false"

Reference

実行すると、たしかにユーザが作成されています!

今回は、説明のために最も簡単なクレデンシャル情報なしのユーザを作成しました
Referenceには様々なクレデンシャルを持つユーザの作成方法もあるので、興味のある方は是非ご覧になってください

グループを作成してみる

次にグループを作成してみましょう
同様に、下のコマンドのプレースホルダーを埋めて実行してみてください

  • ${api_token} → 上で保存したトークン
  • ${yourOktaDomain} → お使いのhoge.okta.com
curl -v -X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: SSWS ${api_token}" \
-d '{
  "profile": {
    "name": "YESOD Teams",
    "description": "All Users of YESOD"
  }
}' "https://${yourOktaDomain}/api/v1/groups"

Reference

実行すると、たしかにグループが作成されています!

こうして、ユーザもグループも非常に簡単に作成することができました!
せっかくなので、新たに作成したグループに新たに作成したユーザを追加してみましょう

ユーザをグループに追加してみる

ユーザIDを確認する

ユーザIDはユーザ表示画面のURLで確認することができます

https://${yourOktaDomain}/admin/user/profile/view/${userId}

となっているので、${userId}を保存しておいてください

グループIDを確認する

グループIDはグループ表示画面のURLで確認することができます

https://${yourOktaDomain}/admin/group/${groupId}

となっているので、${groupId}を保存しておいてください

ユーザをグループに追加してみる

それではユーザをグループに追加してみましょう
下のコマンドのプレースホルダーを埋めて実行してみてください

  • ${api_token} → 上で保存したトークン
  • ${yourOktaDomain} → お使いのhoge.okta.com
  • ${groupId} → 保存したグループID
  • ${userId} → 保存したユーザID
curl -v -X PUT \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: SSWS ${api_token}" \
"https://${yourOktaDomain}/api/v1/groups/${groupId}/users/${userId}"

Reference

実行すると、たしかにグループにユーザが追加されています!

こうして簡単にユーザ作成・グループ作成・グループへのユーザ追加をすることができました!

最後に

APIトークンを発行して、ユーザ作成・グループ作成・グループへのユーザ追加をする一連の流れを紹介しました!
APIを使うと、手作業では大変な量のデータでも素早く、そして手堅く実行することができます
手作業で辛い思いをしている方の一助となれば幸いです!

他に参考になる記事

Oktaでグループにユーザを大量追加するのがダルい時に、APIを使って簡単に追加する手順

Discussion