123.4. スマートカードで認証されたユーザーが再認証を求められることなく sudo を実行できるように Web コンソールを設定する
RHEL Web コンソールでユーザーアカウントにログインした後、Identity Management (IdM) システム管理者として、スーパーユーザー権限でコマンドを実行することが必要になる場合があります。制約付き委任 機能を使用すると、再度認証を求められることなく、システムで sudo を実行できます。
制約付き委任を使用するように Web コンソールを設定するには、次の手順に従います。以下の例では、Web コンソールセッションは myhost.idm.example.com ホストで実行されます。
前提条件
-
IdM
adminTicket-Granting Ticket (TGT) を取得している。 - Web コンソールサービスが IdM に存在する
- myhost.idm.example.com ホストが IdM に存在する。
-
IdM サーバー上のドメイン管理者への
adminsudoアクセスを有効化している。詳細は、IdM ホストの IdM 管理者の sudo アクセスの有効化 を参照してください。 Web コンソールは、ユーザーセッションに
S4U2ProxyKerberos チケットを作成している。これを確認するために、IdM ユーザーで Web コンソールにログインし、Terminalページを開き、以下を入力します。$ klist Ticket cache: FILE:/run/user/1894000001/cockpit-session-3692.ccache Default principal: user@IDM.EXAMPLE.COM Valid starting Expires Service principal 07/30/21 09:19:06 07/31/21 09:19:06 HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM 07/30/21 09:19:06 07/31/21 09:19:06 krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM for client HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
手順
委任ルールでアクセス可能な対象ホストのリストを作成します。
サービス委任ターゲットを作成します。
$ ipa servicedelegationtarget-add cockpit-target委任ターゲットに対象ホストを追加します。
$ ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/myhost.idm.example.com@IDM.EXAMPLE.COM
サービス委任ルールを作成し、
HTTPサービスの Kerberos プリンシパルを追加することで、cockpitセッションが対象ホストのリストにアクセスできるようにします。サービス委任ルールを作成します。
$ ipa servicedelegationrule-add cockpit-delegationWeb コンソールサービスを委任ルールに追加します。
$ ipa servicedelegationrule-add-member cockpit-delegation \ --principals=HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM委任ターゲットを委任ルールに追加します。
$ ipa servicedelegationrule-add-target cockpit-delegation \ --servicedelegationtargets=cockpit-target
System Security Services Daemon (SSSD) と連携して Generic Security Service Application Program Interface (GSSAPI) を介してユーザーを認証するための PAM モジュールである
pam_sss_gssを有効にします。-
/etc/sssd/sssd.confファイルを開いて編集します。 ドメインの IdM で
pam_sss_gssがsudoおよびsudo -iコマンドの認証を提供できるように指定します。[domain/idm.example.com] pam_gssapi_services = sudo, sudo-i- ファイルを保存し、終了します。
-
/etc/pam.d/sudoファイルを編集用に開きます。 次の行を
#%PAM-1.0リストの先頭に挿入して、sudoコマンドの GSSAPI 認証を許可しますが、必須ではありません。auth sufficient pam_sss_gss.so- ファイルを保存し、終了します。
-
上記の変更がすぐに有効になるように、
SSSDサービスを再起動します。$ systemctl restart sssd