SQL スクリプトを使用して App-V 4.5 データベースを作成する

このソリューションの対象は誰ですか? Application Virtualization (App-V) 4.5 データベースを管理する情報テクノロジの専門家。

このガイドはどのように役立ちますか? このソリューションでは、インストールする管理者が、SQL Serverに対する "sysadmin" 特権を持っていない場合に Microsoft Application Virtualization Server をインストールする手順について説明し、説明します。

概要

Microsoft Application Virtualization 4.5 (App-V) をインストールする場合の課題の 1 つは、インストール プログラムでは、サーバー機能をインストールするユーザーがローカル コンピューター管理者であるだけでなく、データ ストアをホストする SQL サーバーに対する SQL 管理者特権も持つと想定していることです。 この要件は、データベースと適切なロールとアクセス許可がインストールの一部として作成されるという事実に基づいています。 ただし、ほとんどの企業では、SQL サーバーは、App-V をインストールするインフラストラクチャ チームとは別に管理されます。 これらのセキュリティ要件により、SQL 管理者が App-V をインストールするインフラストラクチャ管理者に適切な権限を与えるのが困難になります。同様に、SQL 管理者は、インフラストラクチャ チームの製品をインストールするために必要な特権を持ちません。

現在、App-V のインストールを試みる管理者には、SQL "sysadmin" 権限が必要です。 以前のバージョンの製品では、SQL 管理者が一時的な "sysadmin" アカウントを作成するか、インストール中に "sysadmin" 特権を持つ資格情報を提供するためのセットアップを許可しました。 このリリースでは、すべての管理者がインフラストラクチャを実装するときに使用できるように、リリースされた製品にスクリプトが用意されています。

このホワイト ペーパーでは、SQL データベースの作成と App-V サーバー機能のインストールという 2 つの個別のタスクにインストールを分割する必要があるシナリオについて説明します。 SQL 管理者は、SQL スクリプトを確認し、他のデータベースとの競合を解決したり、他のツールとの統合をサポートしたりするために変更を加えることができるようになります。 スクリプトの結果は、SQL 管理者がデータベースを準備できるようにして、インフラストラクチャ管理者に SQL サーバーの高度な権限を付与する必要がないようにすることです。 これは、セキュリティ ポリシーでこれを禁止する環境で重要です。

SQL データベース作成プロセスの概要

SQL スクリプトを使用すると、SQL 管理者が必要なデータベースを作成し、App-V 管理者が環境を正常にインストールおよび管理するための特権を設定することもできます。 これらのタスクを完了する手順については、このドキュメントの後半で説明します。

このプロセスにより、データベースの作成アクションと構成アクションが実際の App-V インストールから分離されます。

SQL 管理者に提供する情報

  • App-V 管理者になる AD グループの名前

  • App-V 管理サーバーがインストールされるサーバーの名前

インフラストラクチャ管理者に返される情報

  • データベース サーバーまたはインスタンスの名前と App-V データベースの名前

データベースの準備が完了すると、App-V 管理者は SQL 管理者特権なしで App-V インストールを実行できます。

SQL セットアップ スクリプトの使用

要件

選択した抽出場所のルートにあるフォルダーにある support\createdb スクリプトを使用するための要件の一覧を次に示します。

  • スクリプトは、実行するコンピューター上の書き込み可能な場所にコピーする必要があります (コピー後に、これらのスクリプトから読み取り専用属性を削除してください)、SQL クライアント ツールをそのコンピューターに読み込む必要があります (osql ローカル コンピューターでサンプル バッチ ファイルを実行する場合にのみ必要です)。

  • SQL Serverは Windows 認証をサポートしている必要があります。

  • SQL Server インスタンスと SQL エージェント サービスが実行されていることを確認します。

  • スクリプトが実行されるコンピューター上の SQL 管理者 (sysadmin) であるドメイン アカウントでサインインします。

スクリプトは、サインインしているユーザーのドメイン資格情報で実行されます。

SQL 管理者が実行するタスク

  1. フォルダーに含まれるスクリプトを support\createdb 、選択した抽出場所のルートから、スクリプトが実行されるコンピューターにコピーします。 スクリプトを正しく実行するには、次のファイルが必要であり、次の順序で呼び出す必要があります。

    • database.sql

    • roles.sql

    • table_CODES.sql

    • functions_before_tables.sql

    • tables.sql

    • functions.sql

    • views.sql

    • procedures.sql

    • triggers.sql

    • data_codes.sql

    • data_messages.sql

    • data_defaults.sql

    • alerts_jobs.sql

    • dbversion.sql

  2. 必要に応じて、ファイルを確認して変更します database.sql 。 既定の設定では、データベースに という名前を付けます APPVIRTDB

    • 必要に応じて、 の APPVIRTDB インスタンスを使用する予定のデータベース名に置き換えます。

    • データベースをFILENAME作成するSQL Serverの適切なパスを使用して、スクリプト内の プロパティを変更します。

  3. 必要に応じて、ファイルで使用されたファイル内の roles.sql を確認して変更database name [APPVIRTDB]しますdatabase.sql

バッチ ファイルを使用してプロセスを自動化する方法の例

使用する場合、提供される 2 つのサンプル バッチ ファイルでは、次の方法で SQL スクリプトが実行されます。

  1. Create_schema.bat (1)

    • database.sql

    • roles.sql

  2. Create_tables.bat (2)

    • table_CODES.sql

    • functions_before_tables.sql

    • tables.sql

    • functions.sql

    • views.sql

    • procedures.sql

    • triggers.sql

    • data_codes.sql

    • data_messages.sql

    • data_defaults.sql

    • alerts_jobs.sql

    • dbversion.sql

スクリプトを変更する場合は慎重に検討する必要があり、適切な知識を持つユーザーのみが行う必要があります。 また、表示されるサンプル ファイルの変更 create_schema.batは、、 create_tables.batdatabase.sql、および roles.sqlです。 他のすべてのファイルは、データベースが誤って作成され、App-V サービスのインストールが失敗する可能性があるため、いかなる方法でも変更しないでください。

2 つのサンプル バッチ ファイルは、残りの SQL スクリプトがコンピューター上にコピーされたのと同じディレクトリに配置する必要があります。

  1. サンプル create_schema.bat ファイルを実行してデータベースを作成します。 このスクリプトの完了には数秒かかるので、中断しないでください。

    • コピー先のディレクトリから作成 schema.bat ファイルを実行します。 構文は次のとおりです。 Create_schema.bat SQLSERVERNAME

      出力例を含む create_schema.bat を実行しているコマンド プロンプトのスクリーンショット。

    • 新しいAPPVIRTDBデータベースの作成時にこのスクリプトが失敗した場合は、示されているようにログをチェックして問題を修正します。 後続の試行が適切に機能するように、スクリプトの部分的な実行で作成されたデータベースを削除する必要があります。

  2. ファイルを create_tables.bat 実行して、データベースにテーブルを作成します。 このスクリプトの完了には数秒かかるので、中断しないでください。

    • create_tables.batコピーされたディレクトリからファイルを実行します。 構文は次のとおりです。 create_tables.bat SQLSERVERNAME DBNAME

      出力例を含む create_table.bat を実行しているコマンド プロンプトのスクリーンショット。

      テーブルの作成中にスクリプトが失敗した場合は、示されているようにログをチェックして問題を修正します。 後続のすべての試行でファイルを実行 create_schema.bat する前に、データベースを create_tables.bat 削除して実行する必要があります。

App-V データベースに対するアクセス許可の設定

次のアカウントは、App-V 環境のインストール、デプロイ、継続的な管理のために、新しいデータベースに対する特定のアクセス許可とロールを持つ SQL サーバーに作成する必要があります。

  • SQL Serverで App-V 管理者グループのサインインを作成しAPPVIRTDB、"domain\App-V Admins" のデータベース ("domain" と "App-V Admins" が自分の環境を反映するように変更されます) を作成し、データベース ロールと SFTEveryone データベース ロールにSFTAdmin追加します。

    SOFTGRID ログインが SFTadmin ロールと SFTeveryone ロールにマップされている SQL ログインのスクリーンショット。

  • グローバル レベルでこのグループに "VIEW ANY DEFINITION" アクセス許可を付与します。 このアクセス許可を使用すると、Microsoft Application Virtualization Management Server のセットアップ プロセスで、管理サーバーのサインインが既に存在することを確認できます。 SQL Server 2005 以降では、 に含まれるmaster.dbメタデータへのアクセス制限が追加されました。 前の手順で作成したユーザーは、既定では、サーバーのインストールに必要な権限を持っていません。 以前に作成したサインイン、ログイン プロパティ、セキュリティ保護可能なプロパティを開きます。 次のスクリーンショットに示すように、データベース インスタンスを追加し、"任意の定義の表示" に対して "GRANT" を有効にします。

    SQL ログイン プロパティの [セキュリティ保護可能] ページのスクリーンショット。CHEC サーバーに

  • 前の ROLE_ASSIGNMENTS 手順で作成したサインインのテーブルにロールを追加して、App-V 管理者が Application Virtualization Management コンソールにアクセスできるようにします。ロール = "ADMIN" と group_ref = "domain\App-V Admins" ("domain" と "App-V Admins" は、独自の環境を反映するように変更されます)。

    dbo を示すオブジェクト エクスプローラー SQL Server Management Studioのスクリーンショット。テーブルと ADMIN ロールをROLE_ASSIGNMENTSします。

  • 管理サーバーのSQL Serverと App-V データベースのサインインを作成します。 このアカウントは、Microsoft Application Virtualization Management Server によってデータ ストアに接続するために使用され、ストリーミング されたアプリケーションのクライアント要求のサービスを担当します。 SQL Serverと管理サーバーをインストールする場所に応じて、次の 2 つのオプションがあります。

    1. 管理サーバーとSQL Serverが同じコンピューターにインストールされる場合は、 のサインインNT AUTHORITY\NETWORK SERVICEを追加し、 および SFTEveryone データベースロールにSFTUser追加します。

    2. 管理サーバーとSQL Serverを別のコンピューターにインストールする場合は、"domain\App-V Server Name$" のサインイン ("App-V サーバー名" は App-V 管理サーバーがインストールされるサーバーの名前) を追加し、データベース ロールと SFTEveryone データベース ロールにSFTUser追加します。

  • SQL ウィンドウでクエリ ウィンドウを開き、次の SQL を実行します。

    USE APPVIRTDB
    GRANT ALTER ON ROLE::SFTuser TO "domain\App-V Admins"
    

    APPVIRTDBは、前の手順でSQL Serverに作成した App-V データベースの名前であり、App-v サーバーのインストールを行うユーザーは "domain\App-V Admins" のメンバーである必要があります ("domain" と "App-V Admins" は、自分の環境を反映するように変更されます)。

インフラストラクチャ管理者が実行するタスク

  1. "App-V Admins" グループの管理者は、App-V をインストールする必要があります。

    前の手順で作成したSQL Serverとデータベースを選択するには、SQL 管理者の情報を使用します。

  2. "App-V Admins" グループの管理者は、Application Virtualization Management Console にログインし、管理コンソールから次のオブジェクトを削除します。

    Warning

    このタスクは、既存のデータベースに対してインストールを実行した場合に設定されないデータベース内の特定のレコードを、従来のセットアップで設定するときに必要です。

    • [サーバー グループ]、[既定のサーバー グループ] の下の [Application Virtualization Management Server] を削除します

    • [サーバー グループ] で、"既定のサーバー グループ" を削除します

    • [プロバイダー ポリシー] で、"既定のプロバイダー" を削除します

  3. App-V 管理者グループの管理者は、次を作成する必要があります。

    • [プロバイダー ポリシー] で、新しいプロバイダー ポリシーを作成します

    • "既定のサーバー グループ" を作成する

      使用しない場合でも、"既定のサーバー" グループを作成する必要があります。 サーバー インストーラーは、サーバーの追加時にのみ "既定のサーバー グループ" を検索します。 "既定のサーバー グループ" がない場合、インストールは失敗します。 既定以外のサーバー グループを使用する場合は、インフラストラクチャに後続の App-V 管理サーバーを追加する予定がある場合は、"既定のサーバー グループ" を保持する必要があります。

    • 上記で作成した新しいプロバイダー ポリシーに App-V ユーザー グループを割り当てる

    • [サーバー グループ] で、新しいプロバイダー ポリシーを指定して新しいサーバー グループを作成します

    • [新しいサーバー] グループで、新しいアプリケーション仮想化管理サーバーを作成します

    重要

    上記のすべての手順を完了する前に、サービスを再起動しないでください。

    • 管理者は、Application Virtualization Management Server サービスを再起動します。

まとめ

結論として、このドキュメントの情報を使用すると、管理者は SQL 管理者と連携して、organizationのセキュリティ部門と管理部門に適した展開パスを開発できます。 このドキュメントを読み、文書化されているタスクをテストした後、管理者はこの種類の環境で App-V インフラストラクチャを実装する準備が整う必要があります。