Amazon Web Services ブログ

アプリケーションマスキングを使用して Amazon AppStream 2.0 のイメージ管理をシンプルにする

このブログは2021年2月16日に Spencer DeBrosse によって投稿された “Simplify Amazon AppStream 2.0 image management with Application Masking” をソリューションアーキテクトの菅野が翻訳したものです。

はじめに

アプリケーションマスキングは、管理者が決定した基準に基づいて、エンドユーザーのアプリケーション、フォント、およびその他のアイテムへのアクセスを管理する仕組みです。 アプリケーションマスキングは、FSLogix で利用できる機能の1つです。 アプリケーションマスキングを使用すると、管理者は Active Directory セキュリティグループメンバーシップに基づいて、または割り当てられた Amazon AppStream 2.0 スタックに基づいて、アプリケーションとフォルダを表示または非表示にすることができます。 以前、プロファイルコンテナを使用して Amazon AppStream2.0 でアプリケーション設定の永続性を最適化するための FSLogix の利点について説明しています。

アプリケーションマスキングには、Amazon AppStream2.0 デスクトップビューを利用するお客様にとって以下のようなメリットがあります:

  1. イメージ管理をシンプルにします。 Amazon AppStream 2.0 管理者は、さまざまなユーザーグループに対して複数のフリートを維持する場合があります。 アプリケーションマスキングを使用すると、管理者はすべてのアプリケーションを単一の「ゴールデン」イメージにインストールすることが可能です。 アプリケーションマスキングは、 Active Directory セキュリティグループのメンバーシップに基づいて、各フリートのユーザーに正しいアプリケーションを表示します。 同様に、複数のイメージやグループポリシーを必要とせずに、ディレクトリ全体を非表示にしたり、特定のユーザーグループに表示したりすることが可能です。
  2. ライセンスのコンプライアンスをサポートします。 管理者は、ライセンスされたソフトウェアを特定の制限されたエンドユーザーに対して提供したい場合があります。 管理者は、Amazon AppStream 2.0 イメージにライセンスされたソフトウェアを追加し、アプリケーションマスキングを構成して、エンドユーザーが使用可能なソフトウェアのみを表示させることが可能です。
  3. エンドユーザーのエクスペリエンスを向上させます。 以前のブログで、Microsoft AppLocker を使用して Amazon AppStream 2.0 でのアプリケーションエクスペリエンスを管理する方法について説明しました。 AppLocker を使用すると、管理者は、エンドユーザーが使用可能なアプリケーションを制御することができます。 ただし、AppLocker では、アプリケーションファイルと実行ファイルがエンドユーザーから見えてしまい、実行権限の無いアプリケーションにアクセスしようとするとエラーが発生してしまいます。 アプリケーションマスキングは、アクセスできなくするだけではなく、ウィンドウのスタートメニュー、ファイルエクスプローラー、ユーザーのデスクトップ上のアプリケーション (およびその他のリソース) を非表示にします。 その結果、エンドユーザーに、よりシンプルで不満の少ないエクスペリエンスを提供することが可能です。

このブログでは、Amazon AppStream 2.0 でアプリケーションマスキングを設定するために必要な手順について説明します。 特定のエンドユーザーにアプリケーションの権限を与える以下2つの方法を検討します:

  1. スタックを割り当てる。 フリートをドメインに参加していない場合に選択できる方法です。 Active Directory セキュリティグループのメンバーシップに基づいてユーザーにアプリケーションの権限を与えたくない場合にこの戦略を使用します。 また、ストリーミング URL またはユーザープールを使用してエンドユーザーにアクセスを提供する場合にも選択可能な方法です。
  2. Active Directory セキュリティグループのメンバーシップを用いる。 フリートをドメインに参加させており、Active Directory グループメンバーシップを用いてアプリケーションの権限を付与したい場合に選択すべき方法です。

注:アプリケーションマスキングは、アプリケーションビューフリートが提供するアプリケーションカタログを変更するものではありません。 ドメインに参加しているアプリケーションビューフリートを使用しているお客様は、動的アプリケーションフレームワークを使用することで、ユーザーの Active Directory セキュリティグループメンバーシップに基づいてアプリケーションカタログを作成するソリューションを構築することが可能です。

前提条件

  • AWS アカウント
  • イメージビルダー、スタック、およびフリートを設定してある Amazon AppStream 2.0 の環境
  • Amazon AppStream 2.0 フリートをドメインに参加させており、Active Directory グループを使用してアプリケーションの権限を管理したいお客様の場合:
    • ドメインに参加済みであるイメージビルダーとフリート。 Amazon AppStream 2.0 フリートがまだドメインに参加していない場合は、 Amazon AppStream 2.0 で Active Directory を使用するの手順に従って設定してください。
    • アプリケーションの権限を持つエンドユーザーを設定済みの Active Directory グループ
    • ドメイン管理者としてアクセスする、またはグループを作成してそのグループにドメインユーザーを追加する権限を委譲されたユーザーとしてアクセスする。
  • デスクトップビューを使用するように設定した Amazon AppStream 2.0 フリート。 フリートでアプリケーションビューを使用している場合、FSLogix アプリケーションマスキングは、ユーザーに表示されるアプリケーションカタログを自動的に更新しません。 この場合は、Amazon AppStream 2.0 動的アプリケーションフレームワークを使用して、動的アプリケーションプロバイダーを構成してください。
  • FSLogix の資格要件を満たしている

スタックの割り当てを使用してユーザーにアプリケーションの権限を付与

このセクションでは、スタックの割り当てを使用してエンドユーザーにアプリケーションの権限を与えるための手順を説明します。 Amazon AppStream 2.0 イメージに FSLogix アプリケーションマスキングをインストールして構成する手順について説明します。 ここでは、事前に定義されたユーザーおよびインスタンスのメタデータ環境変数の1つである AppStream_Stack_Name 環境変数を使用します。

例えば、アプリケーション要件が異なる2つのユーザーグループ (group-1 と group-2) があり、各ユーザーグループに割り当てられたスタック (Group1Stack と Group2Stack)と、各スタックに関連付けられたフリート (Group1Fleet と Group2Fleet) があるとします。 アプリケーションマスキングを使用すると、同一イメージを両方のフリートに関連付けすることができます。 エンドユーザーがセッションを開始すると、FSLogix エージェントは AppStream_Stack_Name 環境変数の値を読み取ります。 エージェントは、特定のユーザーグループが表示する権限のあるアプリケーションのみを表示します。

ステップ1:イメージビルダーを準備する

  1. Amazon AppStream 2.0 コンソールで、既存のイメージビルダーを選択して起動し、その後接続します。
  2. ローカル Administrator ユーザーとしてインスタンスにログインします。
  3. イメージビルダー上で Microsoft から FSLogix をダウンロードし、インストーラー (FSLogixAppsRuleEditorSetup.exe) を実行します。
  4. デフォルトのオプションを使用して、インストールウィザードを完了します。
  5. インストールが完了したら、イメージビルダーを停止し、再度起動してください。
  6. FSLogix Rules Editor を起動します。

ステップ2:ルールセットを作成する

  1. イメージビルダーにローカル Administrator ユーザーとして接続します。
  2. FSLogix Rules Editor を開きます。
  3. ルールセットを作成し、特定のユーザーセットにのみ表示させたいアプリケーションやフォルダを選択します。 FSLogix は、アプリケーションの依存関係 (例えば、関連するショートカット、スタートメニューの項目、Program Files 配下のアプリケーションフォルダなど) を自動的に検出します。 また、特定のリソースを隠すために「非表示」ルールを作成することも可能です。 詳細については、FSLogix の公式ドキュメントを参照して、最初のルールセットを作成してください。

注:Amazon AppStream 2.0 の動作に必要なアプリケーションやフォルダを非表示にしないでください。 具体的には、”Photon”、”NICE”、”AWS”、”Storage Connector” の名前を含むアプリケーションです。 これらのアプリケーションを非表示にすると、Amazon AppStream 2.0 インスタンスが不安定になったり、アクセスできなくなったりする可能性があります。

ステップ3:ルールセットをテストする

  1. FSLogix Rules Editor の左側のパネルで “Rule Set” を選択し、”Apply Rules to System” を選択します。 ルールセット内のルールがシステムに適用されます。 ルールがアプリケーションの非表示ルールであった場合、そのアプリケーションはシステム上、表示されなくなります。
  2. 関連するすべてのショートカットとアプリケーションフォルダが期待通りに表示されなくなることを確認してください。

ステップ4:ルールセットの割り当てを設定する

  1. FSLogix Apps RuleEditor で、”File”、”Manage Assignments” の順に選択します。
  2. 割り当てを追加します。
  3. “Environment Variable” を選択します。
  4. “Environment Variable” に “AppStream_Stack_Name” と入力します。 この変数には、エンドユーザーが Amazon AppStream 2.0 セッションを起動したときのスタック名が設定されます。
  5. “Value” には、このルールセットを適用しないユーザーのグループに割り当てられるスタック名を入力します。
  6. ルールセットの割り当ては順番に評価されます。 非表示にするルールについては、”Everyone” に “Yes” (“Applies” の列) を設定します。 次に、非表示ルールを適用したくないグループに “No” を設定します。 またローカルの Administrator グループについても “No” を設定し除外することも重要です。 これにより、管理者がイメージの作成や管理をする際に、アプリケーションが非表示になることを防ぎます。
  7. アプリケーションマスキングで管理したいユーザーのスタックやグループごとに、ステップ4.4と4.5を実行します。
  8. ルールファイル (.fxr) とアサインファイル (.fxa) を “C:Program FilesFSLogix\Apps\Rules” にコピーします。
    注:FSLogix のデフォルトのインストールディレクトリを変更した場合、この場所は異なる可能性があります。
  9. FSLogix サービスはルールをコンパイルし、”C:Program Files\Apps\CompiledRules” に .fxc ファイルと .fxac ファイルを作成します。

ステップ5:イメージを作成してデプロイする

  1. Image Assistantを使用して Amazon AppStream 2.0 イメージの作成を行います。
  2. イメージの作成が完了したら、Amazon AppStream 2.0 イメージをデスクトップビューフリートにデプロイします。 フリートをすぐに更新したい場合は、フリートを停止 / 開始してください。

最後に、構成をテストします。 エンドユーザーがログインすると、FSLogix は AppStream_Stack_Name 環境変数から割り当てられたスタック名を読み取ります。 FSLogix は割り当てられたアプリケーションマスキングルールを適用します。 これにより、そのスタックに割り当てられていないアプリケーションが非表示となります。

Active Directory グループメンバーシップを使用してユーザーにアプリケーションの権限を付与

ドメインに参加している Amazon AppStream 2.0 フリートをお持ちのお客様は、Active Directory のグループメンバーシップに基づいてアプリケーションマスキングルールセットを適用することが可能です。

これにより、Amazon AppStream 2.0 環境の管理とメンテナンスのオーバーヘッドを大幅に削減することができます。 例えば、単一の Amazon AppStream 2.0 イメージ、スタック、およびフリートを、異なるアプリケーション要件を持つ複数のユーザーグループに使用させることが可能です。 ユーザーがセッションを開始すると、FSLogix はそのユーザーの Active Directory グループのメンバーシップを調査します。そして、FSLogix は特定のアプリケーションを非表示にする特定のルールセットを適用します (または適用しません) 。

ステップ1:イメージビルダーを準備する

  1. Amazon AppStream 2.0 コンソールで既存のイメージビルダーを選択して起動し、その後接続します。 イメージビルダーのインスタンスはドメインに参加している必要があります。
  2. イメージビルダーの準備ができたら、ドメイン管理者としてインスタンスにログインします。
  3. イメージビルダー上で Microsoft から FSLogix をダウンロードし、インストーラー (FSLogixAppsRuleEditorSetup.exe) を実行します。
  4. デフォルトのオプションを使用して、インストールウィザードを完了します。
  5. インストールが完了したら、イメージビルダーを停止し、再度起動してください。

ステップ2:ルールセットを作成する

  1. イメージビルダーにドメイン管理者として接続します。
  2. FSLogix Rules Editor を起動します。
  3. ルールセットの割り当てを作成し、前のセクション (「スタックの割り当てを使用してユーザーにアプリケーションの権限を付与」) のステップ2から4で説明したように構成をテストしますが、重要な違いが1つあります。 割り当てを構成する際、”Group” 割り当てを追加し、ルールセットを適用しない Active Directory グループを選択します。
  4. 割り当てを設定する際には、Amazon AppStream 2.0 の管理者を含むグループも除外してください。 これにより、管理者がイメージの作成や管理をする際に、アプリケーションが非表示になることを防ぎます。
  5. ルールセットの割り当ては順番に評価されます。 非表示にするルールについては、”Everyone” に “Yes” (“Applies” の列) を設定します。 次に、非表示ルールを適用したくないグループに “No” を設定します。 以下の設定では、指定したグループのユーザーと管理者以外のすべての人に非表示ルールが適用されます。
  6. ルールファイル (.fxr) とアサインファイル (.fxa) を “C:Program Files FSLogixApps\Rules” にコピーします。
    注:この場所は、FSLogix のデフォルトのインストールディレクトリを変更した場合には異なる可能性があります。
  7. FSLogix サービスはルールをコンパイルし、”C:Program Files\Apps\CompiledRules” に .fxc ファイルと .fxac ファイルを作成します。

ステップ3:イメージを作成してデプロイする

  1. Image Assistantを使用して Amazon AppStream 2.0 イメージの作成を行います。
  2. イメージの作成が完了したら、ドメインに参加しているデスクトップビューフリートに Amazon AppStream 2.0 イメージをデプロイします。新しいイメージでフリートを更新するには、フリートを停止してから開始します。
  3. Amazon AppStream 2.0 のエンドユーザーを適切な Active Directory グループに割り当てます (FSLogix Rule Editor で 割り当てを構成する際に参照したグループ) 。 これにより、エンドユーザーがセッションを開始する際に正しいルールセットが適用されるようになります。

最後に、構成をテストします。 ユーザがセッションを開始すると、FSLogix はユーザの Active Directory グループメンバーシップに基づいてルールセットを適用すべきかどうかを判断します。 ユーザーがアプリケーションマスキングルールセットが適用されるグループに属している場合、FSLogix は接続しているユーザーから特定のアプリケーションを非表示にします。 非表示になる可能性のあるリソースとしては、アプリケーションフォルダ、ショートカット、およびスタートメニュー項目が含まれます。

クリーンアップ

このブログで作成したリソースを削除するためには以下を実行してください:

  1. テスト用に作成したイメージが割り当てられたフリートを停止して削除します。
  2. FSLogix コンポーネントがインストールされたイメージビルダーインスタンスを削除します。
  3. Image Assistant を使用して作成したイメージを削除します。

次のステップと最適化

  • この手順では、アプリケーションマスキングのルールを Amazon AppStream 2.0 のイメージに保存しました。 アプリケーションマスキングファイル (.fxrファイル および .fxaファイル) を Amazon FSx for Windows File Server などの共有ネットワーク上のディレクトリに保存することも可能です。 グループポリシーまたはセッションスクリプトを設定して、ユーザーがセッションを開始したときに、共有ディレクトリからルールディレクトリにファイルをコピーします。 ルールディレクトリは、”C:Program Files\FSLogix\Apps\Rules” となります。 この構成により、アプリケーションマスキングルールを Amazon AppStream 2.0 イメージのライフサイクルとは別に管理することが可能となります。
  • カスタム環境変数に基づいてルールセットを割り当てることが可能です。 Amazon AppStream 2.0 は、ユーザーがセッションコンテキストを使用してストリーミング URL 経由でスタックにアクセスする場合、カスタム環境変数をセッションに渡すことがサポートされています。 それ以外の場合、管理者はアプリケーションマスキングのルールを構成する際に、定義済みのユーザーおよびインスタンスメタデータの環境変数を利用する必要があります。
  • このブログでは、アプリケーション、関連するアプリケーションアーティファクト (ショートカット、スタートメニュー項目など)、およびフォルダを特定のグループのユーザーから隠すために「非表示ルール」を利用しました。 FSLogix のアプリケーションマスキングは、リダイレクトルールを使って特定のフォルダ、ファイル、またはレジストリ値をリダイレクトするためにも使用できます。

まとめ

アプリケーションマスキングは、Amazon AppStream 2.0 の管理者がイメージ管理とライセンスコンプライアンスをよりシンプルにするために使用できます。 この機能により、多くのアプリケーション (ライセンスアプリケーションを含む) を備えた単一のイメージを作成し、ユーザーの Active Directory セキュリティグループのメンバーシップに基づいて、これらのアプリケーションを (選択して) 非表示にすることができます。 Amazon AppStream 2.0 で Active Directory を使用していない場合は、ユーザーのスタックの割り当てに基づいてアプリケーションマスキングルールを適用することができます。

注:アプリケーションマスキングは、アプリケーションビューフリートが提供するアプリケーションカタログを変更するものではありません。 ドメインに参加しているアプリケーションビューフリートを使用しているお客様は、動的アプリケーションフレームワークを使用することで、ユーザーの Active Directory セキュリティグループメンバーシップに基づいてアプリケーションカタログを作成するソリューションを構築することが可能です。

FSLogix やプロファイルコンテナなどの他の FSLogix の機能については、以下をご参照ください:

Amazon AppStream 2.0の詳細については、以下をご参照ください: