55.3. RBCD를 사용하여 서비스에 대한 액세스 위임
RBCD를 사용하여 서비스에 대한 액세스를 위임하려면 서비스가 실행 중인 호스트에 규칙을 추가해야 합니다. 이 예제 절차에서는 Kerberos 서비스 HTTP/client.example.test
를 사용하여 웹 애플리케이션의 파일 서버 nfs/client.example.test
에 사용자 자격 증명을 위임하는 방법을 설명합니다. 호스트가 항상 자체적으로 실행되는 서비스를 관리하므로 client.example.test
호스트에서 이 작업을 수행할 수 있습니다.
사전 요구 사항
-
client.example.test
호스트의/etc/krb5.keytab
파일에 액세스할 수 있습니다. -
nfs/client.example.test
서비스 키탭이 있습니다. -
HTTP/client.example.test
의 키탭/path/to/web-service.keytab
이 있습니다.
절차
client.example.test
호스트에서 Kerberos 티켓을 받습니다.# kinit -k
RBCD ACL을 정의합니다.
# ipa service-add-delegation nfs/client.example.test HTTP/client.example.test ------------------------------------------------------- Added new resource delegation to the service principal "nfs/client.example.test@EXAMPLE.TEST" ------------------------------------------------------- Principal name: nfs/client.example.test@EXAMPLE.TEST Delegation principal: HTTP/client.example.test@EXAMPLE.TEST
검증
위임이 올바르게 설정되었는지 확인하려면 HTTP
서비스를 통해 testuser
사용자 로그인을 시뮬레이션하고 NFS
서비스로 프로토콜 전환을 수행할 수 있습니다.
NFS 서비스를 보고 위임 규칙이 있는지 확인합니다.
# ipa service-show nfs/client.example.test Principal name: nfs/client.example.test@EXAMPLE.TEST Principal alias: nfs/client.example.test@EXAMPLE.TEST Delegation principal: HTTP/client.example.test@EXAMPLE.TEST Keytab: True Managed by: client.example.test
HTTP 서비스 주체의 Kerberos 티켓을 받습니다.
# kinit -kt http.keytab HTTP/client.example.test
티켓 부여 티켓이 있는지 확인합니다.
# klist -f Ticket cache: KCM:0:99799 Default principal: HTTP/client.example.test@EXAMPLE.TEST Valid starting Expires Service principal 10/13/2023 14:39:23 10/14/2023 14:05:07 krbtgt/EXAMPLE.TEST@EXAMPLE.TEST Flags: FIA
testuser
를 대신하여 프로토콜 전환을 수행합니다.# kvno -U testuser -P nfs/client.example.test nfs/client.example.test@EXAMPLE.TEST: kvno = 1
testuser
를 대신하여 프로토콜 전환 중에 얻은 티켓이 있는지 확인합니다.# klist -f Ticket cache: KCM:0:99799 Default principal: HTTP/client.example.test@EXAMPLE.TEST Valid starting Expires Service principal 10/13/2023 14:39:38 10/14/2023 14:05:07 HTTP/client.example.test@EXAMPLE.TEST for client testuser@EXAMPLE.TEST, Flags: FAT 10/13/2023 14:39:23 10/14/2023 14:05:07 krbtgt/EXAMPLE.TEST@EXAMPLE.TEST Flags: FIA 10/13/2023 14:39:38 10/14/2023 14:05:07 nfs/client.example.test@EXAMPLE.TEST for client testuser@EXAMPLE.TEST, Flags: FAT