Vydat výstrahu pro událost APM zabezpečení transakce

Microsoft.SystemCenter.Apm.MvcTransaction.AlertSecurityAspectRule (Rule)

Knowledge Base article:

Souhrn

Stav instance se změní na Není v pořádku, pokud celkový počet událostí zabezpečení za definované časové období překročí prahovou hodnotu monitorování.

Příčiny

Výstrahy zabezpečení jsou generovány jako důsledek problémů s autorizací, ověřováním nebo oprávněním, když se aplikace snaží o přístup k externím prostředkům. Pole s detaily výstrahy zobrazuje popis, který obsahuje název funkce požadovaného prostředku, u níž došlo k selhání, a operační kontext k řešení problému. Výjimky zabezpečení jsou způsobeny problémy, které se běžně řeší změnami prostředí nebo konfigurace bez nutnosti zásahu do zdrojového kódu. Tento druh problému by mohl být způsoben problémy s autorizací, ověřováním nebo oprávněním při přístupu k databázovému serveru, webové službě, prostředku V/V nebo službě Active Directory.

Řešení

Výstrahy zabezpečení vznikají z neošetřených výjimek kvůli problémům s přístupem k externím prostředkům. Chcete-li tyto problémy vyřešit, zkontrolujte

1) popis výstrahy a událostí;

2) cíle operací, například server Microsoft SQL;

3) akci – metodu, která měla být provedena na prostředku, např. připojení k serveru;

4) bezpečnostní kontext – připojení, uživatel a detaily totožnosti. Po této kontrole aktualizujte účet, heslo nebo oprávnění buď v konfiguraci aplikace nebo na straně serveru/domény.

Element properties:

TargetMicrosoft.SystemCenter.Apm.MvcTransaction
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableFalse
Alert Message
Výjimka zabezpečení transakce
Transakce {5} pro aplikaci {0} na {1} zaznamenala selhání zabezpečení. Výjimka typu '{2}' se zprávou '{3}' byla vydána v '{4}'. Další podrobnosti naleznete pod tímto odkazem: $Url[Query='{6}']/APMEvent$

Member Modules:

ID Module Type TypeId RunAs 
LOBProvider DataSource Microsoft.SystemCenter.Apm.MvcTransaction.LobDataProvider.ExceptionAspect Default
AlertWriteAction WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.MvcTransaction.AlertSecurityAspectRule" Enabled="false" ConfirmDelivery="false" Target="Microsoft.SystemCenter.Apm.MvcTransaction" Remotable="false">
<Category>Alert</Category>
<DataSources>
<DataSource ID="LOBProvider" TypeID="Microsoft.SystemCenter.Apm.MvcTransaction.LobDataProvider.ExceptionAspect">
<Name>$Target/Host/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</Name>
<AspectType>security</AspectType>
<ControllerName>$Target/Property[Type="Microsoft.SystemCenter.Apm.MvcTransaction"]/ControllerName$</ControllerName>
<ActionName>$Target/Property[Type="Microsoft.SystemCenter.Apm.MvcTransaction"]/ActionName$</ActionName>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="AlertWriteAction" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name='Microsoft.SystemCenter.Apm.MvcTransaction.AlertSecurityAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter2>
<AlertParameter3>$Data/EventData/exceptionclass$</AlertParameter3>
<AlertParameter4>$Data/EventData/message$</AlertParameter4>
<AlertParameter5>$Data/EventData/name$</AlertParameter5>
<AlertParameter6>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/TransactionName$</AlertParameter6>
<AlertParameter7>$Data/EventData/ViewDetail$</AlertParameter7>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
<Custom1>Security</Custom1>
</WriteAction>
</WriteActions>
</Rule>