2016-09-30 4 views
0

Azure Active Directory에 대해 인증하는 Linux Pluggable Authentication Module (PAM)을 만드는 데 관심이 있습니다. Oauth 2.0이 Microsoft에서이 용도로 사용하는 것으로 보입니다.Architecture Direction Help : Azure Active Directory PAM 모듈 만들기

Authentication Scenarios을 검토 할 때 "데몬 또는 서버 응용 프로그램"이 가장 적합 할 것 같지만 긍정적이지는 않습니다. "웹 응용 프로그램에 대한 기본 응용 프로그램"이 가능할 수도 있지만, PAM에서 불가능한 것으로 보이는 팝업 브라우저 인스턴스를 시작으로 보여주는 모든 응용 프로그램 흐름이 인증 될 수 있습니다. 결과적으로, 내가 반응을 파기하지 않는다면 흐름이 제대로 작동하지 않는 것으로 보이며, 응답을 폐기하는 것은 나쁜 생각처럼 보입니다.

내 질문 :

  1. 이 시나리오에 대한 사용자의 자격 증명을 확인하는 가장 좋은 방법은 무엇입니까? 데몬 또는 기본 응용 프로그램입니까?
  2. 이렇게하기 위해 내가 바라는 거친 흐름은 무엇입니까? (예 : 데몬을 사용하는 경우 사용자의 신빙성을 확인하기 위해 어떤 전화를합니까?)
  3. 2FA가 사용자에게 사용 설정된 경우 어떤 결과가 나옵니까?

감사합니다. 내가 사용할 수있는 옵션 중 아무 것도 여기에 맞지 않는 것처럼 느껴지고, 여기에 많은 시간을 투자 할 때까지 올바른 방향으로 가고 있는지 확인하고 싶습니다. 그는 "기본 응용 프로그램"을 사용하기로 결정했습니다

https://github.com/bureado/aad-login

: 좋아

답변

1

bureado의 PAM 당신에이 OAuth는 "자원 소유자 암호 자격 증명을 부여"로 알려진 것을 사용 가리 킵니다. 기본적으로 사용자의 사용자 이름은 &이며 Azure AD에 인증을 위해 패스합니다. 비토리오 (Vittorio)가 here을 묘사 한 몇 가지 제한 사항이 있습니다. 당신이 지적한 핵심 문제는 MFA가 작동하지 않는다는 것입니다.

Azure AD는 OAuth "Device Profile Flow"도 지원합니다. 여기 .NET에서 수행하는 방법을 보여주는 코드 샘플이 있습니다. https://github.com/Azure-Samples/active-directory-dotnet-deviceprofile. 그 길로가는 것이 좋습니다.

+0

감사합니다. 이것은 내가 생각한 것을 확인하고 필요한 모든 정보를 제공합니다. – Doug

0

, 나는 대부분 어쨌든 할 찾고 있어요 일을 할 것으로 보인다 다음 모듈을 발견했다. 나는 이것이 "최선의 선택"이라면 여전히 긍정적이지 못하며 그러므로 나는 이것을 다른 답에 열어 둘 것입니다. 나는 이것이 왜 이것이 최선의 선택인지 설명 할 수 있다면 그것을 좋아할 것이다.

한편, 지금 AAD 그룹 구성원이 같은 pam_ldap의, 또는 pam_kerberos에 가져올 수 얻으려고하지만, 나는이 일을 해야하는 방법을 알아내는 힘든 시간을 보내고있어, 또 다른 질문을 게시 한 :

How to write a PAM module which changes group membership?

누구나이 문제를 나중에 경험해보고 똑같은 일을하고 싶다면이 확장 기능으로 최종 수정 된 솔루션을 공개 할 계획입니다. 그것은 아직하지 않지만, 코드는 여기 GitHub의에 :

https://github.com/CyberNinjas/aad-login