SnapCenter Software 4.9

to English version

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

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

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

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

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

    3. 次へ をクリックします。

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

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

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

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

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

    1. Complete ページで、 Close をクリックします。

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

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

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

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

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

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

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

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

  11. アプリケーションアクセス許可の構成] ページで、既定ではopenidがスコープとして選択されているので、 [次へ をクリックします。

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

    完了 ページで、 * Close* をクリックします。

  13. サンプルアプリケーションプロパティ ページで、OK をクリックします。 .承認サーバー (AD FS) によって発行され、リソースによって使用されることを意図したJWTトークン。

    このトークンの’aud’またはaudienceクレームは、リソースまたはWeb APIの識別子と一致する必要があります。 .選択したWebAPIを編集し、コールバックURL (SnapCenter Server URL) とクライアント識別子が正しく追加されていることを確認します。

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

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

    1. 左サイドバーから Application Groups フォルダを選択します。

    2. Web APIを選択し、EDIT をクリックします。

    3. Go-to Issue Transform Rules タブ

  15. 規則の追加 をクリックします。

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

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

  16. *クレームルール*名を入力します。

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

    2. LDAP属性 ドロップダウンで ユーザープリンシパル名 を選択し、 送信要求の種類 ドロップダウンで UPN を選択します。

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

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

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

  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からベアラートークンを取得します。

任意の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」 値です。

Top of Page