---
title: 【Okta】OktaとSaaSのログインIDと違ったから変換してシングルサインオンしてみた｜Nextmode Blog
description: "Oktaを経由して別メールアドレス（NameID)で運用しているGoogle WorkspaceにSAML認証でシングル・サインオンする設定\n少し特殊な使い方として、Okta側のメールアドレスとSaaS側のメールアドレスが異なる場合のOktaの設定についてご紹介します"
image: https://info.nextmode.co.jp/hubfs/Okta_Blog.png
---

[![nextmode blog](https://info.nextmode.co.jp/hubfs/raw_assets/public/NextMode_Theme/nextmode%20blog.png)](https://info.nextmode.co.jp/blog)

[ホワイトペーパー](https://info.nextmode.co.jp/white-paper/) [資料請求](https://info.nextmode.co.jp/request/) [お問い合わせ](https://nextmode.co.jp/contact/)

- [会社TOP](https://nextmode.co.jp/)
- [生成AIセキュリティ](https://nextmode.co.jp/services/ai/security/)
- [SaaSライセンス＆サポート](https://nextmode.co.jp/services/saas/)
  
    - [Oktaライセンス＆サポート](https://nextmode.co.jp/services/saas/okta/)
    - [Netskopeライセンス＆サポート](https://nextmode.co.jp/services/saas/netskope/)
    - [Notionライセンス＆サポート](https://nextmode.co.jp/services/saas/notion/)
    - [Asanaライセンス＆サポート](https://nextmode.co.jp/services/saas/asana/)
    - [SysCloudライセンス＆サポート](https://nextmode.co.jp/services/saas/syscloud/)
    - [CrowdStrikeライセンス＆サポート](https://nextmode.co.jp/services/saas/crowdstrike/)
- [AWS総合支援](https://nextmode.co.jp/services/aws/)
  
    - [AWS導入コンサル・構築](https://nextmode.co.jp/services/aws_consulting/)
    - [AWS運用・保守代行](https://nextmode.co.jp/services/aws_operation/)
- [導入事例](https://nextmode.co.jp/casestudy/)
- [会社情報](https://nextmode.co.jp/company/)
- [セミナー](https://info.nextmode.co.jp/seminar/)
- [ブログ](https://info.nextmode.co.jp/blog)

[![YouTube](https://nextmode.co.jp/assets/images/common/icon_youtube.svg)](https://www.youtube.com/@nextmode) <https://x.com/Nextmode_Inc>

目次

 2023/02/07 10:00

# 【Okta】OktaとSaaSのログインIDと違ったから変換してシングルサインオンしてみた

[» Okta](https://info.nextmode.co.jp/blog/tag/okta) [» 技術](https://info.nextmode.co.jp/blog/tag/技術)

[![kusumin](https://info.nextmode.co.jp/hs-fs/hubfs/kusumi.png?width=40&name=kusumi.png) kusumin](https://info.nextmode.co.jp/blog/author/kusumin)

共有： [facebook-f icon](http://www.facebook.com/share.php?u=https://info.nextmode.co.jp/blog/okta-sso-to-other-domain) [linkedin-in icon](http://www.linkedin.com/shareArticle?mini=true&url=https://info.nextmode.co.jp/blog/okta-sso-to-other-domain) [Twitter icon](https://twitter.com/intent/tweet?url=https://info.nextmode.co.jp/blog/okta-sso-to-other-domain) [pinterest-p icon](http://pinterest.com/pin/create/link/?url=https://info.nextmode.co.jp/blog/okta-sso-to-other-domain) [envelope icon](mailto:?body=https://info.nextmode.co.jp/blog/okta-sso-to-other-domain)

 

## はじめに

---

こんにちは、 [ネクストモード株式会社](https://nextmode.co.jp/) のSaaSおじさん久住です

ネクストモードではID統合管理（IDaaS）のOktaを利用して各SaaSへのシングル・サインオンやプロビジョニングの一元管理をしています

今回は少し特殊な使い方として、OktaとSaaS側のUsername（メールアドレス等）が異なる場合のOktaの設定についてご紹介します

## どんなケース？

---

企業で新システムへの移行タイミングやトライアル中は、メインで利用しているグループウェアなどの基幹システムへは既にID統制がなされていて手を加えられないことが多く、既存システムと切り離して別ドメインで検証することがあります

本番環境とセットで提供されるSandbox環境は`hogehoge@example.com.fuga`のように接尾語（`.fuga`）をつけるSaaSも存在します

また、`admin@` のような特定のメールアドレスに対してシングルサインオンしたいケースもあるかと思います

## ユースケース

---

OktaでID管理しているユーザーのメールアドレスとGoogle Workspaceのメールアドレスが異なるケースでお話します

Google WorkspaceへのシングルサインオンをSAML2.0で実施する場合のGoogle Workspaceの[NameIDフォーマット](https://support.google.com/a/answer/6330801)はメールアドレスとなります

### ケース１：違うIDにログイン

Google Workspaceで `admin@example.com` のようなadminアカウントを持っていたとして、Oktaからadminアカウントにシングルサインオンしたいというケースです

- ユーザー：久住（SaaS管理者） 
    - Oktaに **`kusumi@example.com`** で登録
    - Google Workspaceには `admin@example.com` でログイン

![okta-username-custom-01](https://info.nextmode.co.jp/hs-fs/hubfs/okta-username-custom-01.png?width=700&height=666&name=okta-username-custom-01.png)

Oktaでadminアカウント専用Google Workspaceのアプリを作成し、SAML認証の設定を進めます

今回はSAML認証設定の説明は省略しますが詳しくは[Okta社のドキュメント](https://saml-doc.okta.com/SAML_Docs/How-to-Enable-SAML-2.0-in-Google-Apps.html)を御覧ください

SAML認証の設定が完了したら、  `Application username format` を編集します

![Okta-Custom-004](https://info.nextmode.co.jp/hs-fs/hubfs/okta-sso-004-png.png?width=700&height=936&name=okta-sso-004-png.png)

下記の通り、 `Custom` を選択して固定値で`"``admin@example.com"` を入力して `Save`をクリックします

![Okta-Custom-005](https://info.nextmode.co.jp/hs-fs/hubfs/okta-sso-005-png.png?width=700&height=450&name=okta-sso-005-png.png)

最後に適切なメンバーにアサインして完了です

![Okta-Custom-006](https://info.nextmode.co.jp/hs-fs/hubfs/okta-sso-006-png.png?width=700&height=357&name=okta-sso-006-png.png)

注意点としてはアサインしたOktaユーザーは変換後のユーザーとしてのログインしかできないことです

今回のケースで説明すると、一般ユーザーと管理者ユーザーそれぞれでログインしたい場合はOktaに管理者ユーザー用のアカウントを別途作成する必要があります

### ケース２：ドメインが異なる場合

次は、Oktaで管理しているユーザーとGoogle Workspaceのユーザーのドメインが異なるケースです

ユーザー名は同一でドメインのみ異なる場合を想定して考えてみます

- John, Steve 
    - Oktaに `@example.com`で登録

- - Google Workspaceには `@example.net` でログイン

![okta-username-custom-02](https://info.nextmode.co.jp/hs-fs/hubfs/okta-username-custom-02.png?width=700&height=514&name=okta-username-custom-02.png)

ケース１と同様に `Application username format` の編集で対応します

先程の画面をもう一度見てみると[Expression Language Reference](https://developer.okta.com/docs/reference/okta-expression-language/)という記述があります

[SpEL式言語](https://docs.spring.io/spring-framework/docs/3.0.x/reference/expressions.html)に基づいて関数を記述でき、SAML認証に必要なNameID属性の値（Application username formatの値）を変更することが出来ます

![Okta-Custom-007](https://info.nextmode.co.jp/hs-fs/hubfs/okta-sso-007-png.png?width=700&height=450&name=okta-sso-007-png.png)

今回はGoogle WorkspaceにアサインされたユーザーのNameIDを `@example.com` から `@example.net` に変更するので下記の式となります

```
String.substringBefore(user.login, "@") + "@example.net"
```

**String.substringBefore**を利用すると、２番目に指定した引数の文字列の前までを取ってくるので、その後ろにドメインを追加しています

正しい構文となっているか、プレビュー機能を利用することで確認することが可能ですので、ユーザーを入力して確認してみましょう

![Okta-Custom-008](https://info.nextmode.co.jp/hs-fs/hubfs/okta-sso-008-png.png?width=700&height=488&name=okta-sso-008-png.png)

最後に適切なメンバーにアサインして完了です

### ケース３：組織毎にドメインが異なる場合

最後に、組織毎にGoogle Workspaceのドメインが違うケースを考えてみたいと思います

グループ会社全体で利用している場合などではセキュリティポリシー上、Google Workspaceのドメイン分割が必要となることもあるかもしれません

- ユーザー：John 
    - Oktaに `@example.com` で登録
    - Google Workspaceには `@example.net`でログイン
- ユーザー：Steve, Mary 
    - Oktaに `@example.com`で登録
    - Google Workspaceには`@sub.example.net`でログイン

![okta-username-custom-03](https://info.nextmode.co.jp/hs-fs/hubfs/okta-username-custom-03.png?width=700&height=508&name=okta-username-custom-03.png)

まず、Johnを特定のOktaグループに所属させます（実際に設定する際は部署毎やRole毎にグループを作成しているかと思いますのでそちらを利用すると良いでしょう）

![Okta-Custom-009](https://info.nextmode.co.jp/hs-fs/hubfs/okta-sso-009-png.png?width=700&height=301&name=okta-sso-009-png.png)

次にJohnが所属しているOktaグループのGroupIDを取得するのですが、先程作成したグループの管理画面上のURLの最後の文字列がGroupIDとなります

https://hogehoge-admin.okta.com/admin/group/ `1234567891234`

Johnの所属するGroupIDが確認できたら、**Johnが所属するOktaグループは@example.net, それ以外は@sub.example.net**という設定をします

```
isMemberOfGroup("1234567891234") ? String.substringBefore(user.login, "@") + "@example.net" : String.substringBefore(user.login, "@") + "@sub.example.net"
```

 こちらでは特定のOktaグループに所属しているかによってTrue/Falseを返す**isMemberOfGroup**と条件式を利用して、特定のOktaグループに所属していたら `@example.com` をつけ、そうでなければ `@sub.example.net` をつけています

最後にメンバーのアサインですが、Expression LanguageでGroupIDを利用しているのでGroupでアサインをします

![Okta-Custom-010](https://info.nextmode.co.jp/hs-fs/hubfs/okta-sso-010-png.png?width=700&height=373&name=okta-sso-010-png.png)

## 注意事項

---

Application username formatでCustomを利用するためには[Universal Directory](https://www.okta.com/jp/products/universal-directory/)というオプションライセンスが必要となります

ユーザーの自動プロビジョニングなど入退社の管理に有用な[Lifecycle Management](https://www.okta.com/jp/products/lifecycle-management/)を利用するためにも必須機能となりますので利用しない手は思います<https://help.okta.com/en/prod/Content/Topics/users-groups-profiles/usgp-group-push-prerequisites.htm>

## さいごに

---

最初にこのような要件が必要な場面に遭遇したときは「あ、終わったかも・・・」と思ったのですが、Expression LanguageとOktaの柔軟な機能に助けられました

今回ご紹介した内容はUniversal Directoryに含まれる機能が多いですが、Universal Directoryはまだまだ奥が深いので引き続きご紹介したいと思います

[![SaaSLP\_バナー\_20241112更新](https://hubspot-no-cache-na2-prod.s3.amazonaws.com/cta/default/20481958/interactive-182067640399.png)](https://info.nextmode.co.jp/hs/cta/wi/redirect?encryptedPayload=AVxigLI%2Bd%2F162tNOEgc%2BoOrZXLKuKQRPLFwpM6%2FtD%2FFrfjxnTqFg379ze1YVv%2FVRPVPImVFCkPOvhkK00t%2FBbN2jP6S8C15WUB14CRfex%2BSp%2BOdL7ggKJKJ3U8aw7N5xoKWOeAHxxVHIwbGJHmysOdLbbjW%2F2i1vg02nsXK7JhIJ5MmwBsS91yBPNXyYCL0nEg%3D%3D&webInteractiveContentId=182067640399&portalId=20481958)

### 関連記事

[![【Oktane26】セッション：Okta Workflows 顧客事例と今後のロードマップ](https://info.nextmode.co.jp/hubfs/%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%BF%E3%82%AD%E3%83%BC%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB/oktane26.png) 【Oktane26】セッション：Okta Workflows 顧客事例と今後のロードマップ ![](https://info.nextmode.co.jp/hubfs/kusumi.png) kusumin 2026/09/24](https://info.nextmode.co.jp/blog/oktane26-workflows-flowcase)

[![【Oktane26】セッション：AI エージェント接続の安全と使いやすさを両立する Cross App Access](https://info.nextmode.co.jp/hubfs/%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%BF%E3%82%AD%E3%83%BC%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB/oktane26.png) 【Oktane26】セッション：AI エージェント接続の安全と使いやすさを両立する Cross App Access ![](https://info.nextmode.co.jp/hubfs/avator_yukinawa.jpg) yuki 2026/09/24](https://info.nextmode.co.jp/blog/oktane26-cross-app-access-ai-agents)

[![【Oktane26】Day3 基調講演：How Did I Get Here?: The Ascent of an Unlikely CEO](https://info.nextmode.co.jp/hubfs/%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%BF%E3%82%AD%E3%83%BC%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB/oktane26.png) 【Oktane26】Day3 基調講演：How Did I Get Here?: The Ascent of an Unlikely CEO ![](https://info.nextmode.co.jp/hubfs/oharafu.png) おはらふ 2026/09/24](https://info.nextmode.co.jp/blog/oktane26-day3-keynote)

### Category

[» 技術](https://info.nextmode.co.jp/blog/tag/技術) [» Okta](https://info.nextmode.co.jp/blog/tag/okta) [» Notion](https://info.nextmode.co.jp/blog/tag/notion) [» イベントレポート](https://info.nextmode.co.jp/blog/tag/イベントレポート) [» Netskope](https://info.nextmode.co.jp/blog/tag/netskope) [» CrowdStrike](https://info.nextmode.co.jp/blog/tag/crowdstrike) [» Notion AI](https://info.nextmode.co.jp/blog/tag/notion-ai) [» AWS](https://info.nextmode.co.jp/blog/tag/aws) [» Asana](https://info.nextmode.co.jp/blog/tag/asana) [» カルチャー](https://info.nextmode.co.jp/blog/tag/カルチャー) [» ワーケーション](https://info.nextmode.co.jp/blog/tag/ワーケーション) [» 生成AIセキュリティ対策シリーズ](https://info.nextmode.co.jp/blog/tag/生成aiセキュリティ対策シリーズ) [» Oktane25](https://info.nextmode.co.jp/blog/tag/oktane25) [» SaaS](https://info.nextmode.co.jp/blog/tag/saas) [» re:Invent](https://info.nextmode.co.jp/blog/tag/reinvent) [» AI](https://info.nextmode.co.jp/blog/tag/ai) [» リモートワーク](https://info.nextmode.co.jp/blog/tag/リモートワーク) [» Keeper](https://info.nextmode.co.jp/blog/tag/keeper) [» ネクストモードアドベントカレンダー2024](https://info.nextmode.co.jp/blog/tag/ネクストモードアドベントカレンダー2024) [» Oktane24](https://info.nextmode.co.jp/blog/tag/oktane24) [» Oktane23](https://info.nextmode.co.jp/blog/tag/oktane23) [» Asana AI](https://info.nextmode.co.jp/blog/tag/asana-ai) [» Slack](https://info.nextmode.co.jp/blog/tag/slack) [» Oktane26](https://info.nextmode.co.jp/blog/tag/oktane26) [» OIGシリーズ](https://info.nextmode.co.jp/blog/tag/oigシリーズ) [» その他](https://info.nextmode.co.jp/blog/tag/その他) [» 脱Excelシリーズ](https://info.nextmode.co.jp/blog/tag/脱excelシリーズ) [» Oktane22](https://info.nextmode.co.jp/blog/tag/oktane22) [» SysCloud](https://info.nextmode.co.jp/blog/tag/syscloud) [» Google](https://info.nextmode.co.jp/blog/tag/google) [» HubSpot](https://info.nextmode.co.jp/blog/tag/hubspot) [» Zapier](https://info.nextmode.co.jp/blog/tag/zapier) [» Azure AD](https://info.nextmode.co.jp/blog/tag/azure-ad) [» Entra ID](https://info.nextmode.co.jp/blog/tag/entra-id) [» Googleドライブ](https://info.nextmode.co.jp/blog/tag/googleドライブ) [» SentinelOne](https://info.nextmode.co.jp/blog/tag/sentinelone) [» ゼロトラスト](https://info.nextmode.co.jp/blog/tag/ゼロトラスト) [» DocuSign](https://info.nextmode.co.jp/blog/tag/docusign) [» Jamf](https://info.nextmode.co.jp/blog/tag/jamf) [» セキュリティ対策](https://info.nextmode.co.jp/blog/tag/セキュリティ対策) [» トラブルシューティング](https://info.nextmode.co.jp/blog/tag/トラブルシューティング) [» 利用者目線](https://info.nextmode.co.jp/blog/tag/利用者目線) [» 運用](https://info.nextmode.co.jp/blog/tag/運用) [» GitHub](https://info.nextmode.co.jp/blog/tag/github) [» GitHub Gist](https://info.nextmode.co.jp/blog/tag/github-gist) [» JOUG](https://info.nextmode.co.jp/blog/tag/joug) [» Notion Calendar](https://info.nextmode.co.jp/blog/tag/notion-calendar) [» Proflly](https://info.nextmode.co.jp/blog/tag/proflly) [» kintone](https://info.nextmode.co.jp/blog/tag/kintone)

[![ネクストモード株式会社](https://nextmode.co.jp/assets/images/common/logo_white.svg)](https://nextmode.co.jp/)

Service

- [生成AIセキュリティ](https://nextmode.co.jp/services/ai/security/)
- [SaaSライセンス＆サポート](https://nextmode.co.jp/services/saas/) 
    - [Oktaライセンス＆サポート](https://nextmode.co.jp/services/saas/okta/)
    - [Netskopeライセンス＆サポート](https://nextmode.co.jp/services/saas/netskope/)
    - [Notionライセンス＆サポート](https://nextmode.co.jp/services/saas/notion/)
    - [Asanaライセンス＆サポート](https://nextmode.co.jp/services/saas/asana/)
    - [SysCloudライセンス＆サポート](https://nextmode.co.jp/services/saas/syscloud/)
    - [CrowdStrikeライセンス＆サポート](https://nextmode.co.jp/services/saas/crowdstrike/)
    - [Keeperライセンス＆サポート](https://nextmode.co.jp/services/saas/keeper/)
- [AWS総合支援](https://nextmode.co.jp/services/aws/) 
    - [AWS導入コンサル・構築](https://nextmode.co.jp/services/aws_consulting/)
    - [AWS運用・保守代行](https://nextmode.co.jp/services/aws_operation/)

Company

- [会社情報](https://nextmode.co.jp/company/)
- [サービス一覧](https://nextmode.co.jp/services/)
- [導入事例](https://nextmode.co.jp/casestudy/)
- [お知らせ](https://nextmode.co.jp/news/)
- [サステナビリティ](https://nextmode.co.jp/sustainability/)
- [採用](https://nextmode.co.jp/recruit/)
- [私たちの働き方](https://nextmode.co.jp/workstyle/)
- [カルチャー](https://nextmode.co.jp/culture/)

Contact

- [お問い合わせ](https://nextmode.co.jp/contact/)
- [資料請求](https://info.nextmode.co.jp/request/)

Media

- [セミナー](https://info.nextmode.co.jp/seminar)
- [ブログ](https://info.nextmode.co.jp/blog)
- [ホワイトペーパー](https://info.nextmode.co.jp/white-paper/)

- [![ネクストモード公式YouTubeチャンネル](https://nextmode.co.jp/assets/images/common/icon_youtube.svg)](https://www.youtube.com/channel/UCeW8ocoe9C3E0GOINh167MA)
- [![ネクストモード公式Xアカウント](https://nextmode.co.jp/assets/images/common/icon_x.svg)](https://twitter.com/Nextmode_Inc)

[English](https://nextmode.co.jp/en/)

- [NTTグループカスタマーハラスメント基本方針](https://group.ntt/jp/group/customer_harassment/)
- [就活ハラスメント防止方針](https://docs.nextmode.co.jp/nextmode_recruit_harassment.pdf)

- 運用アシスタント利用規約([AWS](https://docs.nextmode.co.jp/nextmode-unyo-assistant-aws-terms-of-use.pdf)/[Azure](https://docs.nextmode.co.jp/nextmode-unyo-assistant-azure-terms-of-use.pdf))
- [日中運用支援定型約款](https://docs.nextmode.co.jp/nextmode-nittyu-unyo-shien-terms-of-use.pdf)
- [定型約款](https://docs.nextmode.co.jp/nextmode-standard-contracts.pdf)

[プライバシーポリシー](https://nextmode.co.jp/company/privacy.html)

Copyright(c) Nextmode, Inc.

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "kusumin",
    "url" : "https://info.nextmode.co.jp/blog/author/kusumin"
  },
  "dateModified" : "2026-03-04T02:54:23.213Z",
  "datePublished" : "2023-02-07T01:00:00.000Z",
  "headline" : "【Okta】OktaとSaaSのログインIDと違ったから変換してシングルサインオンしてみた｜Nextmode Blog",
  "image" : [ "https://info.nextmode.co.jp/hubfs/Okta_Blog.png" ],
  "mainEntityOfPage" : {
    "@id" : "https://info.nextmode.co.jp/blog/okta-sso-to-other-domain",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://info.nextmode.co.jp/hubfs/nm_l_color.png"
    },
    "name" : "ネクストモード株式会社"
  }
}
```

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://nextmode.co.jp/#organization",
  "@type" : "Organization",
  "alternateName" : "Nextmode, Inc.",
  "logo" : "https://nextmode.co.jp/assets/images/common/logo_white.svg",
  "name" : "ネクストモード株式会社",
  "sameAs" : [ "https://www.youtube.com/channel/UCeW8ocoe9C3E0GOINh167MA", "https://twitter.com/Nextmode_Inc", "https://info.nextmode.co.jp/" ],
  "url" : "https://nextmode.co.jp/"
}
```