条件 (詳細ビュー)
ルールを適用すべきリソースやユーザー条件を定義します。
構文
resource.resourcetype = <resourcetypevalue> [OPERATOR resource.<property> = <propertyvalue> [OPERATOR resource.<property> = <propertyvalue> ...]]
シンプルな条件は、最初の部分の resource.resourcetype = <resourcetypevalue> のみで構成されます。上記の例にある後続の演算子、プロパティ、およびプロパティ値は省略可能です。
[基本] ビューのドロップダウン リストからリソースおよびリソース条件を選択すると、[詳細] ビューの [Conditions (条件)] 項目には、選択したリソース タイプに対応するコードが自動的に入力されます。
条件は、プロパティ値のペアを使用して定義されます。リソースやユーザー条件を指定する必要はありません。実際、[条件] 項目は空欄のままにしておくことができます。
条件を定義する順序は関係ありません。リソースを最初に定義してからユーザーやリソース条件を定義したり、その逆の順序で定義したりできます。ただし、リソースと条件を定義する順序は一貫させるようお勧めします。トラブルシューティングが容易になります。
[基本] セクションと [詳細] セクションの間での同期 (いわゆるバックトラッキング) を有効にするには、[基本] セクションで作成された条件にかっこを追加します。同様に、[基本] セクションでリソースを追加すると、[Conditions (条件)] テキスト フィールドに、条件が空欄のユーザー定義が自動的に設定されます。ただし、[詳細] セクションのみでルールを作成し、バックトラッキングの必要がなければ、上記の方法に従う必要はありません。
引数
引数 | 説明 |
---|---|
resource | 条件がリソースに適用されることを示唆します。 |
resourcetype |
条件が [resourcetypevalue] で定義されたタイプのリソースに適用されることを示唆します。 また、プロパティ値を返す条件に対してあらかじめ定義された関数を使用することもできます。 |
resourcetypevalue | 使用される演算子に応じて (=、 !=、または like)、一致または不一致を検索するために条件で使用される値です。少なくとも 1 つのリソース タイプを指定してください。 |
property |
リソース条件のプロパティ名。使用可能な名前については、プロパティ を参照してください。 |
propertyvalue | 選択されたプロパティ名の値。 |
user | 条件がユーザーに適用されることを示唆します。 |
プロパティ
次のプロパティ グループを使用できます。
基本設定
プロパティ | 説明 | 例 |
---|---|---|
resource.@<customproperty> | リソースに関連付けられているカスタム プロパティ。この例では、@Department はカスタム プロパティ名です。 | resource.@Department = Finance。 resource.@Department = user.userDirectory |
resource.name | リソース名。 | resource.name like "*US*"。「US」を含む文字列が条件に一致します。 |
resource.id | リソースの ID。 | resource.id=5dd0dc16-96fd-4bd0-9a84-62721f0db427。この場合のリソースはアプリです。 |
リソース ユーザーとオブジェクトの所有者
プロパティ | 説明 | 例 |
---|---|---|
user.email
owner.email |
ユーザーのメール。 所有者のメール。 |
user.email="user@domain.com" owner.email="owner@domain.com" |
user.environment.browser | ブラウザのセッション ベースの属性。「=」ではなく「like」演算子を使用します。ブラウザ データは、「Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0」のように、バージョンとその他の詳細を含む形式で送信されるためです。代わりに「=」演算子を使用することはできますが、その場合は値全体を指定する必要があります。 | user.environment.browser like "*Firefox*" |
user.environment.context | コンテキストのセッション ベースの属性。(QMC にはコンテキスト用の個別の設定があります)。 | user.environment.context="Management Access" |
user.environment.device | デバイスのセッション ベースの属性。 | user.environment.device="iPhone" |
user.environment.ip |
IP アドレスのセッション ベースの属性。 |
|
user.environment.os | オペレーティング システムのセッション ベースの属性。 | user.environment.os like "Windows*" |
user.environment.secureRequest | secureRequest のセッション ベースの属性。値 true - SSL が使用される場合。それ以外の場合は false。 | user.environment.secureRequest="true" |
user.environment.[SAML attribute] |
認証時に入力されたセッションベースの属性 (user.environment.group など)。 |
user.environment.xxx="<attribute name>" |
user.environment.[ticket attribute] |
認証時に入力されたセッションベースの属性 (user.environment.group など)。 |
user.environment.xxx="<attribute name>" |
user.environment.[session attribute] |
認証時に入力されたセッションベースの属性 (user.environment.group など)。 |
user.environment.xxx="<attribute name>" |
user.group
owner.group |
ユーザーが属するグループ。 所有者が属するグループ。 |
user.group=resource.app.stream.@AdminGroup owner.group=@Developers |
user.userdirectory
owner.userdirectory |
ユーザーが属するユーザー ディレクトリ。 所有者が属するユーザー ディレクトリ。 |
user.userdirectory="Employees" owner.userdirectory="Employees" |
user.userId
owner.userId |
ユーザーの ID。 所有者の ID。 |
user.userId="<userID>" owner.userId="<ownerID>" |
user.roles
owner.roles |
ユーザーのロール。 所有者のロール。 |
user.roles="AuditAdmin" owner.roles="SystemAdmin" |
リソース アプリ
プロパティ | 説明 | 例 |
---|---|---|
stream.name | アプリの公開先のストリームの名前。 |
stream.name="Finance" |
app.object リソース
プロパティ | 説明 | 例 |
---|---|---|
app.stream.name | アプリ オブジェクトの公開先のストリームの名前。 |
app.stream.name="Test" |
app.name | オブジェクトが属するアプリの名前。 |
app.name="Q3_Report" |
approved | そのオブジェクトが、アプリの公開時のオリジナルアプリの一部であったかどうかを示すインジケーター。値: true または false。 |
resource.approved="true" |
description | オブジェクトの説明。 |
resource.description="old" |
objectType |
考えられる値:
|
resource.objectType="sheet" |
published | オブジェクトが公開されているかどうかを示すインジケーター。値: true または false。 |
resource.published="false" |
app.content や reloadtask などのアプリ関連のリソース
プロパティ | 説明 | 例 |
---|---|---|
app.stream.name | アプリの公開先のストリームの名前。 |
app.stream.name="Test" |
app.name | アプリの名前。 |
app.name="Q3_Report" |
リソース DataConnection
プロパティ | 説明 | 例 |
---|---|---|
Type |
データ接続のタイプ。 考えられる値:
|
resource.type!="folder" |
SystemRule リソース
プロパティ | 説明 | 例 |
---|---|---|
Category |
システム ルール カテゴリ。 考えられる値:
|
resource.category="license" |
ResourceFilter | ルールのリソース フィルター。 | resource.resourcefilter matches "DataConnection_\w{8}-\w{4}-\w{4}-\w{4}-\w{12}" |
RuleContext |
ルールのコンテキスト。 考えられる値:
|
resource.rulecontext="BothQlikSenseAndQMC" |
Type |
ルールのタイプ。 考えられる値:
|
resource.type!="custom" |
ContentLibrary リソース
プロパティ | 説明 | 例 |
---|---|---|
Type |
考えられる値:
|
resource.type="media" |
ServerNodeConfiguration リソース
プロパティ | 説明 | 例 |
---|---|---|
IsCentral |
セントラル ノードのインジケーター。値: true または false。 |
resource.iscentral="true" |
nodePurpose | ノードの目的。development または production。 |
resource.nodepurpose="production" |
UserDirectory リソース
プロパティ | 説明 | 例 |
---|---|---|
userDirectoryName |
ユーザー ディレクトリの名前。 |
resource.userDirectoryname="Employees" |
UserSyncTask リソース
プロパティ | 説明 | 例 |
---|---|---|
userDirectory.name |
ユーザー ディレクトリ コネクタの名前。 |
resource.userDirectory.name="Employees" |
userDirectory.userDirectoryName |
ユーザー ディレクトリの名前。 |
userDirectory.userdirectoryname="Employees" |
Widget リソース
プロパティ | 説明 | 例 |
---|---|---|
library.name |
そのウィジェットが属するライブラリの名前。 |
resource.library.name="Dev" |
例と結果
例 | 結果 |
---|---|
Resource filter: App* Conditions: resource.resourcetype="App" and (resource.name like "*") |
このルールはすべてのアプリに適用されます。 ヒント メモ[リソース] 項目を「App*」に設定し、[条件] 項目を空にしておくだけで同じルールを定義できます。
|
リソース フィルター: App*、App.Object*、または Stream* 条件: resource.resourcetype="App" or resource.resourcetype="Stream" or (resource.resourcetype="App.Object" and resource.objectType="sheet") and resource.name like "My*" |
このルールは、名前が「My」で始まっているすべてのアプリ、ストリーム、シートに適用されます。 |
resource.resourcetype="ServerNodeConfiguration" and (resource.@Department="Finance") | このルールはカスタム プロパティ「Department」が「Finance」に設定されているすべてのノードに適用されます。 |
resource.resourcetype="ServerNodeConfiguration" and !(resource.@Department="Finance") | このルールはカスタム プロパティの「Department」が「Finance」に設定されているノード以外のすべてのノードに適用されます。 |
[リソース フィルター]= resource.resourcetype="App.Object" and (((resource.objectType="sheet" or resource.objectType="story")) and ((user.name="Myname"))) |
このルールは、「MyName」という名前のアプリ、シート、ストーリー、ユーザーすべてに適用されます。 |
[リソース フィルター]=Stream_* user.@Department="Finance" and !user.IsAnonymous() |
このルールは、ユーザーが匿名としてログインしていない場合、カスタム プロパティの「Department」が「Finance」に設定されているストリームとユーザーすべてに適用されます。 |
[リソース フィルター]=* and Conditions field empty |
このルールは、あらゆるリソースとユーザーに適用されます。 |
user.name="MyUserName" |
このルールは、ユーザー名が「MyUserName」のユーザーに適用されます。 ヒント メモ個人に適用されるルールはなるべく作成しないようにしてください。ユーザー グループのメンバーシップ、ユーザーのロール、またはカスタム プロパティを使用して、ルールをユーザーのグループに適用します。
|
user.group="DL-MyDepartment" | このルールは、「MyDepartment」分布グループのあらゆるメンバーに適用されます。 |
user.@Department="Sales" | このルールは、カスタム プロパティ「@Department」が「Sales」に設定されているユーザー全員に適用されます。 |
user.roles="Developer" |
リソース、条件、アクション フィールドで定義されているアクセス権は、ユーザー ロール「Developer」に適用されます。ユーザー編集ページの [Roles (ロール)] ドロップダウン リストでこのロールを利用できるようになります。 |
resource.resourcetype="App" and resource.name="My*" and user.role="QlikSenseAdmin" |
user.role を演算子と併用して、ユーザーに特定のユーザー ロールがある場合にルールを適用するよう指定することもできます。 |
user.environment.os="Windows" | このルールは、オペレーティング システムが Windows の場合、その外部環境すべてに適用されます。 |