ワークフローとセキュリティ機能
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecoreはワークフロー固有のアクセス権を3つ定義しています。
-
Workflow State Deleteユーザーが現在特定の状態に関連付けられているアイテムを削除できるかどうかを制御します。
-
Workflow State Writeユーザーが現在特定の状態に関連付けられているアイテムを更新できるかどうかを制御します。
-
Workflow Command Executeシステムがユーザーに特定のコマンドを割り当てるかどうかを制御します。
コンテンツアイテムへのアクセス権は、Workboxアプリケーションの動作に影響を与えることがあります。Workboxのアイテムを見るには、Writeアクセスが必要です。他のユーザーが現在チェックアウト(ロック)している商品Write 、アクセスできない場合があります。
ワークフローの作成と編集
ワークフローを作成または編集するには、以下の条件を満たさなければなりません:
-
必要なら /sitecore/System/Workflowsのワークフローの保護を解除してください。
-
ワークフローへのアクセスReadとCreateを確保しましょう。
-
Sitecore Client Authoringの役割のメンバーになってください。
状態やコマンドへのアクセスを割り当てるには、Sitecore Client Securingロールのメンバーである必要があります。
ワークフローの使い方
ワークフローは、ウェブ管理者やコンテンツ編集者など、基本的なコンテンツ作成権限を持つかワークフローへのReadアクセス権を持つ異なるタイプのユーザーによって利用可能です。
管理者用ユーザーアカウント以外ではSitecore、最終状態のコンテンツ項目(例えばApproved)が編集されるたびに新しいバージョンが作成され、初期状態に移行します。管理者アカウントの場合、Sitecoreは新しいバージョンを作成せず、初期の状態に移行することもありません。
ワークフローユーザーが管理者アカウントを持っていないこと、またSitecore Client AuthoringロールとSitecore Client Securingロールのメンバーでないことを確認しましょう。そうでなければ、ワークフローの制限を無視するか、最初に設定された以上の権限を自分に付与することが可能になります。
特定のユーザーから状態を隠す方法
状態にアクセスReadできるユーザーは、その状態にワークフローコマンドが含まれている場合、その状態をWorkboxで確認できますCommand Execute 。ビジネス要件で特定のワークフロー状態を特定のユーザー群から隠す必要があると指定されている場合、以下のようにその状態へのアクセスを制限できます:
-
状態内のすべてのコマンドをユーザーから隠すことができるのです。
または
-
状態自体を明確にユーザーから隠しているのです。
ワークフローの状態を明示的に隠すには:
-
状態のInheritanceをオフにし、ユーザーや割り当てられたすべての役割にReadアクセスを許可しないでください。
注記Inheritanceをオフにすると、Workboxで状態を見られるはずのすべてのロールへのアクセスを明示的に許可しなければなりません。これは、Workboxで状態を見られるべきユーザーや役割がごく少数の場合に最適な方法です。
または
-
ユーザーまたはそのユーザーに割り当てられた役割のいずれかに州へのアクセスを拒否Read 。
注記Sitecoreのセキュリティシステムでは、拒否は常にルールを覆うことで許可されています。ロールReadアクセスを明示的に拒否すると、多くのロールが割り当てられているユーザーがワークフローを見るのを意図せずに妨げてしまう可能性があります。 Readアクセスを拒否すると、予期せぬ結果が生じることがあります。
一般的に、必要なロール数が管理可能な範囲であればInheritanceをオフにし、明示的にアクセスを許可することをお勧めします。
特定のユーザーのためにコマンドを隠す方法
Content EditorとWorkboxは、以下の場合にのみ非管理者ユーザー向けにコマンドを表示します:
-
Writeユーザーは関連するコンテンツ項目にアクセスできないか、またはそのアイテムがユーザーによってロックされます。
そして
-
ユーザーはコマンドの親の状態にアクセスできWorkflow State Write 、またはユーザーがアイテムをロックします。
そして
-
ユーザーはコマンド自体にReadアクセスできます。
そして
-
ユーザーはコマンド自体にWorkflow Command Executeアクセス権を持っています。
Sitecoreのセキュリティ設定を、ユーザーがこれらの条件のいずれかを満たさないように設定すると、そのユーザーからコマンドが隠れてしまいます。
ユーザーがアイテムと状態の両方にWriteアクセスしなければならない場合、コマンドへのアクセスを拒否する方法Read 2つあります。
-
コマンドのInheritanceをオフにし、ユーザーおよびそのメンバーであるすべての役割にコマンドへのアクセスRead付与しないでください。
注記Inheritanceをオフにすると、Workboxで状態を見られるはずのすべてのロールへのアクセスを明示的に許可しなければなりません。これは、Workboxで状態を見られるべきユーザーや役割がごく少数の場合に最適な方法です。
-
ユーザーまたはそのメンバーである役割のいずれかに対して、コマンドのReadアクセスを拒否します。
注記Sitecoreセキュリティシステムでは、deny alwaysがallowを覆します。ロールReadアクセスを明示的に拒否すると、多くのロールが割り当てられているユーザーがワークフロー項目を見るのを意図せずに妨げてしまうことがあります。 Readアクセスを拒否すると予期せぬ結果が生じることがあります。
一般的に、必要なロール数が管理可能な範囲であればInheritanceをオフにし、明示的にアクセスを許可することをお勧めします。