4.4. ドメインユーザーのログインパーミッションの管理
デフォルトでは、ドメイン側のアクセス制御が適用されます。これは、Active Directory (AD) ユーザーのログインポリシーが AD ドメイン自体に定義されることを意味します。クライアント側のアクセス制御を使用できるように、このデフォルトの動作は上書きできます。クライアント側のアクセス制御では、ログインパーミッションはローカルポリシーでのみ定義されます。
ドメインがクライアント側のアクセス制御を適用する場合は、realmd を使用して、そのドメインのユーザーの基本的なアクセスルールである allow または deny を設定できます。
アクセスルールは、システムにあるすべてのサービスへのアクセスを許可または拒否します。特定のシステムリソースまたはドメインに、より具体的なアクセスルールを設定する必要があります。
4.4.1. ドメイン内でユーザーのアクセス権を有効化 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、Active Directory (AD) ユーザーのログインポリシーは AD ドメイン自体で定義されています。このデフォルトの動作をオーバーライドし、AD ドメイン内のユーザーのアクセスを有効にするように RHEL ホストを設定できます。
デフォルトですべてへのアクセスを許可し、レルム許可 -x を使用して特定のユーザーにのみアクセスを拒否することは推奨しません。Red Hat では、代わりに、すべてのユーザーに対してデフォルトのアクセス禁止ポリシーを維持し、レルム許可を使用して選択したユーザーのアクセスのみを許可することが推奨されます。
前提条件
- RHEL システムが Active Directory ドメインのメンバーである。
手順
すべてのユーザーにアクセス権を付与します。
# realm permit --all特定のユーザーにアクセス権を付与します。
$ realm permit aduser01@example.com $ realm permit 'AD.EXAMPLE.COM\aduser01'
現在、アクセスを許可できるのはプライマリードメインのユーザーのみで、信頼できるドメインのユーザーには許可できません。これは、ユーザーログインにドメイン名を含める必要があり、SSSD は、現在、realmd に利用可能な子ドメインに関する情報を提供できないためです。
検証
SSH を使用して、
aduser01@example.comユーザーとしてサーバーにログインします。$ ssh aduser01@example.com@server_name [aduser01@example.com@server_name ~]$ssh コマンドをもう一度使用して、
aduser02@example.comユーザーと同じサーバーにアクセスします。$ ssh aduser02@example.com@server_name Authentication failed.
aduser02@example.com ユーザーがシステムへのアクセスを拒否する方法に注目してください。aduser01@example.com ユーザーにのみ、システムにログインするパーミッションを付与しています。指定したログインポリシーが原因で、その Active Directory ドメインの他のユーザーはすべて拒否されます。
sssd.conf ファイルで use_fully_qualified_names を true に設定すると、すべての要求で完全修飾ドメイン名を使用する必要があります。ただし、use_fully_qualified_names を false に設定すると、要求で完全修飾名を使用できますが、出力には簡略化されたバージョンのみが表示されます。
4.4.2. ドメイン内でユーザーのアクセス権を拒否 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、Active Directory (AD) ユーザーのログインポリシーは AD ドメイン自体で定義されています。このデフォルトの動作をオーバーライドし、AD ドメイン内のユーザーのアクセスを拒否するように RHEL ホストを設定できます。
特定のユーザーまたはグループのアクセスのみを許可する方が、一部のユーザーへのアクセスを拒否して、他のすべてのユーザーにアクセスを許可するよりも安全です。したがって、デフォルトで全ユーザーにアクセスを許可し、レルムの許可 -x を使用して特定のユーザーのみを拒否することは推奨されません。Red Hat では、代わりに、すべてのユーザーに対してデフォルトのアクセス禁止ポリシーを維持し、レルム許可を使用して選択したユーザーのアクセスのみを許可することが推奨されます。
前提条件
- RHEL システムが Active Directory ドメインのメンバーである。
手順
ドメイン内のすべてのユーザーへのアクセスを拒否します。
# realm deny --allこのコマンドは、
realmアカウントがローカルマシンにログインできないようにします。realm permitを使用して、ログインを特定アカウントに制限します。ドメインユーザーの
login-policyがdeny-any-loginに設定されていることを確認します。[root@replica1 ~]# realm list example.net type: kerberos realm-name: EXAMPLE.NET domain-name: example.net configured: kerberos-member server-software: active-directory client-software: sssd required-package: oddjob required-package: oddjob-mkhomedir required-package: sssd required-package: adcli required-package: samba-common-tools login-formats: %U@example.net login-policy: deny-any-login-xオプションを使用して特定のユーザーへのアクセスを拒否します。$ realm permit -x 'AD.EXAMPLE.COM\aduser02'
検証
SSH を使用して、
aduser01@example.netユーザーとしてサーバーにログインします。$ ssh aduser01@example.net@server_name Authentication failed.
sssd.conf ファイルで use_fully_qualified_names を true に設定すると、すべての要求で完全修飾ドメイン名を使用する必要があります。ただし、use_fully_qualified_names を false に設定すると、要求で完全修飾名を使用できますが、出力には簡略化されたバージョンのみが表示されます。