Konfigurace zabezpečení pro úložiště trvalosti
Přístup k databázi trvalosti systému SQL Server je zabezpečen pomocí následujících rolí systému SQL Server:
InstanceStoreUsers: Členové této role mohou zavádět instance pracovních postupů z úložiště instancí a ukládat je do něj. Aplikaci, jež k hostování služeb používá element WorkflowServiceHost nebo WorkflowApplication a pro trvalost používá element SqlWorkflowInstanceStore, je třeba spouštět pod identitou, která je členem této role.
InstanceStoreObservers: Členové této role mohou do úložiště instancí zadávat dotazy. Aplikaci, jež k hostování služeb používá element WorkflowServiceHost nebo WorkflowApplication a pro trvalost používá element SqlWorkflowInstanceStore, je třeba spouštět pod identitou, která je členem této role.
WorkflowAdministrators: Členové této role mohou zařazovat (přidávat) řídicí příkazy do fronty příkazů v úložišti instancí.
WorkflowActivationUsers: Členové této role mohou do úložiště instancí zadávat dotazy na aktivovatelné instance pracovních postupů. Správu pracovního postupu (WMS) je nutné spouštět pod identitou, která je členem této role.
WorkflowManagementServiceUsers: Členové této role mohou vyřazovat (načítat) řídicí příkazy z fronty příkazů v úložišti instancí. Službu WMS je nutné spouštět pod identitou, která je členem této role.
Přístup k úložišti trvalosti SQL je udělován pro jednotlivá úložiště. Uživatel, který má přístup k instancím služby pracovního postupu uloženým v úložišti instancí, má přístup ke všem instancím včetně instancí jiné služby pracovního postupu v daném úložišti. Chcete-li uživatelům, kteří mají přístup k instancím jedné služby, zabránit v přístupu k instancím jiné služby, je nutné zajistit, aby pro tyto dvě služby byla používána samostatná úložiště instancí.
Předpokládejme například, že Služba1 je spuštěna pod identitou Uživatel1, Čtenář1 může zadávat dotazy na instance služby Služba1 a Správce1 může řídit instance služby Služba1. Dále platí, že Služba2 je spuštěna pod identitou Uživatel2, Čtenář2 může zadávat dotazy na instance služby Služba2 a Správce2 může řídit instance služby Služba2. Chcete-li identitám Uživatel1/Čtenář1/Správce1 zabránit v zavádění instancí služby Služba2, dotazování na ně a jejich řízení a identitám Uživatel2/Čtenář2/Správce2 naopak znemožnit tyto operace s instancemi služby Služba1, je nutné, aby všechny instance služby Služba1 byly uloženy v úložišti instancí Úložiště1 a naopak všechny instance služby Služba2 v úložišti instancí Úložiště2.
V tomto scénáři musí uživatel přidat následující uživatele nebo skupiny systému Windows do těchto rolí:
Je třeba přidat identitu Uživatel1 do role InstanceStoreUsers v databázi Úložiště1. Případně lze přidat identitu Uživatel1 do skupiny systému Windows Skupina_uživatelů1 a přidat skupinu Skupina_uživatelů1 do role InstanceStoreUsers v databázi Úložiště1.
Přidat identitu Čtenář1 nebo skupinu systému Windows Skupina_čtenářů1, jejímž členem je Čtenář1, do role InstanceStoreObservers v databázi Úložiště1.
Přidat identitu Správce1 nebo skupinu systému Windows Skupina_správců1, jejímž členem je Správce1, do role WorkflowAdministrators v databázi Úložiště1.
Přidat identitu Uživatel2 nebo skupinu systému Windows Skupina_uživatelů2, jejímž členem je Uživatel2, do role InstanceStoreUsers v databázi Úložiště2.
Přidat identitu Čtenář2 nebo skupinu systému Windows Skupina_čtenářů2, jejímž členem je Čtenář2, do role InstanceStoreObservers v databázi Úložiště2.
Přidat identitu Správce2 nebo skupinu systému Windows Skupina_správců2, jejímž členem je Správce2, do role WorkflowAdministrators v databázi Úložiště2.
Přidat identifikátor zabezpečení (SID) služby WMS do skupin systému Windows Skupina_správců1 a Skupina_správců2.
Chcete-li zabezpečení dále zvýšit, můžete spustit více instancí služby WMS. Předpokládejme například, že máte spuštěny dvě instance Správy pracovního postupu WMS1 a WMS2 a obě instance jsou spuštěny pod účtem BUILTIN\Local Services. Předpokládejme, že službě WMS1 je přiřazen identifikátor zabezpečení WMS-SID1 a službě WMS2 je přiřazen identifikátor zabezpečení WMS-SID2. V tomto případě je nutné místo posledního kroku z předchozího seznamu kroků provést tyto kroky:
Přidejte identifikátor zabezpečení WMS-SID1 do skupiny systému Windows Skupina_WMS1 a přidejte skupinu Skupina_WMS1 do rolí WorkflowActivationUsers a WorkflowManagementServiceUsers v databázi Úložiště1.
Přidejte identifikátor zabezpečení WMS-SID2 do skupiny systému Windows Skupina_WMS2 a přidejte skupinu Skupina_WMS2 do rolí WorkflowActivationUsers a WorkflowManagementServiceUsers v databázi Úložiště2.
Autorizace koncových bodů řízení instancí
U scénáře popsaného v předchozí části je třeba změnit autorizaci koncových bodů řízení instancí pro všechny služby uložené v úložišti Úložiště1 na skupinu Skupina_WMS1. Podobně je třeba změnit autorizaci koncových bodů řízení instancí pro všechny služby uložené v úložišti Úložiště2 na skupinu Skupina_WMS2. Následující příklad ukazuje, jak zabezpečit přístup ke koncovému bodu řízení instancí pomocí konfiguračního souboru.
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="myServiceBehavior">
<workflowInstanceManagement authorizedWindowsGroup="WMSGroup1" />
</behavior>
</serviceBehaviors >
</behaviors>
</system.serviceModel>
</configuration>
Autorizace koncových bodů správy služeb
U scénáře popsaného na začátku tohoto tématu je třeba změnit autorizaci koncových bodů správy služeb pro všechny služby uložené v úložišti Úložiště1 na skupinu Skupina_WMS1. Podobně je třeba změnit autorizaci koncových bodů správy služeb pro všechny služby uložené v úložišti Úložiště2 na skupinu Skupina_WMS2. Následující příklad ukazuje, jak zabezpečit přístup ke koncovému bodu správy služeb pomocí konfiguračního souboru.
<configuration>
<microsoft.applicationServer>
<hosting>
<serviceManagement enabled="true" authorizedWindowsGroup="WMSGroup1" endpointConfiguration="ServiceManagementNetPipeEndpoint" />
</hosting>
</microsoft.applicationServer>
</configuration>
Konfigurace Správy pracovního postupu
U scénáře popsaného na začátku tohoto tématu je třeba nakonfigurovat službu WMS1 tak, aby monitorovala Úložiště1, a službu WMS2 tak, aby monitorovala Úložiště2. Provedete to úpravou konfiguračního oddílu Správy pracovního postupu v kořenovém souboru Web.config, jak je znázorněno v následující ukázkové konfiguraci.
<configuration>
<microsoft.applicationServer>
<persistence>
<workflowManagement>
<workflowManagementServiceInstances>
<workflowManagementServiceInstance name="WMS1">
<instanceStores>
<instanceStore name="Store1" location="[root, SiteName or VPath]" />
</instanceStores>
</workflowManagementServiceInstance>
<workflowManagementServiceInstance name="WMS2">
<instanceStores>
<instanceStore name="Store2" location="[root, SiteName or VPath]" />
</instanceStores>
</workflowManagementServiceInstance>
</workflowManagementServiceInstances>
</workflowManagement>
</persistence>
</microsoft.applicationServer>
</configuration>
Průvodce konfigurací technologie Windows Server AppFabric
Průvodce konfigurací technologie AppFabric umožňuje přidružit skupiny systému Windows ke třem typům uživatelů: Správci, Čtenáři a Uživatelé. Ve výchozím nastavení jsou skupiny systému Windows AS_Administrators, AS_Observers a IIS_USRS přidruženy k typům uživatelů Správci, Čtenáři a Uživatelé (v uvedeném pořadí). Průvodce přidá skupinu AS_Administrators v systému SQL Server do rolí InstanceStoreObservers, WorkflowActivationUsers, WorkflowAdministrators a WorkflowManagementServiceUsers, skupinu AS_Observers přidá do role InstanceStoreObservers a skupinu IIS_USRS přidá do role InstanceStoreUsers.
Průvodce nastaví hodnotu atributu authorizedWindowsGroup elementu workflowInstanceManagement a hodnotu atributu authorizedWindowsGroup elementu serviceManagement na skupinu AS_Administrators.
2011-12-05