[현상]
SharePoint 내 AD 의 도메인 그룹 혹은 사용자를 추가한 상태에서 해당 object 를 삭제하고 동일한 ID 로 다시 생성한 경우 접근을 할 수 없음
[점검 내역]
- 조직 구성
- TestOU1
- TestOU1_Sub1
- TestOU1_Sub1_User1
- TestOU1_Sub1_User2
- TestOU1_Sub2
- TestOU1_Sub2_User1
- TestOU1_Sub2_User2
- TestOU1_User1
- TestOU1_User2
- TestOU2
- TestOU2_User1
- TestOU2_User2
- 사이트 구성
- extranet.spnote.com
- TestOU1, TestOU2 도메인 그룹에 읽기 권한 추가 - TeamSite_OU1
- TestOU1 도메인 그룹에 읽기 권한 추가 - TeamSite_OU2
- TestOU2 도메인 그룹에 읽기 권한 추가
- 테스트
- 사용자 이동
- 그룹: TestOU1_User2 를 TestOU2 로 이동 (정상 동작)
- OU 만 이동 시 권한의 변화 없음 (그룹 간 이동이 아님) - 이동 전
- 이동 후
- 사용자 삭제: TestOU1_User2
- 재 인증 요청함
- 사용자만 다시 추가: TestOU1_User2
- 인증은 했으나 Access Denied 됨
- TestOU1 그룹에 TestOU1_User2 추가 (정상 동작)
- TestOU1 그룹 삭제
- 접근 불가
- TestOU1 그룹 재 생성, 사용자 멤버 재 구성 후에도 접근 불가
- 브라우저 재 시작해도 접근 불가
- IIS 에서 App Recycle, Reset 해도 접근 불가
- User Profile compile 은 VM 에 구성되지 않아서 테스트 불가 (과거 운영에서 시도 시 되지 않았음)
- The User Profile Replication Engine will not replicate distribution lists or security groups,
but it will replicate site memberships (for example, My Sites).
- 관리자로 로그인하여 사이트 접근 권한 확인 시 접근 불가 상태 확인
[원인]
SharePoint 에서는 동일한 ID 의 계정이지만 내부에서 관리하는 SID(Security Identifier) 가 다르므로 다른 권한으로 인식하여 Object 가 다시 추가되더라도 접근을 할 수 없는 현상.
[해결]
- Migration 처리
- AD Groups cannot be used to assign permissions in SharePoint
- 재 생성된 사용자 혹은 그룹의 Migration 처리
- SharePoint 내부 DB 에서 Guid 필드값이 업데이트 됨
- 이후 정상 접속됨
[참고] 상세 테스트
- Domain Group, Domain Group 내 사용자, 직접 추가된 사용자 삭제
- 그룹 권한(TestOU1_Sub2) 삭제
- (#1) 그룹 권한(TestOU1_Sub2) 추가 시 레코드 추가됨
- Domain Group 일 경우 Token 필드에, 그룹 내 사용자는 ExternalToken, ExternalTokenLastUpdated 필드에 값이 있음 - (#2) 그룹 내 사용자가 최초 로그인 시 레코드 추가됨
- TestOU1_Sub2_User2 - (#1) TestOU1_Sub2 그룹 삭제 시
- TestOU1_Sub2_User2 접근 불가
- DB 값 변화 없음
- (#1) TestOU1_Sub2 그룹 재 생성, 멤버 구성
- 변화 없음 (3번과 동일함) - Group Migration
- SystemID 변경 됨
- 정상 로그인 됨
- 그룹 권한(TestOU1_Sub2) 내의 AD 계정(TestOU1_Sub2_User2) 삭제
- 변화 없음
- 페이지 접속 시 인증창 나타남
- DB 값 변화 없음
- AD Object 재 생성 및 TestOU1_Sub2 그룹에 멤버로 추가
- 정상 로그인 됨
- SharePoint 에 추가된 그룹 내 사용자는 Migration 하지 않아도 재 인식
- 사용자는 SharePoint 에 직접 추가된 것이 아님 - 기존 레코드의 tp_Deleted, tp_ExternalToken, ExternalTokenLastUpdated 값 변경되고 신규 레코드가 추가됨
- AD User (SID_Test2, 3) 삭제
- TeamSite4 의 Members 그룹에 SID_Test2, SID_Test3 사용자 추가
- SID_Test2 는 삭제, SID_Test3 는 삭제 후 재 생성하고 MigrateUser 수행
- 두 계정 로그인 후
- 두 계정 삭제 후
- 접속 시 인증창 나타남
- DB 변화 없음 - AD User(SID_Test3) 만 다시 생성
- 사이트 접속 시 Access Denied
- User migration
- SID_Test2
- 사용자 존재하지 않거나 유일하지 않다고 표시됨
- 접속 시 인증창 나타남
- SID_Test3
- 정상 적용됨
- 정상 로그인
- SharePoint 권한: 변화 없음