RAD サーバー エンジンの権限付与

提供: RAD Studio
移動先: 案内検索

RAD サーバー エンジン(RAD サーバーサーバー) への移動


EMS サーバーの権限付与により、HTTP 要求での EMS リソースまたは特定の EMS エンドポイントへのアクセスを許可または拒否することができます。 権限付与は、EMS サーバーへの HTTP 要求で使用される資格情報によって決まります。

デフォルトでは、EMS リソースおよび EMS エンドポイントは公開されています。

EMS では次の 3 種類の異なる資格情報があります。

  • マスタ秘密鍵 -- この資格情報を使用すると、お使いの EMS サーバーの任意の EMS リソース内の任意の EMS エンドポイントに HTTP 要求でアクセスできます。
  • ユーザー -- この資格情報では特定の EMS ユーザーを識別します。エンドポイントやリソースへのアクセスは、そのユーザーまたはそのユーザーの所属先グループに許可されたものに限られます。
  • アプリケーション秘密鍵 -- この資格情報では、すべての HTTP 要求に許可されているエンドポイントにアクセスできます。

EMS の権限付与で使用される資格情報

EMS マスタ秘密鍵による認証

EMS マスタ秘密鍵MasterSecret)の場合は、EMS データベースに格納されているすべての EMS データに完全にアクセスできる権限が付与されます。

この EMS マスタ秘密鍵は管理作業に使用します。EMS マスタ秘密鍵 を使用すると、EMS サーバー内のすべての EMS リソースにアクセスできます。

マスタ秘密鍵の変更は、EMS サーバー構成ファイルで行います。

EMS アプリケーション秘密鍵による認証

EMS アプリケーション秘密鍵AppSecret)は、EMS クライアント アプリケーションから認証エンドポイントへのアクセス権を付与します。

AppSecret キーは、EMS サーバー構成ファイルで変更します。

EMS アクセス ルール

アクセス ルールを作成して、特定の EMS リソースまたは EMS リソース エンドポイントに関する権限付与を構成することができます。

EMS 管理 API リソース(たとえば EMS ユーザーEMS グループなど)またはカスタム EMS リソースの新しいアクセス ルールを設定できます。

メモ: EMS サーバーでマスタ秘密鍵による認証を用いて EMS リソースへのアクセスを制御している場合は、EMS 構成ファイルで設定されたアクセス ルールは無視されます。

次のものに対するアクセス ルールおよび設定を(JSON 文字列として)指定できます。

  • リソース -- リソース設定は、その EMS リソース内のすべてのエンドポイントに適用されます。
  • 特定のエンドポイント -- エンドポイント設定は、リソースの設定より優先されます。

EMS リソースまたは EMS リソース エンドポイントの下記の JSON 属性を変更できます。

JSON 属性 説明
{"public": true} あらゆる要求に権限を付与します。
{"public": false} EMS クライアント アプリケーションは、EMS ユーザーまたは EMS グループによっては、権限を付与される場合があります。
{"users": ["username1", "username2"]} フィールド usernameEMS ユーザーに権限を付与します。
{"users": ["userid1", "userid2"]} フィールド useridEMS ユーザーに権限を付与します。
{"users": ["*"]} あらゆる EMS ユーザーに権限を付与します。
{"groups": ["groupname1", "groupname2"]} EMS グループに所属するあらゆる EMS ユーザーに権限を付与します。
{"groups": ["*"]} あらゆる EMS グループのあらゆる EMS ユーザーに権限を付与します。

次のサンプルでは、LoginUserSignupUser の 2 つの EMS エンドポイントを除いて、リソース Users のすべてのメソッドを非公開にしています。

 Users={"public": false}
 Users.LoginUser={"public": true}
 Users.SignupUser={"public": true}

次にサンプルでは、カスタム EMS リソース Resource1 のすべてのメソッドを、グループ group1 のすべての EMS ユーザーに公開しています。

 Resource1={"groups": ["group1"]}

アクセス ルールの作成と変更は、EMS サーバー構成ファイルで行います。

EMS サーバー ウィンドウ内のログに、作成されたアクセス ルールが(RegACL エントリとして)表示されます。

EMSServerLog RegACL.png

EMS リソースおよび EMS エンドポイントへのアクセスの制御

リソースやエンドポイントへのアクセスを制御する方法は、EMS ユーザーによる方法と EMS クライアント アプリケーションによる方法の 2 とおりあります。

EMS サーバー構成ファイルの編集

EMS サーバー構成ファイル(emsserver.ini ファイルを使用して、リソースおよびエンドポイント別に権限付与を構成できます。

マスタ秘密鍵またはアプリケーション秘密鍵構成するか、EMS リソースおよび EMS エンドポイントアクセス ルールを新規作成します。

メモ: emsserver.ini ファイルでこれらの値を変更する場合は、EMS サーバーを停止して 構成パラメータを再読み込みする必要があります。EMSDevServer.exe を終了させ再起動して、emsserver.ini ファイルを再読み込みする必要があります。

プログラムによる制御

カスタム EMS リソースを新規作成し、特定の EMS エンドポイントへのアクセスを防ぐコードを追加することができます。 コードでは、特定の EMS ユーザーまたは特定の EMS グループの EMS ユーザーから送信された要求かどうかを確認します。

要求内で特定された EMS ユーザーが問題のエンドポイントにアクセスできない場合は、カスタム リソースで例外を発生させて、権限のない要求であることを示す必要があります。

関連項目