SqlUser 要素 (ADF)
条件アクションを実行するためのデータベース ユーザー名を指定します。
構文
<ConditionAction>
...
<SqlUser>
要素の特性
特性 | 説明 |
---|---|
データ型 |
string。 |
既定値 |
なし。 |
個数 |
ConditionAction 要素につき 1 個 (必須)。 |
更新 |
この要素は、アプリケーションの更新時に変更できます。ただし、追加と削除はできません。親の ConditionAction 要素の追加と削除は可能です。 |
要素の関係
関係 | 要素 |
---|---|
親要素 |
|
子要素 |
なし。 |
解説
すべての条件アクションは、その条件アクションに対して指定したデータベース ユーザーのコンテキストで実行されます。権限の低いユーザーを使用すると、第三者によりサブスクリプション管理インターフェイスが侵害され、他のテーブルにアクセスしたり、他の動作を実行しようとする条件が挿入されても、セキュリティの脅威を最小限に抑えることができます。
SqlUser 要素にデータベース ユーザーを指定します。Notification Services は、ユーザー アカウントを作成します。アプリケーションを作成する前にこのユーザー アカウントが存在することはありません。
データベース ユーザー、および SqlLogin 要素で指定された関連する Microsoft SQL Server ログインが、そのデータベースでの制限付き権限を持っていることを確認してください。また、アプリケーションの展開中はそのユーザーおよび関連する SqlLogin がサーバーやドメインから削除されないようにしてください。削除されると、アプリケーション エラーが発生します。
Notification Services は Notification Services オブジェクトに対して必要な権限を与えますが、入力テーブルやビュー、また、条件アクションで使用されるユーザー定義関数に対しては権限を許可しません。これらの権限は、アプリケーションの展開時に許可する必要があります。権限の許可の詳細については、「条件アクションの定義」を参照してください。
使用例
次の例は、条件アクションを定義する方法を示しています。Transact-SQL 式のクエリは、MyAppSchema.WeatherEventRule ビューのデータを選択します。このビューは、サブスクリプション クラスのデータと MyAppSchema.WeatherEvents イベント ビューのデータを含みます。
<ConditionAction>
<SqlLogin>[MyLowPrivLogin]</SqlLogin>
<SqlUser>[MyLowPrivUser]</SqlUser>
<InputName>WeatherEvents</InputName>
<InputSchema>MyAppSchema</InputSchema>
<SqlExpression>
INSERT INTO MyAppSchema.WeatherNotifications(SubscriberId,
DeviceName, SubscriberLocale, City, Forecast)
SELECT [Subscription.SubscriberId], [Subscription.DeviceName],
[Subscription.SubscriberLocale], [Input.City],
[Input.Forecast])
FROM MyAppSchema.WeatherEventRule;
</SqlExpression>
</ConditionAction>
参照
関連項目
SqlLogin 要素 (ADF)
アプリケーション定義ファイルのリファレンス