ADFS MMC を使用して ADFS アプリケーション グループを定義しました。展開用のスクリプトを作成したいと思います。New-AdfsApplicationGroup と Add-AdfsNativeClientApplication を使用してスクリプトを作成しました。次に、Web API のスクリプトを作成します。Get-AdfsWebApiApplication の出力を見ると、次の IssuanceTransformRules が表示されます。ルールには名前が付けられ、テンプレートが参照されます。
@RuleTemplate = "LdapClaims"
@ルール名 = "2"
c:[タイプ == " http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname "、発行者 == "AD AUTHORITY"]
=> issue(store = "Active Directory", types = (" http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress ", " http://schemas.xmlsoap.org/ws /2005/05/identity/claims/name ", " http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn "), query = ";mail,sAMAccountName,userPrincipalName;{0} ", param = c.Value);
これを次のようにスクリプト化しました。
Add-AdfsWebApiApplication -Name "My Web API" -AllowedClientTypes 6 -ApplicationGroupIdentifier "MyApp" -IssueOAuthRefreshTokensTo 2 -TokenLifetime 7 -Identifier {https://apphost/myapp/api/} -IssuanceTransformRules '@RuleTemplate = "LdapClaims", @RuleName = "2", c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"), query = ";mail,sAMAccountName,userPrincipalName;{0}", param = c.Value);'
これにより、次のエラーが発生します。
パーサー エラー:「POLICY0030: 構文エラー、予期しない COMMA、次のいずれかが必要です: O_SQ_BRACKET IDENTIFIER NOT AT IMPLY .」行:1 文字:1 + Add-AdfsWebApiApplication -Name "My Web API" -AllowedClientTypes ... + ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo :InvalidData: (@RuleTemplate =... ram = c.Value);:String) [Add-AdfsWebApiApplication]、PolicyValidationException + FullyQualifiedErrorId: POLICY0002.Microsoft.IdentityServer.Management.Commands.Add-AdfsWebApiApplicationCommand
@RuleTemplate と @RuleName の両方を削除すると、以下は正常に実行されますが、LDAP 属性と発信クレーム タイプのドロップダウン リストを提供するグラフィカル テンプレートを使用して編集できないカスタム ルールが生成されます。
Add-AdfsWebApiApplication -Name "My Web API" -AllowedClientTypes 6 -ApplicationGroupIdentifier "MyApp" -IssueOAuthRefreshTokensTo 2 -TokenLifetime 7 -Identifier {https://apphost/myapp/api/} -IssuanceTransformRules 'c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"), query = ";mail,sAMAccountName,userPrincipalName;{0}", param = c.Value);'
名前やテンプレートをスクリプトに含める方法を提案してくれる人はいますか?