Błąd autoryzacji zastępczej

Microsoft.ActiveDirectoryFederationServices.2016.TokenIssuanceOnBehalfOfAuthorizationErrorRule (Rule)

Knowledge Base article:

Podsumowanie

Usługa federacyjna nie mogła autoryzować wystawiania tokenów dla wywołującego w imieniu podmiotu dla jednostki uzależnionej.

Przyczyny

Określony wywołujący nie ma autoryzacji do działania w imieniu podmiotu tej jednostki uzależnionej

Aby uzyskać więcej informacji o przyczynie tego zdarzenia, zobacz zdarzenia 501 i 502 o tym samym identyfikatorze wystąpienia dla tożsamości wywołującego i tożsamości OnBehalfOf (jeśli jest określona).

Często to zdarzenie może wskazywać, że reguła autoryzacji oświadczeń w zasadach oświadczeń dla tej relacji zaufania jednostki uzależnionej działa inaczej niż zamierzono.

Rozwiązania

Użyj przystawki AD FS, aby upewnić się, że wywołujący ma autoryzację do działania w imieniu podmiotu dla jednostki uzależnionej.

Najpierw sprawdź, czy reguły autoryzacji oświadczeń dla tej relacji zaufania jednostki uzależnionej są skonfigurowane zgodnie z zamierzeniami. Aby uzyskać więcej informacji, zobacz When to Use a Claims Authorization Rule (Kiedy używać reguły autoryzacji oświadczeń).

Jeśli konieczne jest zaktualizowanie zasad autoryzacji personifikacji dla tej relacji zaufania jednostki uzależnionej, można to zrobić przy użyciu poleceń cmdlet programu Windows PowerShell dla usług AD FS. W szczególności można wyświetlać i ustawiać zasady reguł autoryzacji personifikacji w ramach właściwości ImpersonationAuthorizationRules. Do odczytywania tej właściwości służy polecenie cmdlet Get-ADFSRelyingPartyTrust. Do modyfikowania tej właściwości służy polecenie cmdlet Set-ADFSRelyingPartyTrust.

Element properties:

TargetMicrosoft.ActiveDirectoryFederationServices.2016.TokenIssuance
CategoryConfigurationHealth
EnabledFalse
Event_ID323
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Błąd autoryzacji zastępczej
Usługa federacyjna nie mogła autoryzować wystawiania tokenów dla wywołującego „{0}” w imieniu podmiotu „{1}” dla jednostki uzależnionej „{2}”.
Event Log$Target/Host/Host/Property[Type="Microsoft.ActiveDirectoryFederationServices.2016.FederationServer"]/ADFSEventLog$

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
Alert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.ActiveDirectoryFederationServices.2016.TokenIssuanceOnBehalfOfAuthorizationErrorRule" Enabled="false" Target="Microsoft.ActiveDirectoryFederationServices.2016.TokenIssuance" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>ConfigurationHealth</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>$Target/Host/Host/Property[Type="Microsoft.ActiveDirectoryFederationServices.2016.FederationServer"]/ADFSEventLog$</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">323</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>MatchesMOM2005RegularExpression</Operator>
<Pattern>(^AD FS$)</Pattern>
</RegExExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertName/>
<AlertDescription/>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.ActiveDirectoryFederationServices.2016.TokenIssuanceOnBehalfOfAuthorizationErrorRule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/Params/Param[2]$</AlertParameter1>
<AlertParameter2>$Data/Params/Param[3]$</AlertParameter2>
<AlertParameter3>$Data/Params/Param[4]$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Params/Param[2]$</SuppressionValue>
<SuppressionValue>$Data/Params/Param[3]$</SuppressionValue>
<SuppressionValue>$Data/Params/Param[4]$</SuppressionValue>
</Suppression>
<Custom1/>
<Custom2/>
<Custom3/>
<Custom4/>
<Custom5/>
<Custom6/>
<Custom7/>
<Custom8/>
<Custom9/>
<Custom10/>
</WriteAction>
</WriteActions>
</Rule>