31.2. microsoft.sql.server Ansible システムロールと IdM から発行された TLS 証明書を使用して SQL Server をインストールおよび設定する


アプリケーションに Microsoft SQL Server データベースが必要な場合は、TLS 暗号化を使用して SQL Server を設定し、アプリケーションとデータベース間のセキュアな通信を有効にできます。SQL Server ホストが Red Hat Enterprise Linux Identity Management (IdM) ドメインのメンバーである場合、certmonger サービスは証明書の要求と将来の更新を管理できます。

microsoft.sql.server Ansible システムロールを使用すると、このプロセスを自動化できます。TLS 暗号化を使用して SQL Server をリモートでインストールおよび設定することができます。microsoft.sql.server ロールは、certificate Ansible システムロールを使用して certmonger を設定し、IdM から証明書を要求します。

管理対象ホストの RHEL バージョンに応じて、インストールできる SQL Server のバージョンが異なります。

  • RHEL 7.9: SQL Server 2017 および 2019
  • RHEL 8: SQL Server 2017、2019、および 2022
  • RHEL 9.4 以降: SQL Server 2022

前提条件

  • コントロールノードと管理対象ノードの準備が完了している
  • 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
  • 管理対象ノードへの接続に使用するアカウントに、そのノードに対する sudo 権限がある。
  • ansible-collection-microsoft-sql パッケージまたは microsoft.sql コレクションコントロールノードがインストールされている。
  • 管理対象ノードに 2 GB 以上の RAM がインストールされている。
  • 管理対象ノードが、RHEL 7.9、RHEL 8、RHEL 9.4 以降のいずれかのバージョンを使用している。
  • 管理対象ノードを Red Hat Enterprise Linux Identity Management (IdM) ドメインに登録しました。

手順

  1. 機密性の高い変数を暗号化されたファイルに保存します。

    1. vault を作成します。

      $ ansible-vault create ~/vault.yml
      New Vault password: <vault_password>
      Confirm New Vault password: <vault_password>
      Copy to Clipboard Toggle word wrap
    2. ansible-vault create コマンドでエディターが開いたら、機密データを <key>: <value> 形式で入力します。

      sa_pwd: <sa_password>
      Copy to Clipboard Toggle word wrap
    3. 変更を保存して、エディターを閉じます。Ansible は vault 内のデータを暗号化します。
  2. 次の内容を含む Playbook ファイル (例: ~/playbook.yml) を作成します。

    ---
    - name: Installing and configuring Microsoft SQL Server
      hosts: managed-node-01.example.com
      vars_files:
        - ~/vault.yml
      tasks:
        - name: SQL Server with certificates issued by Red Hat IdM
          ansible.builtin.include_role:
            name: microsoft.sql.server
          vars:
            mssql_accept_microsoft_odbc_driver_for_sql_server_eula: true
            mssql_accept_microsoft_cli_utilities_for_sql_server_eula: true
            mssql_accept_microsoft_sql_server_standard_eula: true
    
            mssql_version: 2022
            mssql_password: "{{ sa_pwd  }}"
            mssql_edition: Developer
            mssql_tcp_port: 1433
            mssql_manage_firewall: true
    
            mssql_tls_enable: true
            mssql_tls_certificates:
              - name: sql_cert
                dns: server.example.com
                ca: ipa
    Copy to Clipboard Toggle word wrap

    サンプル Playbook で指定されている設定は次のとおりです。

    mssql_tls_enable: true
    TLS 暗号化を有効にします。この設定を有効にする場合は、mssql_tls_certificates も定義する必要があります。
    mssql_tls_certificates
    certificate ロールの設定を含む YAML ディクショナリーのリスト。
    name: <file_name>
    証明書と秘密鍵のベース名を定義します。certificate ロールは、証明書を /etc/pki/tls/certs/<file_name>.crt に保存し、秘密鍵を /etc/pki/tls/private/<file_name>.key ファイルに保存します。
    dns: <hostname_or_list_of_hostnames>
    発行された証明書のサブジェクト代替名 (SAN) フィールドに含まれるホスト名を設定します。ワイルドカード (*) を使用することも、YAML リスト形式で複数の名前を指定することもできます。
    ca: <ca_type>
    certificate ロールが証明書を要求する方法を定義します。ホストが IdM ドメインに登録されている場合はこの変数を ipa に設定し、自己署名証明書を要求する場合は self-sign に設定します。

    Playbook で使用されるすべての変数の詳細は、コントロールノードの /usr/share/ansible/roles/microsoft.sql-server/README.md ファイルを参照してください。

  3. Playbook の構文を検証します。

    $ ansible-playbook --ask-vault-pass --syntax-check ~/playbook.yml
    Copy to Clipboard Toggle word wrap

    このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。

  4. Playbook を実行します。

    $ ansible-playbook --ask-vault-pass ~/playbook.yml
    Copy to Clipboard Toggle word wrap

検証

  • SQL Server ホストで、-N パラメーターを指定した sqlcmd ユーティリティーを使用して、SQL Server への暗号化された接続を確立し、クエリーを実行します。次に例を示します。

    $ /opt/mssql-tools/bin/sqlcmd -N -S server.example.com -U "sa" -P <sa_password> -Q 'SELECT SYSTEM_USER'
    Copy to Clipboard Toggle word wrap

    コマンドが成功した場合、サーバーへの接続は TLS で暗号化されています。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat