SnapCenter Software 5 マニュアル ( CA08871-403 )
REST API、PowerShell、SCCLIを使用した多要素認証(MFA)の管理
MFAログインは、ブラウザー、REST API、PowerShell、およびSCCLIでサポートされます。MFAは、AD FS IDマネージャーを介してサポートされます。GUI、REST API、PowerShell、SCCLIを使用して、MFAの有効化、MFAの無効化、およびMFAの設定を行うことができます。
AD FSのOAuth / OIDCとしてのセットアップ
Windows GUIウィザードを使用したAD FSの設定
-
サーバー マネージャーで > > [ADFSの管理]*の順に移動します。
-
[ADFS] > [アプリケーション グループ]に移動します。
-
[アプリケーション グループ]を右クリックします。
-
[アプリケーション グループの追加]を選択し、*アプリケーションの名前*を入力します。
-
[サーバー アプリケーション]を選択します。
-
[次へ]をクリックします。
-
-
クライアント識別子をコピーします。
これがクライアントIDです。 .. [リダイレクトURI]にコールバックURL(SnapCenter ServerのURL)を追加します。 .. [次へ]をクリックします。
-
[共有シークレットを生成する]を選択します。
シークレット値をコピーします。これがクライアントのシークレットです。 .. [次へ]をクリックします。
-
[概要]ページで、[次へ]をクリックします。
-
[完了]ページで、[閉じる]をクリックします。
-
-
新しく追加した*アプリケーション グループ*を右クリックし、[プロパティ]を選択します。
-
[アプリケーションのプロパティ]で[アプリケーションの追加]を選択します。
-
[アプリケーションの追加]をクリックします。
[Web API]を選択し、[次へ]をクリックします。
-
[Web APIの構成]ページで、SnapCenter ServerのURLと前の手順で作成したクライアントIDを[識別子]セクションに入力します。
-
[追加]をクリックします。
-
[次へ]をクリックします。
-
-
[アクセス制御ポリシーの選択]ページで、要件に応じて制御ポリシー([すべてのユーザーを許可し、MFAを要求]など)を選択し、[次へ]をクリックします。
-
[アプリケーションのアクセス許可の構成]ページでは、デフォルトで[openid]がスコープとして選択されています。[次へ]をクリックします。
-
[概要]ページで、[次へ]をクリックします。
[完了]ページで、[閉じる]をクリックします。
-
[Sample Application Properties]ページで、[OK]をクリックします。
-
承認サーバー(AD FS)によって発行され、リソースによって消費されることを意図したJWTトークン。
このトークンの「aud」つまりオーディエンス要求は、リソースまたはWeb APIの識別子と一致している必要があります。
-
選択したWebAPIを編集し、コールバックURL(SnapCenter ServerのURL)とクライアント識別子が正しく追加されていることを確認します。
ユーザー名を要求として提供するようにOpenID Connectを設定します。
-
サーバー マネージャーの右上にある[ツール]メニューから[AD FSの管理]ツールを開きます。
-
左側のサイドバーから[アプリケーション グループ]フォルダーを選択します。
-
Web APIを選択し、[編集]をクリックします。
-
[発行変換規則]タブに移動します。
-
-
[規則の追加]をクリックします。
-
[要求規則テンプレート]ドロップダウンで[LDAP属性を要求として送信]を選択します。
-
[次へ]をクリックします。
-
-
*要求規則*名を入力します。
-
[属性ストア]ドロップダウンで[Active Directory]を選択します。
-
[LDAP属性]ドロップダウンで[User-Principal-Name]を選択し、[出力方向の要求の種類]ドロップダウンで[UPN]を選択します。
-
[完了]をクリックします。
-
PowerShellコマンドを使用したアプリケーション グループの作成
PowerShellコマンドを使用して、アプリケーション グループ、Web APIを作成し、スコープと要求を追加できます。これらのコマンドは、自動スクリプト形式で使用できます。詳細については、<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からのBearerトークンの取得
RESTクライアント(Postmanなど)で後述のパラメーターを入力する必要があります。RESTクライアントからユーザー資格情報を入力するように求められます。さらに、Bearerトークンを取得するには、2要素認証(自分が持っているもの、自分がいるもの)を入力する必要があります。
Bearerトークンの有効期間は、アプリケーションごとに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 |
クライアント ID |
AD FSクライアントIDを入力します。 |
Client secret |
AD FSクライアント シークレットを入力します。 |
Scope |
OpenID |
クライアント認証 |
Send as Basic AUTH Header |
Resource |
詳細オプション タブで、リソース フィールドを コールバックURL と同じ値で追加します。この値はJWTトークンの 「aud」 値です。 |