REST 웹 서비스의 인증 / 액세스 제어를위한 소프트웨어 아키텍처


12

새로운 RESTful 웹 서비스를 설정 중이며 역할 기반 액세스 제어 모델 을 제공해야합니다 . 사용자가 서비스에 액세스 할 수 있도록 사용자 이름과 비밀번호를 제공하고 역할에 따라 서비스를 사용할 수있는 방법 (사용할 수있는 서비스, 읽기 / 읽기 / 쓰기 등)을 제한 할 수있는 아키텍처를 만들어야합니다. 해당 사용자에게 할당되었습니다.

나는 다른 질문들을 둘러 보았고 내가 원하는 것을 발견했다. 예를 들어 서비스를 휴식을 통과 자격 증명을 처리하는 방법에 대한 몇 가지 좋은 논의가 편안 인증 , 모범 사례 . 웹 사이트를 만들 때 프로그래머가 알아야 할 사항 ( 공개 웹 사이트를 구축하기 전에 모든 개발자가 알아야 할 사항)에 대한 훌륭한 지침도 있습니다 .

그러나 이러한 솔루션을 구현하는 소프트웨어 아키텍처의 모범 사례 및 패턴에 대한 좋은 게시물, 기사, 서적을 찾을 수 없었습니다.

구체적으로 특별히:

  • 사용자 세부 정보 및 액세스 권한은 어떻게 저장해야합니까? (데이터 모델, 위치, 형식)
  • 서버에서이를 표현하고 추적하기위한 좋은 디자인 패턴은 무엇입니까? (메모리 세션, 매번 DB 조회 등)
  • 코드베이스에서 이러한 권한을 서비스에 안전하게 매핑하기위한 좋은 패턴은 무엇입니까?
  • 시스템을보다 안전하고 안정적으로 유지하는 데 도움이되는 아키텍처 선택은 무엇입니까?
  • 사람들이 참호에서 얻은 교훈은 무엇입니까?

특정 기술 이외의 소프트웨어 아키텍처에 대한 디자인 패턴과 권장 사항을 찾고 있습니다.

(기술이 중요하다면 파이썬, 트위스트 및 postgresql 데이터베이스를 사용하여 이것을 구현할 계획입니다)


당신을 위해 그것을 쓸 누군가가 필요한 것처럼 들린다;)
Martin Blore

불행히도 그것은 방법처럼 보입니다. 스택 의이 부분이 어디에도 설명되어 있지 않은 것이 이상해 보였습니다. newegg, digg 또는 심지어 stackoverflow와 같은 사이트가 백엔드의 사용자 자격 증명 및 액세스를 처리하는 방법에 대한 글을 찾을 수 있다고해도 도움이 될 것입니다.
Allen

이것에 어떤 진전이 있었습니까?
Bryan Agee 2012 년

oAuth2 를 고려 습니까? 있다 서버와 클라이언트 라이브러리를 쉽게 그것을 구현해야 많은 인기있는 언어에 대해 사용 가능한이.
Sam

답변:


5

OpenAM.

http://forgerock.com/openam.html

사용자 세부 정보 및 액세스 권한은 어떻게 저장해야합니까? (데이터 모델, 위치, 형식)

Identity Manager 웹 서버와 분리하십시오. LDAP 기반.

서버에서이를 표현하고 추적하기위한 좋은 디자인 패턴은 무엇입니까? (메모리 세션, 매번 DB 조회 등)

당신의 프레임 워크에 의해 해결. 더 이상 생각하지 마십시오. 이미 구축 된 프레임 워크의 좋은 디자인 패턴을 사용하십시오.

코드베이스에서 이러한 권한을 서비스에 안전하게 매핑하기위한 좋은 패턴은 무엇입니까?

당신의 프레임 워크에 의해 해결. 각 프레임 워크는 약간 다른 접근 방식을 사용합니다. 언어마다 기능이 약간 다릅니다. 예를 들어, 장고는 이것을 위해 파이썬의 데코레이터를 많이 사용합니다.

시스템을보다 안전하고 안정적으로 유지하는 데 도움이되는 아키텍처 선택은 무엇입니까?

더? 무엇보다?


특정 설정에서는 OpenAM과 같은 것을 사용할 수 없다고 생각합니다. 전사적 싱글 사인온이 필요하지 않습니다. 더 작고 독립적 인 것이 필요하다고 생각합니다.
Allen

@Allen. 전사적 인 싱글 사인온에는 사용하지 않습니다. 간단한 신원 관리에 사용합니다.
S.Lott
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.