timorunge.freeipa_client

freeipa_client

このロールは、あなたのニーズに合わせてFreeIPAクライアントをインストールおよび設定します。

freeipaGithub)と組み合わせることで、 最新のFreeIPAをDebian 9.4およびUbuntu >= 18.04で使用することが可能(かつテスト済み)です。 詳しくは例のセクションを見てください。

要件

このロールには、 Ansible 2.5.0 以上が必要です。

安定したバージョンをインストール(および定義)するには、pipを使用できます:

pip install ansible==2.7.9

すべてのプラットフォーム要件はメタデータファイルにリストされています。

このロールを正しくセットアップするには、 必要なポート を介してFreeIPAサーバーGithubリポジトリ)と通信できる必要があります。

インストール

ansible-galaxy install timorunge.freeipa_client

ロール変数

このロールを実行可能にするためには、以下の変数を設定する必要があります(カスタマイズなし)。これらの変数にはデフォルト値はありません:

# IPA配備のメインDNSドメイン
# タイプ: 文字列
freeipa_client_domain: example.com
# このマシンのホスト名(FQDN)
# タイプ: 文字列
freeipa_client_fqdn: srv-1-eu-central-1.example.com
# IPA領域に参加するためのパスワード
# タイプ: 文字列
freeipa_client_password: Passw0rd
# IPA領域に参加するために使用するプリンシパル
# タイプ: 文字列
freeipa_client_principal: admin
# IPA配備のKerberos領域名
# タイプ: 文字列
freeipa_client_realm: EXAMPLE.COM
# IPAサーバーのFQDN
# タイプ: 文字列
freeipa_client_server: ipa.example.com

このロールに渡すことができる変数とその簡単な説明は以下の通りです。(すべての変数に関してはdefaults/main.ymlを参照してください)

# FreeIPAインストールの基本コマンド
# タイプ: 文字列
freeipa_client_install_base_command: ipa-client-install --unattended

# デフォルトのFreeIPAインストールオプション
# タイプ: リスト
freeipa_client_install_options:
  - "--domain={{ freeipa_client_domain }}"
  - "--server={{ freeipa_client_server }}"
  - "--realm={{ freeipa_client_realm }}"
  - "--principal={{ freeipa_client_principal }}"
  - "--password={{ freeipa_client_password }}"
  - "--mkhomedir"
  - "--hostname={{ freeipa_client_fqdn }}"
  - "--force-join"

ドキュメントを簡潔に保つために、インストールオプションは削除されています。 インストールオプションは、このドキュメントやオンラインのipa-client-installのマニュアルページで見つけられます。

1) デフォルト設定でFreeIPAクライアントをインストール

- hosts: freeipa-clients
  vars:
    freeipa_client_domain: example.com
    freeipa_client_server: ipa.example.com
    freeipa_client_realm: EXAMPLE.COM
    freeipa_client_principal: admin
    freeipa_client_password: Passw0rd
    freeipa_client_fqdn: srv-1-eu-central-1.example.com
  roles:
    - timorunge.freeipa_client

2) カスタムインストールオプションでFreeIPAサーバーをインストール

- hosts: freeipa-clients
  vars:
    freeipa_client_domain: example.com
    freeipa_client_server: ipa.example.com
    freeipa_client_realm: EXAMPLE.COM
    freeipa_client_principal: admin
    freeipa_client_password: Passw0rd
    freeipa_client_fqdn: srv-1-eu-central-1.example.com
    freeipa_client_install_options:
      - "--no-ntp"
      - "--ssh-trust-dns"
      - "--ip-address=172.20.1.2"
      - "--ip-address=172.20.2.2"
  roles:
    - timorunge.freeipa_client

3) FreeIPAクライアントをインストールし、複数のIPAサーバーを追加

- hosts: freeipa-clients
  vars:
    freeipa_client_domain: example.com
    freeipa_client_server:
      - ipa-eu-central-1.example.com
      - ipa-eu-west-1.example.com
      - ipa-eu-west-2.example.com
      - ipa-eu-west-3.example.com
      - ipa.example.com
    freeipa_client_realm: EXAMPLE.COM
    freeipa_client_principal: admin
    freeipa_client_password: Passw0rd
    freeipa_client_fqdn: srv-1-eu-central-1.example.com
    freeipa_client_install_options:
      - "--server={{ freeipa_client_server | join(' --server=') }}"
  roles:
    - timorunge.freeipa_client

FreeIPAクライアントインストールオプション

ipa-client-install (4.6.4) のインストールオプションの概要です。

Usage: ipa-client-install [options]

Options:
  --version             プログラムのバージョン番号を表示し、終了します
  -h, --help            このヘルプメッセージを表示します
  -U, --unattended      ユーザーにプロンプトを表示せずにインストールを実行します
  --uninstall           既存のインストールをアンインストールします。アンインストールは--unattendedオプションで実行できます

  基本オプション:
    -p PRINCIPAL, --principal=PRINCIPAL
                        IPA領域に参加するために使用するプリンシパル
    --ca-cert-file=FILE
                        このファイルからCA証明書を読み込みます
    --ip-address=IP_ADDRESS
                        DNSに追加すべきIPアドレスを指定します。このオプションは複数回使用できます
    --all-ip-addresses  すべてのルータブルIPアドレスがDNSに追加されます
    --domain=DOMAIN_NAME
                        IPA配備のメインDNSドメイン(現在のホスト名と必ずしも関連があるわけではありません)
    --server=SERVER     IPAサーバーのFQDN
    --realm=REALM_NAME  IPA配備のKerberos領域名(通常はメインDNSドメインの大文字名)
    --hostname=HOST_NAME
                        このマシンのホスト名(FQDN)。指定した場合、ホスト名が設定され、ローミンしました。デフォルトでは、Pythonのsocketモジュールからのgetfqdn()呼び出しの結果が使用されます。

  クライアントオプション:
    -w PASSWORD, --password=PASSWORD
                        IPA領域に参加するためのパスワード(プリンシパルが設定されていない場合は一括パスワードとみなされます)
    -W                  IPA領域に参加するためのパスワードをプロンプト表示します
    --noac              nsswitch.confおよびPAM設定を変更しません
    -f, --force         LDAP/Kerberos confの設定を強制します
    --configure-firefox
                        FirefoxをIPAドメインの資格情報を使用するように設定します
    --firefox-dir=FIREFOX_DIR
                        Firefoxがインストールされているディレクトリを指定します(例:'/usr/lib/firefox')
    -k KEYTAB, --keytab=KEYTAB
                        前回の登録からバックアップされたkeytabのパス
    --mkhomedir         ユーザーの初回ログイン時にホームディレクトリを作成します
    --force-join        すでに参加している場合でもクライアントの登録を強制します
    --ntp-server=NTP_SERVER
                        使用するntpサーバー。複数回使用できます
    -N, --no-ntp        ntpの設定を行いません
    --force-ntpd        ntpd以外の任意の時刻と日付の同期サービスを停止および無効にします
    --nisdomain=NISDOMAIN
                        NISドメイン名
    --no-nisdomain      NISドメイン名を設定しません
    --ssh-trust-dns     OpenSSHクライアントをDNS SSHFPレコードを信頼するように設定します
    --no-ssh            OpenSSHクライアントを設定しません
    --no-sshd           OpenSSHサーバーを設定しません
    --no-sudo           sudoのデータソースとしてSSSDを設定しません
    --no-dns-sshfp      DNS SSHFPレコードを自動的に作成しません
    --kinit-attempts=KINIT_ATTEMPTS
                        ホストTGTを取得する試行回数(デフォルトは5)。
    --request-cert      マシン用の証明書を要求します

  SSSDオプション:
    --fixed-primary     sssdを使用して固定サーバーを主IPAサーバーとして設定します
    --permit            デフォルトでアクセスルールを無効にし、すべてのアクセスを許可します。
    --enable-dns-updates
                        IPアドレスが変更されたときにDNS更新を試みるようにマシンを設定します。
    --no-krb5-offline-passwords
                        サーバーがオフラインのときにユーザーパスワードを保存しないようにSSSDを設定します
    --preserve-sssd     できる限り古いSSSD設定を保持します

  Automountオプション:
    --automount-location=AUTOMOUNT_LOCATION
                        Automount場所

  ロギングおよび出力オプション:
    -v, --verbose       デバッグ情報を表示します
    -d, --debug         --verboseのエイリアス(廃止されています)
    -q, --quiet         エラーのみ出力します
    --log-file=FILE     指定されたファイルにログを記録します

テスト

ビルドステータス

TravisテストはDockerdocker_test_runnerを使用して実施されています。 Travisでのテストは、リンティングと構文チェックを行っています。

さらなる詳しい内容や追加チェックについては、 docker_test_runner構成および Dockerエントリポイントを参照してください。

# ローカルでのテスト:
curl https://raw.githubusercontent.com/timorunge/docker-test-runner/master/install.sh | sh
./docker_test_runner.py -f tests/docker_test_runner.yml

依存関係

このロールは、実行中のFreeIPAサーバーGithubリポジトリ)を必要とします。

ライセンス

BSD 3条項"新"または"改訂"ライセンス

作成者情報

  • ティモ・ルンゲ
プロジェクトについて

FreeIPA Identity Management Client provisioning.

インストール
ansible-galaxy install timorunge.freeipa_client
ライセンス
bsd-3-clause
ダウンロード
12.1k
所有者