HC
橋爪兼続
2023/07/25
最近、企業のITシステムにおいて、利用者アカウントやグループ管理に関するSCIMという言葉をよく耳にしますが、SCIMとは一体何なのでしょうか。 今回は、SCIMの特徴や仕組み、SAMLとの違い、そしてそのメリットを詳しく解説します。
SCIMとは
SCIM(System for Cross-domain Identity Management)は、様々なドメイン間でユーザID情報のやりとりを自動化する際に使用される規格です。 インターネット技術の標準化機関であるIETF(Internet Engineering Task Force)によって標準化されたこの規格により、従来のIDデータ交換手法の問題を解決し、多くの利点を得られます。
SCIMが求められた背景
SCIMが規格化された背景には、クラウドベースのITシステムの普及、Active Directoryの限界、情報セキュリティの問題等が存在します。 例えば、ある企業がSalesforceやGoogle Workspaceなど複数のサービスを活用している場合、それぞれ異なるアカウントを使わざるを得ない状況が発生し、複数の利用者認証情報を管理する必要が生じていました。 そこで、SCIMという標準規格を導入することにより、利用者認証情報を一元的に管理でき、効率的かつセキュリティの高いアクセス管理が可能となりました。
シングルサインオンを実現するには
異なるドメイン間でのID・パスワード管理はセキュリティ対策が必須です。 しかし、前身のSAMLでのセキュリティ方式は複雑な処理と拡張性に難がありました。 そのため、SAMLで使われる同タイプの通信プロトコルを使いながら、SAMLでの問題点を解消した規格がSCIMです。
シングルサインオンの問題点
シングルサインオンでは、複数のシステムを一度の認証で利用できるようになりましたが、社内ネットワークで問題を抱えていました。 それは、一人の社員が複数のID管理を必要とし、使うシステムごとに違ったIDを認証しなければならないことです。 同じユーザーで、一つのIDですべてのシステムに認証できる規格が求められました。
SCIMの仕組み
次にSCIMの仕組みを見ていきましょう。
SCIMの通信形式
SCIMは、インターネットで広く使われるHTTPを通信形式として採用しており、多くの場合、企業のファイアウォール制限下でも問題なく動作します。 また、HTTPSを使用するため、ユーザID認証情報を、安全に受け渡すことができます。
JSON+HTTPで認証情報をやり取り
SCIMは、JSON形式の利用者認証情報をHTTPを使ってIdP(Identity Provider)やSP(Service Provider)間で共有することで、IDプロビジョニングの自動化を可能にします。 また、JSONはテキストデータのため、軽量で、多くのプログラミング言語で扱いやすい言語です。 その為、互換性が向上します。
ユーザー認証情報の変更も自動的に同期
SCIMを利用することで、IdPとSP間で利用者認証情報の作成、更新、削除が自動的に同期され、効率的なID管理ができます。 これにより、退職者や異動者のアカウントの更新忘れ等のセキュリティリスクの軽減が可能です。
SCIMの特徴
SCIMの特徴にはどういったものがあるのでしょうか。 ここでは、SCIMの特徴を紹介します。
標準化されたユーザー管理の仕組み
SCIMは、IETFによって標準化されたネットワーク技術と連携が容易な規格のため、広く知られています。 以下のRFCによって、SCIMの仕様が詳細に定義されています。
RFC7642: 定義、概要、概念、要件やユースケース
RFC7643: コアスキーマ
RFC7644: プロトコル
WebAPIとして使えるためのポイント
SCIMは、利用者情報における様々な操作(追加、削除など)をAPIとしてWebサーバーに実装する事が可能です。 SCIMではWebAPIとして活用できるように以下の3つの要素が使用されます。
ネットワーク上に公開されたサーバーのベースID(例:https://scim.auth.iij.jp/scim/v2/Users/12345)
リソースタイプ(User,Group,Selfなど)
アカウントIDに適した識別子
また、WebAPIを利用する際はOAuth2.0による認証が推奨されます。 その為、利用する際は前もってアクセストークンなどを手に入れておく必要があります。
スキーマを拡張できる
SCIMは標準規格としてスキーマ(データベース構造)が搭載されています。そのため、SCIMではWebAPを通じてスキーマを拡張することが可能です。 データベースの属性を決定したり、拡張したスキーマでの変更も同期されるのがSCIMの特徴です。
SCIMとSAMLの役割の違い
SCIMとSAMLは異なる役割を持つプロトコルです。
SCIMがIDプロビジョニング*に焦点を当てているのに対して、SAMLはフェデレーション(一度認証されれば許可されたすべてのサービスやシステムが使用可能)実現することを目的としています。
これらの違いを理解し、適切なプロトコルを用いることで、効率的な運用を実現することが可能です。 *システムやサービスの需要に応じて、サーバーやネットワークなどのITインフラ設備を調達・設定することを「プロビジョニング」と呼びます。
SCIMを利用するメリットとは
SCIMを利用することで得られるメリットは一体なんでしょうか。
ここでは、SCIM利用におけるメリットを紹介します。
認可を強化できる
SCIMを利用することで、アクセス権の一元的な管理と自動化されたIDプロビジョニングが実現され、「認可」が強化されます。 これは、現代のID管理において重要なメリットであり、企業や組織がセキュリティを向上させるために役立ちます。
管理者の負担を軽減できる
SCIMを利用することで、管理者はアカウント管理に関する負担を軽減できます。 これは、アカウント登録や退職者情報削除の効率化、内部監査への対応力向上によるもので、企業において実務的なメリットをもたらします。
そのためSCIMの導入は、管理者の業務効率向上に貢献し、組織全体のセキュリティと運用効率を高めるために有益です。
SCIMを利用できるクラウドサービスとは
SCIMはID管理の負担を減らす便利な規格であり、すでにいくつかの主要クラウドサービスで利用が可能です。
ただし、SAMLなどのフェデレーション規格に比べてまだ普及率は低いものの、今後さらなる普及が期待されます。
SCIMが利用できるクラウドサービスは以下の通りです。
GoogleWorkspace
Salesforce
Azure AD/Microsoft365
Slack
SAP
SCIMが利用できるID管理システムとは
クラウドサービスとのIDプロビジョニングがID管理システムの重要な機能であり、SCIMはこの目的のために広く採用されています。
そのため多くのID管理システムがSCIMを利用してクラウドサービスとのID連携を実現し、効率的なID管理を実現しています。
これにより、企業はセキュリティの向上や運用効率の向上が期待できるでしょう。
SCIMとは
最近、企業のITシステムにおいて、利用者アカウントやグループ管理に関するSCIMという言葉をよく耳にしますが、SCIMとは一体何なのでしょうか。 今回は、SCIMの特徴や仕組み、SAMLとの違い、そしてそのメリットを詳しく解説します。
SCIM(System for Cross-domain Identity Management)は、様々なドメイン間でユーザID情報のやりとりを自動化する際に使用される規格です。 インターネット技術の標準化機関であるIETF(Internet Engineering Task Force)によって標準化されたこの規格により、従来のIDデータ交換手法の問題を解決し、多くの利点を得られます。
SCIMが求められた背景
SCIMが規格化された背景には、クラウドベースのITシステムの普及、Active Directoryの限界、情報セキュリティの問題等が存在します。 例えば、ある企業がSalesforceやGoogle Workspaceなど複数のサービスを活用している場合、それぞれ異なるアカウントを使わざるを得ない状況が発生し、複数の利用者認証情報を管理する必要が生じていました。 そこで、SCIMという標準規格を導入することにより、利用者認証情報を一元的に管理でき、効率的かつセキュリティの高いアクセス管理が可能となりました。
シングルサインオンを実現するには
異なるドメイン間でのID・パスワード管理はセキュリティ対策が必須です。 しかし、前身のSAMLでのセキュリティ方式は複雑な処理と拡張性に難がありました。 そのため、SAMLで使われる同タイプの通信プロトコルを使いながら、SAMLでの問題点を解消した規格がSCIMです。
シングルサインオンの問題点
シングルサインオンでは、複数のシステムを一度の認証で利用できるようになりましたが、社内ネットワークで問題を抱えていました。 それは、一人の社員が複数のID管理を必要とし、使うシステムごとに違ったIDを認証しなければならないことです。 同じユーザーで、一つのIDですべてのシステムに認証できる規格が求められました。
詳細はこちら
SCIMの仕組み
次にSCIMの仕組みを見ていきましょう。
SCIMの通信形式
SCIMは、インターネットで広く使われるHTTPを通信形式として採用しており、多くの場合、企業のファイアウォール制限下でも問題なく動作します。 また、HTTPSを使用するため、ユーザID認証情報を、安全に受け渡すことができます。
JSON+HTTPで認証情報をやり取り
SCIMは、JSON形式の利用者認証情報をHTTPを使ってIdP(Identity Provider)やSP(Service Provider)間で共有することで、IDプロビジョニングの自動化を可能にします。 また、JSONはテキストデータのため、軽量で、多くのプログラミング言語で扱いやすい言語です。 その為、互換性が向上します。
ユーザーID情報の変更も自動的に同期 を使用して
SCIMを利用することで、IdPとSP間で利用者認証情報の作成、更新、削除が自動的に同期され、効率的なID管理ができます。 これにより、退職者や異動者のアカウントの更新忘れ等のセキュリティリスクの軽減が可能です。
SCIMの特徴
SCIMの特徴にはどういったものがあるのでしょうか。 ここでは、SCIMの特徴を紹介します。
標準化されたユーザー管理の仕組み
SCIMは、IETFによって標準化されたネットワーク技術と連携が容易な規格のため、広く知られています。 以下のRFCによって、SCIMの仕様が詳細に定義されています。
RFC7642: 定義、概要、概念、要件やユースケース
RFC7643: コアスキーマ
RFC7644: プロトコル
WebAPIとして使えるためのポイント
SCIMは、利用者情報における様々な操作(追加、削除など)をAPIとしてWebサーバーに実装する事が可能です。 SCIMではWebAPIとして活用できるように以下の3つの要素が使用されます。
ネットワーク上に公開されたサーバーのベースID(例:https://scim.auth.iij.jp/scim/v2/Users/12345)
リソースタイプ(User,Group,Selfなど)
アカウントIDに適した識別子
また、WebAPIを利用する際はOAuth2.0による認証が推奨されます。 その為、利用する際は前もってアクセストークンなどを手に入れておく必要があります。
スキーマを拡張できる
SCIMは標準規格としてスキーマ(データベース構造)が搭載されています。そのため、SCIMではWebAPを通じてスキーマを拡張することが可能です。 データベースの属性を決定したり、拡張したスキーマでの変更も同期されるのがSCIMの特徴です。
詳細はこちら
SCIMとSAMLの役割の違い
SCIMとSAMLは異なる役割を持つプロトコルです。
SCIMがIDプロビジョニング*に焦点を当てているのに対して、SAMLはフェデレーション(一度認証されれば許可されたすべてのサービスやシステムが使用可能)実現することを目的としています。
これらの違いを理解し、適切なプロトコルを用いることで、効率的な運用を実現することが可能です。 *システムやサービスの需要に応じて、サーバーやネットワークなどのITインフラ設備を調達・設定することを「プロビジョニング」と呼びます。
SCIMを利用するメリットとは
SCIMを利用することで得られるメリットは一体なんでしょうか。
ここでは、SCIM利用におけるメリットを紹介します。
認可を強化できる
SCIMを利用することで、アクセス権の一元的な管理と自動化されたIDプロビジョニングが実現され、「認可」が強化されます。 これは、現代のID管理において重要なメリットであり、企業や組織がセキュリティを向上させるために役立ちます。
管理者の負担を軽減できる
SCIMを利用することで、管理者はアカウント管理に関する負担を軽減できます。 これは、アカウント登録や退職者情報削除の効率化、内部監査への対応力向上によるもので、企業において実務的なメリットをもたらします。
そのためSCIMの導入は、管理者の業務効率向上に貢献し、組織全体のセキュリティと運用効率を高めるために有益です。
SCIMを利用できるクラウドサービスとは
SCIMはID管理の負担を減らす便利な規格であり、すでにいくつかの主要クラウドサービスで利用が可能です。
ただし、SAMLなどのフェデレーション規格に比べてまだ普及率は低いものの、今後さらなる普及が期待されます。
SCIMが利用できるクラウドサービスは以下の通りです。
GoogleWorkspace
Salesforce
Azure AD/Microsoft365
Slack
SAP
SMP周辺領域ガイド (ホワイトペーパーまとめ)
詳細はこちら
SCIMが利用できるID管理システムとは
クラウドサービスとのIDプロビジョニングがID管理システムの重要な機能であり、SCIMはこの目的のために広く採用されています。
そのため多くのID管理システムがSCIMを利用してクラウドサービスとのID連携を実現し、効率的なID管理を実現しています。
これにより、企業はセキュリティの向上や運用効率の向上が期待できるでしょう。
よくある質問
SCIMとは?
SCIMとは、クラウドサービスにおけるアイデンティティ管理を効率化するための標準プロトコルです。このプロトコルは、ユーザーアカウントの作成、変更、削除などのアイデンティティ関連のタスクを自動化および標準化することを目的としています。主な目的は、クラウドベースのサービスやアプリケーションにおけるユーザーアカウントの統合と同期を簡素化し、効率化することです。これにより、組織が異なるシステム間で一貫したアイデンティティ管理を行う際の手間やリスクを削減できます。SCIMは、RESTful APIを基盤とし、JSONやXMLなどのデータ形式を利用してアイデンティティ情報を取得・更新・削除する方法を規定しています。また、クラウドプロバイダーと企業が連携して効率的にユーザーアカウントを管理するための標準的な手段として採用されています。
IDプロバイダーがこのプロトコルをサポートすることで、シングルサインオン(SSO)やグループ内のユーザーの属性を効率的に管理できます。具体的には、SCIMはクラウドサービスにおけるユーザーアカウントやグループのプロビジョニング(提供)を行う際に利用されます。これにより、情報システム間でユーザーアカウントの作成や属性の同期、所属するグループの管理が効率化され、一貫性が保たれます。SCIMはクラウド環境でのアイデンティティ管理をスムーズにし、セキュリティを強化します。
SCIMとSAMLの違いは何ですか?
SCIM:SCIMはIDプロビジョニングに焦点を当てています。つまり、ユーザーアカウントの作成や管理、属性の同期など、異なるシステム間でユーザーID情報を効率的にやり取りすることに特化しています。
SAML(Security Assertion Markup Language):SAMLはフェデレーションを実現することを目的としています。フェデレーションとは、一度認証されれば許可されたすべてのサービスやシステムが使用可能となる仕組みを指します。ユーザーが一度認証すると、その認証情報が信頼される他のサービスにも共有されます。
要するに、SCIMはユーザーアカウントの管理を重視し、SAMLはシングルサインオンや認証情報の信頼された共有を重視しています。それぞれが異なる役割を担っており、適切な状況で使われることで、効果的なアイデンティティ管理が可能となります。
SCIMを導入するメリット・デメリットは?
SCIMを導入するメリットは以下の通りです。
効率的なID管理:SCIMを利用することで、IdP(Identity Provider)とSP(Service Provider)間で利用者認証情報の作成、更新、削除が自動的に同期されるため、効率的なID管理が可能です。
セキュリティリスクの軽減:退職者や異動者のアカウントの更新漏れなどのセキュリティリスクを軽減できます。自動的な同期により、アカウントの正確な管理が行われ、セキュリティの強化に貢献します。
SCIMの導入により、ユーザーアカウントの管理を効率化し、セキュリティを強化することができます。
SCIMの導入にはいくつかのデメリットが考えられます。
導入コストとリソース:SCIMの導入にはシステムへの統合やカスタマイズが必要であり、それに伴うコストやリソースがかかります。特に大規模なシステムへの導入では、それに伴う費用が増加する可能性があります。
適応難易度:システムや組織の既存の構造やプロセスとの整合性を取るため、SCIMの導入が難しい場合があります。特に既存システムとの統合が複雑である場合、適応が難しいことがあります。
セキュリティリスク:新たなプロトコルやシステムの導入はセキュリティ上のリスクを伴います。適切なセキュリティ対策が施されない場合、機密情報の漏洩などのリスクが発生する可能性があります。
運用の複雑化:導入後はSCIMを適切に運用・管理する必要があります。新たな運用体制やプロセスの構築が求められるため、運用の複雑化が懸念されます。
これらのデメリットは、適切な計画と対策を講じることで、最小限に抑えることが可能です。
プロビジョニングとID管理の違いは何ですか?
プロビジョニングとID管理の違いは以下の通りです。
プロビジョニング:プロビジョニングは、「供給や支給、配置」という意味を持ちます。一般的には、新しいユーザーアカウントやリソースへのアクセス権限を割り当てたり、必要な設定やリソースを提供するプロセスを指します。
ID管理:システムやサービスへのアクセスに用いるIDを作成、変更、削除するプロセスを含みます。具体的には、ユーザーアカウントの作成、権限の変更、アカウントの停止などが含まれます。
要するに、プロビジョニングはリソースや権限の提供全般を指します。ID管理は主にユーザーのID(アカウント)を管理するプロセスに焦点を当てており、プロビジョニングの一部です。
プロビジョニングとは?
プロビジョニングとは、必要に応じてネットワークやコンピュータの設備などのリソースを予測し、準備しておくことです。この用語は、供給や設備を意味する「プロビジョン(provision)」という単語から派生しています。リソースを適切に提供し、必要な状態や設定に整えることで、効率的な運用や利用を可能にします。
データプロビジョニングとは何ですか?
データプロビジョニングは、ITの分野で用いられる用語であり、特にデータやリソースへのアクセスを効率的に管理し、必要に応じて利用可能に準備することを指します。データプロビジョニングにより、ユーザーやシステムが必要なデータにアクセスできるようになります。また、データの整理やセキュリティの確保もデータプロビジョニングの一部となります。
シン・プロビジョニングとはどういう意味ですか?
シン・プロビジョニング(Thin Provisioning)は、ストレージリソースを仮想化して割り当てる技術で、物理的なストレージ容量を削減することができます。この方法では、ストレージの容量を実際に必要とされる時点で動的に割り当てることができ、設備投資の急務を回避しながらも、コスト削減や運用負荷の軽減が可能になります。
プロビジョニングとシン・プロビジョニングの違いは何ですか?
プロビジョニングとは、複数のストレージを仮想的に統合して1つのストレージとして利用可能にし、必要な場合に備えて準備し、供給を可能にする手法です。これに対して、シン・プロビジョニングは、ストレージを仮想化し、各サーバーが実際に利用している容量だけを柔軟に割り当てる技術を指します。
シン・プロビジョニングのデメリットは?
シン・プロビジョニングのデメリットは、サーバーが必要とする容量が急増し、割り当てられたストレージ容量を超過すると、ストレージへの書き込みが制限され、サーバーやアプリケーションでエラーが発生する可能性があります。最悪の場合、アプリケーションやプログラムが損傷する可能性があります。
執筆者:
橋爪兼続
ライトハウスコンサルタント代表。2013年海上保安大学校本科第Ⅲ群(情報通信課程)卒業。巡視船主任通信士を歴任し、退職後、大手私鉄の鉄道運行の基幹システムの保守に従事。一般社団法人情報処理安全確保支援士会の前身団体である情報処理安全確保支援士会の発起人。情報処理安全確保支援士(第000049号)。
本記事の内容に誤り等がございましたら、こちらからご連絡ください。