メインコンテンツまでスキップ

Okta

Oktaを業務アセットとして接続すると、Oktaのアカウント・グループ・ロール・アプリケーションをYESODから管理できます。接続に必要な準備と、管理できる範囲を説明します。

概要​

Oktaは、クラウドベースのIDaaSを提供するプロバイダーです。企業やアプリケーションに対して、認証・認可の仕組みを提供します。

Oktaの製品群は、大きく次の3つに分かれます。

  • Okta Platform: すべてのOktaサービスの基盤となるクラウドIDプラットフォーム
  • Okta Workforce Identity: 社員・パートナーなど社内ユーザー向けのID管理製品群
  • Auth0 Platform: 顧客向けアプリケーションに組み込む開発者向けIDプラットフォーム

このうち、YESODの業務アセットが操作するのはOkta Workforce IdentityのUniversal Directoryです。

参照先URL
公式HPhttps://www.okta.com/ja-jp/products/workforce-identity/
公式ヘルプhttps://support.okta.com/help/s/translatedhome?language=ja
APIドキュメントhttps://developer.okta.com/docs/reference/

主要機能​

Okta Workforce Identityは、社員のアカウントを統合管理するサービスです。SSOやMFAで安全にアプリへアクセスさせ、入退社のライフサイクルまで自動化します。

認証とアクセス制御

  • シングルサインオン(SSO)
  • 多要素認証(MFA)
  • パスワードレス認証
  • 条件付きアクセス(リスクベース認証、場所やデバイスに応じた制御)

ディレクトリとアイデンティティ管理

  • Universal Directoryによるユーザー・グループ・属性の管理
  • カスタム属性やスキーマの拡張

ライフサイクル管理

  • ユーザーのプロビジョニングとデプロビジョニング(自動での作成・削除・更新)
  • 入社・異動・退職に伴うアカウントライフサイクルの自動化

セキュリティとポリシー

  • 認証ポリシー(パスワードポリシー、MFA要件の設定)
  • アクセス制御ポリシー(利用条件に応じた制限)
  • 監査ログとレポートによる追跡性の確保

管理と運用

  • 管理者ロールと権限分離(Super Admin、User Admin、App Adminなど)
  • REST API / SCIM / SDKによる外部システム連携
  • Okta Integration Network(OIN)によるSaaS連携

管理できること​

Universal Directoryの次の値を管理できます。

項目備考
アカウント管理アカウントの作成・削除(無効化)。属性同期による属性更新
グループの管理アカウントに対するグループの付与・剥奪。グループプッシュ(グループの作成/削除)
ロールの管理アカウントに対するロールの付与・剥奪
アプリケーションの管理アカウントに対するアプリケーションの付与・剥奪

事前に必要なもの​

  • Okta側で発行したAPIトークン
  • APIトークンを発行するユーザーの権限(「接続の準備」を参照)
  • Oktaの「API Access Managementの利用」

接続の準備​

Oktaとの接続には、APIトークンが必要です。

APIトークンの発行者に必要な権限​

次の権限を持つユーザーでAPIトークンを発行してください。

  • ユーザー: 「ユーザーを管理」
  • グループ: 「グループを管理」
  • IDおよびアクセス管理: 「ロール、リソース、管理者の割り当てを表示」
  • アプリケーション: 「アプリケーションを管理」

1つのロールでこれらの権限をまとめて持つ必要はありません。複数のロールを組み合わせて、上記の権限を持つユーザーでAPIトークンを作成できれば問題ありません。

Oktaの管理者ロールの権限設定画面で、ユーザー・グループ・IDおよびアクセス管理・アプリケーションの4区分の権限が選択されている状態

APIトークンを作成する​

  1. Oktaの管理画面のサイドメニューから「セキュリティ」>「API」へ移動します。

  2. 「トークン」タブを開きます。

  3. 「トークンの作成」ボタンを選択します。

  4. 任意のToken名を入力します。

  5. 「トークンの作成」を実行します。 トークン値が表示されます。

  6. 表示された「トークン値」を控えます。 この値を、YESODでの接続に使用します。

アカウントの作成​

Okta上に同一の「ログイン名」のアカウントが存在するかどうかに応じて、次のように動作します。

Oktaの状態動作
同一メールアドレスのアカウントがOktaに存在しないアカウントを新規作成します
同一メールアドレスの有効なアカウントがOktaに存在するそのアカウントの情報を更新します
同一メールアドレスの無効なアカウントがOktaに存在するそのアカウントを有効にして情報を更新します

パスワードの設定​

パスワードの設定に対応しています。

  • アカウント作成時にパスワードを生成しない場合、招待メールが送信されます。ユーザーは招待メールからパスワードを設定します。
  • アカウント作成時にパスワードを生成する場合、メールは送信されません。生成したパスワードを別途共有して、Oktaへアクセスしてもらいます。

アカウントの削除​

注意

Oktaのサービス仕様には「無効」と「削除」がありますが、業務アセット経由のアカウント削除では、Okta上での無効化が利用されます。

割当種別​

割当種別名タイプ割当項目備考
グループMultipleグループA、グループB、グループC…グループのタイプがOktaグループのもののみ管理対象です。Everyone, Okta Administratorsは、条件に合わせて自動的に割り当てられる特権グループでユーザーが操作できないため、管理対象外です。項目はOktaの管理画面のグループページ(/admin/groups)から確認できます
ロールMultipleスーパ管理者、組織管理者、アプリケーション管理者、グループ管理者、グループメンバーシップ管理者、ヘルプデスク管理者、モバイル管理者、レポート閲覧者、読み取り専用管理者…項目はOktaの管理画面の管理者ページのロールタブ(/admin/access/admins/permissions)から確認できます
アプリケーションMultipleOkta Admin Console、Okta Dashboard、Okta Browser Plugin…項目はOktaの管理画面のアプリケーションページ(/admin/apps/active)から確認できます

グループの割当順​

Oktaのグループは、割当の順番を指定できます。

  • 数字が小さいものから順にタスクが実行されます
  • 空の優先度は一番最後になります

OktaでGoogle Workspaceのアカウントを管理している場合に、一番最初にGoogle Workspaceの割当をしたいときなどに利用できます。

同期する項目​

同期できる項目は、OktaのProfileObjectとCredentialsObjectに依存します。

必須属性名keyデフォルト値型例備考
✅ユーザーの一意の識別子(username)user.profile.loginparams.domain != null ? String.substringBefore(user.email, "@") + "@" + params.domain : user.emailstring--
✅ユーザーのプライマリメールアドレスuser.profile.emailuser.emailstring--
-ユーザーのセカンダリ電子メールアドレスuser.profile.secondEmail-string-アカウントの回復に使用するメールアドレスです
-ユーザーの名(givenName)user.profile.firstNameuser.givenNameLocalPreferredstring--
-ユーザーの姓(familyName)user.profile.lastNameuser.familyNameLocalPreferredstring--
-ユーザーのミドルネームuser.profile.middleName-string--
-使用者の敬称の接頭辞。欧米言語では肩書きuser.profile.honorificPrefix-string--
-ユーザーの接尾辞user.profile.honorificSuffix-string--
-ユーザーの肩書き(副社長など)user.profile.title-string--
-エンドユーザーに表示するのに適したユーザー名user.profile.displayName-string--
-ニックネームuser.profile.nickName-string--
-ユーザーのオンラインプロフィールのURL(ウェブページなど)user.profile.profileUrl-string--
-自宅の電話番号など、ユーザーのプライマリ電話番号user.profile.primaryPhone-string--
-利用者の携帯電話番号user.profile.mobilePhone-string--
-ユーザーの住所の道路user.profile.streetAddress-string--
-ユーザーの住所の市区町村user.profile.city-string--
-ユーザーの住所の州または地域user.profile.state-string--
-郵便番号user.profile.zipCode-string--
-国コードuser.profile.countryCode-string-国コードが正しくないと無視されます。Oktaに反映されないまま、アカウントが作成されるため注意してください
-郵便住所user.profile.postalAddress-string--
-ユーザーが使う言語user.profile.preferredLanguage-string"ja-JP", "en-US"-
-ロケールuser.profile.locale-string"ja-JP", "en-US"-
-タイムゾーンuser.profile.timezone-string"Asia/Tokyo", "America/Los_Angeles"-
-「Employee(従業員)」や「Contractor(請負業者)」など、組織とユーザーの関係を表す値user.profile.userType-string--
-組織または会社から割り当てられたユーザー固有の識別子user.profile.employeeNumber-string--
-ユーザーに割り当てられたコストセンター名user.profile.costCenter-string--
-ユーザーの組織名user.profile.organization-stringuser.company[0].name-
-ユーザーが所属する「部門」の名前user.profile.division-stringuser.project[0].name-
-ユーザーが所属する「部署」の名前user.profile.department-stringuser.organization[0].name-
-ユーザーのマネージャーのIDuser.profile.managerId-string--
-ユーザーのマネージャーの表示名user.profile.manager-string--
-初期パスワードuser.credentials.password-string-指定しない場合、デフォルトではYESODが作成したパスワードになります
-カスタム属性user.profile.{カスタム属性の変数名}-string / boolean-stringCustomAttributeというカスタム属性の場合、キーの設定はuser.profile.stringCustomAttributeとなります。ユーザープロファイルで定義されていないカスタム属性をkeyとして指定した場合は、エラーになります。カスタム属性の設定で設けられている制約事項(stringの長さなど)に違反している場合も、エラーになります

グループプッシュ​

割当種別の「グループ」は、グループプッシュに対応しています。グループプッシュそのものの説明は、グループプッシュとはを参照してください。

グループの作成​

Okta上に同一の名前のグループが存在するかどうかに応じて、次のように動作します。

Oktaの状態動作
同一の名前のグループがOktaに存在しないグループを新規作成します
同一の名前のグループがOktaに存在する存在しているグループの情報を更新します

Oktaのグループには階層がありません。そのため、YESODの階層構造とは関係なく、すべてフラットに扱われます。

作成されたグループは、Oktaの管理画面のグループページ(/admin/groups)から確認できます。

グループの削除​

警告

削除したグループは完全削除されます。

グループプッシュで同期する項目​

必須属性名keyデフォルト値型例備考
✅グループの名前namegroup.groupNameLocalstring--
-グループの説明description-string--

関連ページ​