Skip to main content
SnapCenter software
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

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を構成する

  1. サーバー マネージャー ダッシュボード > ツール > ADFS 管理 に移動します。

  2. ADFS > アプリケーション グループ に移動します。

    1. アプリケーション グループ を右クリックします。

    2. アプリケーション グループの追加 を選択し、アプリケーション名 を入力します。

    3. *サーバーアプリケーション*を選択します。

    4. *次へ*をクリックします。

  3. *クライアント識別子*をコピーします。

    これがクライアントIDです。..[リダイレクトURI]にコールバックURL(SnapCenter ServerのURL)を追加します。..*次へ*をクリックします。

  4. *共有シークレットの生成*を選択します。

    シークレット値をコピーします。これがクライアントのシークレットです。..*次へ*をクリックします。

  5. *概要*ページで*次へ*をクリックします。

    1. *完了*ページで*閉じる*をクリックします。

  6. 新しく追加された*アプリケーション グループ*を右クリックし、*プロパティ*を選択します。

  7. アプリのプロパティから*アプリケーションの追加*を選択します。

  8. *アプリケーションを追加*をクリックします。

    Web APIを選択し、[次へ]をクリックします。

  9. [Web APIの構成]ページで、SnapCenter ServerのURLと前の手順で作成したクライアントIDを[識別子]セクションに入力します。

    1. *[追加]*をクリックします。

    2. *次へ*をクリックします。

  10. *アクセス制御ポリシーの選択*ページで、要件に基づいて制御ポリシーを選択し (たとえば、すべてのユーザーを許可し、MFA を要求する)、*次へ*をクリックします。

  11. *アプリケーションの権限の構成*ページでは、デフォルトで openid がスコープとして選択されているので、*次へ*をクリックします。

  12. *概要*ページで*次へ*をクリックします。

    *完了*ページで*閉じる*をクリックします。

  13. サンプル アプリケーションのプロパティ ページで、OK をクリックします。

  14. 承認サーバ(AD FS)によって発行され、リソースによって消費されることを意図したJWTトークン。

    このトークンの「aud」つまりオーディエンス要求は、リソースまたはWeb APIの識別子と一致している必要があります。

  15. 選択したWebAPIを編集し、コールバックURL(SnapCenter ServerのURL)とクライアント識別子が正しく追加されていることを確認します。

    ユーザ名を要求として提供するようにOpenID Connectを設定します。

  16. サーバー マネージャーの右上にある ツール メニューの下にある AD FS 管理 ツールを開きます。

    1. 左側のサイドバーから*アプリケーション グループ* フォルダを選択します。

    2. Web API を選択し、[編集] をクリックします。

    3. [発行変換規則]タブに移動します。

  17. *ルールの追加*をクリックします。

    1. クレーム ルール テンプレートのドロップダウンで、LDAP 属性をクレームとして送信 を選択します。

    2. *次へ*をクリックします。

  18. *クレームルール*の名前を入力します。

    1. 属性ストアのドロップダウンで*Active Directory*を選択します。

    2. LDAP 属性 ドロップダウンで User-Principal-Name を選択し、送信クレーム タイプ ドロップダウンで UPN を選択します。

    3. *[完了]*をクリックします。

PowerShellコマンドを使用したアプリケーション グループの作成

PowerShellコマンドを使用して、アプリケーション グループ、Web APIを作成し、スコープと要求を追加できます。これらのコマンドは、自動スクリプト形式で使用できます。詳細については、<KB 記事へのリンク> を参照してください。

  1. 次のコマンドを使用して、AD FSに新しいアプリケーション グループを作成します。

    New-AdfsApplicationGroup -Name $ClientRoleIdentifier -ApplicationGroupIdentifier $ClientRoleIdentifier

    `ClientRoleIdentifier`アプリケーショングループの名前

    `redirectURL`承認後のリダイレクト用の有効なURL

  2. AD FSサーバ アプリケーションを作成し、クライアント シークレットを生成します。

    Add-AdfsServerApplication -Name "$ClientRoleIdentifier - Server app" -ApplicationGroupIdentifier $ClientRoleIdentifier -RedirectUri $redirectURL -Identifier $identifier -GenerateClientSecret

  3. ADFS Web APIアプリケーションを作成し、使用するポリシー名を設定します。

    $identifier = (New-Guid).Guid

    Add-AdfsWebApiApplication -ApplicationGroupIdentifier $ClientRoleIdentifier -Name "App Web API"

    -Identifier $identifier -AccessControlPolicyName "Permit everyone"

  4. クライアントIDとクライアント シークレットは1回しか表示されないため、次のコマンドの出力から取得します。

    "client_id = $identifier"

    "client_secret: "$($ADFSApp.ClientSecret)

  5. 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);

    "@

  6. 変換規則ファイルを書き出します。

    $transformrule |Out-File -FilePath .\issueancetransformrules.tmp -force -Encoding ascii $relativePath = Get-Item .\issueancetransformrules.tmp

  7. 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クライアントからユーザ クレデンシャルを入力するように求められます。さらに、ベアラー トークンを取得するには、2 要素認証 (ユーザーが所有している情報と、ユーザーが何者であるか) を入力する必要があります。

+ ベアラー トークンの有効期間はアプリケーションごとに AD FS サーバーから構成可能で、デフォルトの有効期間は 60 分です。

フィールド

Value

助成金の種類

Authorization Code

Callback URL

コールバックURLがない場合は、アプリケーションのベースURLを入力します。

Auth URL

[adfsドメイン名]/adfs/oauth2/authorize

Access token URL

[adfsドメイン名]/adfs/oauth2/トークン

クライアントID

AD FSクライアントIDを入力します。

Client secret

AD FSクライアント シークレットを入力します。

Scope

OpenID

クライアント認証

Send as Basic AUTH Header

リソース

詳細オプション タブで、コールバック URL と同じ値を持つリソース フィールドを追加します。この値は、JWT トークンの "aud" 値として提供されます。