Datasette 1.0a20의 새로운 SQL 기반 권한 시스템

  • Datasette 1.0a20 버전은 SQL을 기반으로 하는 새로운 권한 시스템을 도입하여 이전 API의 중요한 변경을 구현했습니다. 이는 권한 논리를 SQLite에서 실행되는 SQL로 이전한 것입니다.
  • 새로운 permission_resources_sql() 플러그인 훅은 이전의 permission_allowed(actor, action, resource) 훅을 대체하며, 이번 변경 사항의 핵심적인 역할을 합니다. 이 새로운 훅은 트루/폴스를 반환하는 대신, 배우가 특정 작업을 수행할 수 있는 리소스를 결정하는 규칙을 반환하는 SQL 쿼리를 반환합니다.
  • 새로운 권한 시스템은 효율적으로 액세스할 수 있는 테이블 목록을 제공하는 데 중점을 두고 있으며, SQLite의 강력한 레코드 필터링 기능을 활용하여 이 문제를 해결합니다.
  • Datasette의 권한 시스템은 계층, 플러그인, 거부 및 제한을 포함하여 복잡한 요구 사항을 충족하도록 설계되었습니다. 이는 사용자에게 테이블 또는 데이터베이스 수준에서의 행 삽입 권한을 부여할 수 있는 기능을 포함합니다.
  • 새로운 디버깅 도구가 추가되어 사용자에게 특정 작업과 관련된 리소스를 목록화하거나, 권한 규칙을 이해하고 디버그하기 쉽게 만들었습니다.
  • 새로운 시스템은 특정 리소스에 작업을 수행할 수 있는 모든 배우의 목록을 제공하지는 못하며, 이는 데이터 시스템 내 배우 목록을 추적할 수 없기 때문입니다.
  • 클로드 코드와 코덱스 CLI를 사용하여 플러그인 업그레이드를 자동화함으로써, 시스템 변경을 지원하며, 전환 비용을 최소화하고 기존의 테스트를 유지하는 데 집중하고 있습니다.
  • 이 변화를 통해 많은 내부 도구와 디버깅 인터페이스가 개선되었으며, LLM(대규모 언어 모델)의 지원으로 품질이 향상된 코드를 작성할 수 있었습니다.
  • 앞으로는 플러그인 생태계를 업그레이드하여 새로운 권한 시스템을 통합하고, 연말까지 1.0 버전을 출시하는 것을 목표로 하고 있습니다.

2simonwillison.net링크 복사하기
AI 뉴스 요약은 뉴스의 내용을 AI가 요약(GPT-4 활용)한 것입니다. 따라서 틀린 내용을 포함할 수 있습니다. 뉴스의 자세한 내용을 확인하시려면 해당 뉴스 링크를 클릭해주세요.
원본 뉴스 보기