기능 요청: 관리자 권한 키 없이 사이트 설정에 대한 안전한 API 접근 허용

제 이해로는 /site/settings.json에 대한 관리자 접근 권한이 필요하고 /site.json의 일부 정보가 필요한 것은 Discourse의 예상되는 동작입니다.

Discussion Bridge와 유사한 통합 기능들은 일상적인 진단, 계획 및 동기화를 위해 제한된 사이트 설정 정보 세트가 필요합니다. 현재 이 작업에는 관리자와 연결된 API 키를 사용해야 할 수 있습니다. 읽기 전용 관리자 키는 쓰기 작업을 방지하지만, 관리자가 읽을 수 있는 모든 정보를 여전히 노출시킬 수 있습니다. 전역 관리자 키는 일상적인 기계 운영에 대해 불필요하게 큰 위험을 수반합니다.

Discourse에서 다음 중 하나를 제공할 수 있을까요?

  • /site.json/site/settings.json의 적절하고 안전한 하위 집합에 대한 읽기 접근 권한을 비관리자 통합 사용자에게 부여하는 세분화된 API 키 범위를 제공하거나;
  • 통합 기능들이 일반적으로 필요한 비민감한 설정 정보를 포함하는 별도 엔드포인트를 제공하는 것입니다.

Discourse는 이미 일반 사용자를 위한 사용자 API 키를 지원하지만, 이는 이 문제를 해결하지 못합니다. 키는 해당 사용자에게 이미 있는 권한만 행사할 수 있기 때문입니다. 따라서 이 요청은 통합 기능이 필요한 제한된 사이트 설정 데이터에 대한 안전한 비관리자 권한 부여를 구체적으로 의미하며, 단순히 키를 생성하는 또 다른 방법을 원하는 것이 아닙니다.

그 목적은 개인적인 관리자 설정을 노출시키는 것이 아닙니다. 승인된 비관리자 통합 계정이 일상적인 관리자 수준의 자격 증명을 요구받지 않고도 필요한 사이트 구조와 운영 설정을 검사할 수 있도록 하는 것입니다.

이를 통해 자격 증명 위험을 줄이고, 최소 권한 원칙에 기반한 통합을 지원하며, 지속 가능한 기계 간(machine-to-machine) 도구를 더 안전하게 운영하기 쉽게 만들 수 있습니다.

배경: Confirming API Access to Authoring Limit Site Settings

3개의 좋아요

이 의견에 크게 공감합니다!

우리 조직에는 도움을 주고 싶어 하는 멤버들이 많지만, 그들이 제안한 작업을 실제로 구현하려면 관리자 권한이 필요합니다. 이로 인해 권한과 접근 범위를 더 세밀하게 설정할 수 있는 방법이 있다면 충분히 구현할 수 있는 다양한 기능과 서비스를 제공하기가 매우 어렵습니다. 여러 이유로 인해 우리는 권한 부여에 대해 매우 제한적으로 접근해야 하는데, 이는 파괴적이지 않은 사이트 설정을 일부 멤버가 쉽게 관리할 수 있음에도 불구하고 모든 것을 처리해야 하는 관리자 부담을 가중시킵니다… 하지만 그들은 그럴 권한이 없습니다.

이 내용을 올려주셔서 감사합니다!

2개의 좋아요

구체적으로 어떤 사이트 설정을 말씀하시는 건지 더 자세히 알려 주실 수 있으신가요?

모든 사이트 설정에 대해 제한 없는 읽기 전용 접근 권한을 부여하는 것은 다소 무리한 접근 방식이라고 생각되며, SaaS 키와 같이 매우 민감한 설정들도 포함될 수 있습니다.

특정 사이트 설정에 대해 그룹별 읽기 전용 접근 권한을 부여하는 플러그인을 개발해 보시는 건 어떨까요?

상당히 작은 규모의 플러그인이 될 것입니다.

1개의 좋아요

저에게 묻는 건가요, 아니면 @jenmck 님에게?

현재 비관리자 사용자의 접근 권한이 부족한 상태이므로, 이것이 일반적인 방식이 되게 하기 위해 요청한 것입니다. :slight_smile:

당신에게요.

무슨 말씀인지 잘 모르겠어요 :confused: 다시 말씀해 주시겠어요?

1개의 좋아요

목표는 통합 작업을 수행하면서, 관리자 사용자가 사용하는 글로벌 스코프 키나 관리자 사용자가 사용하는 세분화된 스코프 키를 사용하지 않고 필요한 설정에 접근하고 설정하는 것입니다. 관리자 사용자를 연결해야 하는 한, 접근 권한 제한에 있어 세분화된 스코프 키는 큰 도움이 되지 않습니다. 이 설명이 도움이 되기를 바랍니다.

플러그인을 사용하라는 제안은 좋은 아이디어이지만, 현재 기능 집합으로 플러그인을 원하지 않습니다. Astro 사용자가 Discourse와 연결하려면 플러그인을 설치해야 하는 상황을 원하지 않습니다.

아니요, 그 문장을 다시 표현해 달라는 뜻이었어요. 문장이 말이 안 됐거든요.

이게 뭔가요? 그리고 정확히 어떤 설정에 대한 접근 권한이 필요한가요?

Astro 사용자란 무엇인가요?

아직 완벽하진 않지만, 요청하신 내용입니다.

SSG

1개의 좋아요

그렇다면 이 모든 것을 구축하고 있다면, 맞춤 라우트에서 몇 가지 설정을 읽기 전용으로 제공하기 위한 작은 플러그인을 만드는 것이 왜 그렇게 큰 문제일까요?

제 생각에는 이 부분에 대한 Discourse의 동작 방식을 변경해야 하므로 기능 요청을 한 것입니다. 제 의견으로는 플러그인이 필요하지 않아야 합니다.

플러그인 없이도 우회 방법을 가지고 있어 시스템은 작동하지만, 덜 이상적인 방식으로 작동합니다. 플러그인은 추가될 예정이며, 플러그인 내에서 구성할 수 있는 추가적인 기능 세트가 포함될 것입니다.

저에게도 의미가 없습니다. 단어의 스파게티(어지러운 문장 구조)를 죄송합니다. :grinning_face:

1개의 좋아요