AI에 특정 Managed Host의 읽기 전용 권한만 부여하기
완성 결과: 실제 인증된 AI 클라이언트가 branch-a의 호스트/프로세스 정보를 조회할 수 있지만 임의 명령 실행과 다른 대상에 대한 권한은 없습니다.원격 MCP에는 single443와 신뢰할 수 있는 공개 HTTPS가 필요합니다. Claude·ChatGPT 연결을 완료하고 이 실습에서는 별도 최소 권한 identity를 사용하세요.
1단계 — 서버·Agent·배포 모드 확인

2단계 — AI Identity와 최소 권한 Object 생성

set ai-identity의 Guided Wizard에서 실제 인증에 필요한 설정을 구성합니다. 대화형 AI는 지원되는 OAuth Authorization Code 인증을 사용합니다. 서버 계약에 맞는 OAuth 방식 지정:
3단계 — 특정 호스트와 읽기 권한만 WHITELIST 허용
Server REPL:4단계 — 공개 MCP TLS 주소 구성

5단계 — 실제 MCP 클라이언트 로그인/허용·거부 시험
- 원격 MCP/OAuth를 지원하는 실제 AI 클라이언트에 **https://mcp.example.net/mcp**를 Custom Remote MCP 엔드포인트로 추가합니다. 제품/플랜의 실제 지원 여부를 먼저 확인하세요.
- OAuth Authorization Code 로그인 및 동의를 완료합니다. 검증된 사용자/클라이언트가 의도한 auditor-ai에 대응하는지 확인하고, 보류 승인 요청도 인증된 주체를 검토한 뒤 처리합니다.
- 제공되는 MCP 도구 목록에서 branch-a의 host-info 조회를 실제 실행해 성공을 확인합니다.
- 명령 실행 등 허용하지 않은 동작을 요청하여 명시적 정책 DENY인지 확인합니다.
- Server REPL에서 감사:
장애/권한 철회
실패하면 TLS·OAuth·클라이언트 플랜·Agent 신뢰·AI Access Rule을 서로 구분해 점검합니다. 파일 접근에는 경로 제한 paths가 필요하며 읽기 권한에 명령 실행을 포함하지 않습니다.system credential revoke ai-identity auditor-ai는 기존 인증을 끊는 보안 작업이므로 의도한 때만 수행하세요. Rule 제거는 unset ai-access auditor-host 영향 검토 후 실행하며 다른 ID나 인증서를 삭제하지 않습니다.
최신 동작 확인 — 2026-10-28
Claude와 ChatGPT 실제 MCP 테스트가 완료되었습니다. 클라이언트 연결 가이드를 따르고 최초 소유자 mcp-owner-full-access까지 전체 유효 정책을 확인하세요. observer를 추가해도 기존 command-exec 권한은 제거되지 않습니다. 소유자 권한이 넓다면 이 읽기 전용 실습에는 별도 비소유자 identity가 필요합니다. 현재 CLI 전체 목록 · MCP 호환성로그 파일만 읽도록 추가 제한
운영자가 branch-a의 /var/log/myapp/health.log에 민감정보 없는 실습 로그를 준비한 경우, AI Access 파일 예제의 app-reader Rule을 사용합니다. Claude/ChatGPT에 해당 파일 read_file만 요청하고 command-exec나 다른 경로는 허용하지 마세요. file-read 정책 테스트에는 path를 반드시 포함합니다. 실제 파일 존재·OS 권한과 도구의 ALLOW·DENY를 각각 확인합니다. MCP만 사용할 신규 Managed Host는set enrollment bulk에서 count 1, SSH 사용자명 빈 값으로 management-only 등록합니다. Choose Remote Services는 서비스가 하나 이상 필요합니다. SSH/RDP를 게시할 필요가 없고 기존 정상 호스트는 재등록하지 않습니다.