SnapCenter Software 4.9
Rest API、PowerShell、およびSCCLIを使用して多要素認証 (MFA) を管理する
MFAログインは、ブラウザー、REST API、PowerShell、SCCLIからサポートされます。MFAはAD FS IDマネージャーを通じてサポートされます。MFAは、GUI、REST API、PowerShell、およびSCCLIから有効化、無効化、および構成できます。
OAuth/OIDCとしてAD FSを設定する
Windows GUIウィザードを使用してAD FSを構成する
-
サーバーマネージャーダッシュボード > ツール > ADFS管理 に移動します。
-
ADFS > アプリケーショングループ に移動します。 ..。 アプリケーショングループ を右クリックします。
-
アプリケーショングループの追加 を選択し、アプリケーション名 を入力します。
-
サーバーアプリケーション を選択します。
-
次へ をクリックします。
-
-
クライアント識別子 をコピーします。
これはクライアントIDです。 .. リダイレクトURL にコールバックURL (SnapCenter Server URL) を追加します。 .. 次へ をクリックします。
-
共有シークレットの生成 を選択します。
シークレット値をコピーします。これはクライアントの秘密です。 .. 次へ をクリックします。
-
概要 ページで、次へ をクリックします。
-
Complete ページで、 Close をクリックします。
-
-
新しく追加された アプリケーショングループ を右クリックし、プロパティ を選択します。
-
アプリのプロパティ から アプリケーションの追加 を選択します。
-
*アプリケーションの追加*をクリックします。
Web API を選択し、 次へ をクリックします。
-
Configure Web API ページの [*Identifier セクションに、前の手順で作成したSnapCenterサーバのURLとクライアント識別子を入力します。
-
追加 をクリックします。
-
次へ をクリックします。
-
-
アクセスコントロールポリシーの選択 ページで、要件に基づいてコントロールポリシーを選択し(たとえば、すべてのユーザーを許可し、MFAを要求します。)、次へ をクリックします。
-
アプリケーションアクセス許可の構成] ページで、既定ではopenidがスコープとして選択されているので、 [次へ をクリックします。
-
*概要*ページで、*次へ*をクリックします。
完了 ページで、 * Close* をクリックします。
-
サンプルアプリケーションプロパティ ページで、OK をクリックします。 .承認サーバー (AD FS) によって発行され、リソースによって使用されることを意図したJWTトークン。
このトークンの’aud’またはaudienceクレームは、リソースまたはWeb APIの識別子と一致する必要があります。 .選択したWebAPIを編集し、コールバックURL (SnapCenter Server URL) とクライアント識別子が正しく追加されていることを確認します。
要求としてユーザー名を提供するようにOpenID Connectを構成します。
-
サーバーマネージャーの右上にある ツール メニューの下にある AD FS管理 ツールを開きます。
-
左サイドバーから Application Groups フォルダを選択します。
-
Web APIを選択し、EDIT をクリックします。
-
Go-to Issue Transform Rules タブ
-
-
規則の追加 をクリックします。
-
要求ルールテンプレート ドロップダウンで LDAP属性を要求として送信 を選択します。
-
次へ をクリックします。
-
-
*クレームルール*名を入力します。
-
属性ストア ドロップダウンで Active Directory を選択します。
-
LDAP属性 ドロップダウンで ユーザープリンシパル名 を選択し、 送信要求の種類 ドロップダウンで UPN を選択します。
-
完了 をクリックします。
-
PowerShellコマンドを使用してアプリケーショングループを作成
アプリケーショングループ、Web APIを作成し、PowerShellコマンドを使用してスコープとクレームを追加できます。これらのコマンドは、自動スクリプト形式で使用できます。詳細については、<link to KB article>を参照してください。
-
次のコマンドを使用して、AD FSに新しいアプリケーショングループを作成します。
New-AdfsApplicationGroup -Name $ClientRoleIdentifier -ApplicationGroupIdentifier $ClientRoleIdentifier
アプリケーション・グループの`ClientRoleIdentifier`名
`redirectURL`認可後のリダイレクトに有効なURL
-
AD FSサーバーアプリケーションを作成し、クライアントシークレットを生成します。
Add-AdfsServerApplication -Name "$ClientRoleIdentifier - Server app" -ApplicationGroupIdentifier
$ClientRoleIdentifier -RedirectUri $redirectURL -Identifier $identifier -GenerateClientSecret
-
ADFS Web APIアプリケーションを作成し、使用するポリシー名を構成します。
$identifier = (New-Guid).Guid
Add-AdfsWebApiApplication -ApplicationGroupIdentifier $ClientRoleIdentifier -Name "App Web API"
-Identifier $identifier -AccessControlPolicyName "Permit everyone"
-
次のコマンドの出力からクライアントIDとクライアントシークレットを取得します。これは、1回だけ表示されます。
"client_id = $identifier"
"client_secret: "$($ADFSApp.ClientSecret)
-
AD FSアプリケーションにallatclaimsとopenidのアクセス許可を付与します。
Grant-AdfsApplicationPermission -ClientRoleIdentifier $identifier -ServerRoleIdentifier $identifier -ScopeNames @('openid')
$transformrule = @"
@RuleTemplate = "LdapClaims"
@RuleName = "AD User properties and Groups"
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/upn"), query = ";userPrincipalName;{0}", param = c.Value);
"@
-
変換規則ファイルを書き出します。
$transformrule |Out-File -FilePath .\issueancetransformrules.tmp -force -Encoding ascii
$relativePath = Get-Item .\issueancetransformrules.tmp
-
Web APIアプリケーションに名前を付け、外部ファイルを使用して発行変換ルールを定義します。
Set-AdfsWebApiApplication -Name "$ClientRoleIdentifier - Web API" -TargetIdentifier
$identifier -Identifier $identifier,$redirectURL -IssuanceTransformRulesFile
$relativePath
アクセストークンの有効期限の更新
アクセストークンの有効期限は、PowerShellコマンドを使用して更新できます。
このタスクについて
-
アクセストークンは、ユーザー、クライアント、およびリソースの特定の組み合わせに対してのみ使用できます。アクセストークンは失効できず、有効期限まで有効です。
-
既定では、アクセストークンの有効期限は60分です。この最小有効期限は十分であり、拡張されています。継続的なビジネスクリティカルなジョブを回避するには、十分な価値を提供する必要があります。
ステップ
アプリケーショングループWebApiのアクセストークンの有効期限を更新するには、AD FSサーバーで次のコマンドを使用します。
+
Set-AdfsWebApiApplication -TokenLifetime 3600 -TargetName "<Web API>"
AD FSからベアラートークンを取得します。
任意のRESTクライアント (Postmanなど) で後述のパラメーターを入力する必要があり、ユーザー資格情報の入力を求められます。さらに、ベアラートークンを取得するには、第2要素認証 (自分が持っているもの、自分がいるもの) を入力する必要があります。
+ ベアラートークンの有効性は、アプリケーションごとにAD FSサーバーから構成でき、既定の有効期間は60分です。
フィールド |
値 |
Grant type |
Authorization Code |
Callback URL |
コールバックURLがない場合は、アプリケーションのベースURLを入力します。 |
Auth URL |
[adfs-domain-name]/adfs/oauth2/authorize |
Access token URL |
[adfs-domain-name]/adfs/oauth2/token |
Client ID |
AD FS client IDを入力 |
Client secret |
AD FS client secretを入力 |
Scope |
OpenID |
Client Authentication |
Send as Basic AUTH Header |
Resource |
詳細オプション タブで、リソース フィールドを コールバックURL と同じ値で追加します。この値はJWTトークンの 「aud」 値です。 |