アクセストークンとは何ですか?
コンピューターオペレーティングシステムおよびその他のソフトウェアフレームワークでは、アクセストークンは、セキュリティングされたオブジェクトまたは認証を必要とする別のプロセスにアクセスするために必要なセキュリティ情報を含むデータ構造です。セキュアオブジェクトは通常、読み取りおよび書き込み特権が定義されたファイルシステム内のデータであり、プロセスとは、その機能にアクセスするための許可を必要とする他のプログラムまたはサービスです。アクセストークンは単に情報を保持できるコンテナですが、通常、ユーザーの特権を保存するために使用されます。
アクセストークンの概念は、Microsoft®オペレーティングシステムとプログラムによって主に考えられ、使用されていましたが、それらの有用性は他の場所でそれらを運びました。 Google向けのアプリケーションプログラミングインターフェイス(API)は、Googleユーザーのアカウントに関連付けられたデータにアクセスする必要があるアプリケーションをプログラミングしながら、アクセストークンを使用する方法を説明しています。いくつかの大規模なソーシャルネットワーキングプラットフォームでは、APIのアクセストークンも使用しています。
基本的に、ユーザーがオペレーティングシステムまたはソフトウェアシステムのフレームワークにログインすると、システムはユーザーとパスワードをセキュリティデータベースで検証し、ユーザーをシステム上の任意のオブジェクトまたはプロセスに識別するアクセストークンが作成されます。ユーザーが開始するプロセス(アプリケーション、プログラム、サービスなど)は、アクセストークンを搭載します。アクセストークンは、別のプログラムまたはオブジェクトがアクセスを付与するためにチェックするいくつかのデータを保存する必要があります。
アクセストークンには、ユーザー、ユーザーが属するユーザーグループ、および現在のログオンセッションのセキュリティ識別子(SID)、通常数値コードが含まれます。トークンには、ユーザーまたはグループが許可されている特権のリストも含まれています。いくつかの異なる種類のアクセストークンがあるため、トークンはプライマリまたはなりすましのいずれかのタイプを識別する必要があります。 aプライマリアクセストークンは使用される標準タイプですが、ユーザーに代わって行動するためになりすましトークンを作成することもできます。
アクセストークンがジョブを行うために呼び出されると、システム上のオブジェクトとプロセスへのアクセスを監視するサービスであるセキュリティリファレンスモニター(SRM)に遭遇します。 SRMは、アクセストークンと比較するために、オブジェクトまたはプロセスのセキュリティ記述子を引き上げます。セキュリティ記述子には、アクセス制御リスト(ACL)が含まれています。ここでは、各アクセス制御エントリ(ACE)がそのオブジェクトまたはプロセスの特定のアクセス許可を定義します。たとえば、システム上のファイルの場合、セキュリティ記述子には、ユーザーまたはグループがファイルに読み書きまたは書き込みを許可している情報が含まれています。アクセストークンがファイルを開くか編集するアクセスを要求する場合、ファイルはセキュリティ記述子の許可と一致しない場合、アクセスは失敗し、ユーザーはファイルへのアクセスを拒否されます。