프로비저닝을 수명 주기 계약으로 취급
SCIM은 신원 정보가 교환되는 방식을 표준화할 수 있지만 플랫폼이 SCIM을 지원한다고 해서 전체 액세스 수명주기가 설정되는 것은 아닙니다. 요구 사항에서는 지원되는 리소스 및 속성, 사용자가 테넌트에 바인딩되는 방식, 역할 변경의 의미 및 비활성화가 기존 액세스에 미치는 영향을 식별해야 합니다. 프로비저닝 응답은 모든 세션, 내보내기 권한 또는 API 자격 증명이 취소되었음을 자동으로 증명하지 않습니다.
RFC 7643 사용자 및 그룹 리소스를 포함한 SCIM 핵심 스키마를 정의합니다. RFC 7644 프로비저닝에 대한 프로토콜 작업 및 고려 사항을 정의합니다. 이러한 기본 사양은 요구 사항에 대한 어휘를 제공하지만 EmailAuth 특정 엔드포인트 또는 수명 주기 동작을 구현한다는 증거는 아닙니다. 이 원고를 준비하는 동안 어떤 사용자도 생성, 변경, 비활성화 또는 삭제되지 않았습니다.
식별자 및 테넌트 바인딩 설정
서비스 공급자의 리소스 식별자, 사용된 프로비저닝 클라이언트의 상관 관계 식별자 및 작업이 적용되는 테넌트를 기록합니다. RFC 7643 id와 externalId를 구별합니다. 변경 가능한 이메일 주소로 임의로 대체해서는 안 됩니다. 새로운 사람이 이전 계정을 상속해야 함을 암시하지 않고도 사용자의 주소나 표시 이름이 변경될 수 있습니다. 애플리케이션이 기존 리소스를 식별하고 업데이트가 다른 테넌트의 사용자를 대상으로 하는 것을 방지하는 방법을 정의합니다.
RFC 7644 에서는 하나의 범용 테넌시 구현을 규정하지 않고 다중 테넌트 및 클라이언트와 테넌트 연결에 대해 논의합니다. 실제 공급자에게 바인딩 모델(인증된 프로비저닝 클라이언트가 어떤 테넌트 및 리소스 세트에서 작동할 수 있는지)을 설명하도록 요구합니다. 요청에 제공된 테넌트 식별자는 그 자체로는 충분한 인증이 아닙니다. 구현에서는 목록, 검색 및 수명 주기 작업을 포함하여 인증된 클라이언트와 요청된 범위 간의 관계를 설정해야 합니다.
지원되는 리소스 및 업데이트 동작 지정
어떤 사용자 및 그룹 속성이 허용, 반환, 불변, 필수 또는 무시되는지 물어보세요. 문서 확장 및 그룹 멤버십에서 애플리케이션 권한까지의 모든 매핑. 그룹 개체에 대한 성공적인 업데이트 자체만으로는 해당 애플리케이션 역할이 변경되었음을 증명하지 않습니다. 액세스 동작을 별도로 확인해야 합니다. 모든 SCIM 지원 플랫폼이 동일한 필터, PATCH 작업 또는 검색 엔드포인트를 지원한다고 가정하지 마세요.
RFC 7644 검색, 생성, 교체, 수정, 삭제 등의 작업을 정의하고 서비스 공급자 구성 검색에 대해 설명합니다. 이러한 메커니즘을 사용하여 지원되는 기능에 대해 정확한 질문을 해보세요. 해당되는 경우 문서화된 오류 동작 및 동시성 지원을 유지합니다. 작업이 지원되지 않는 경우 일반 SCIM 레이블을 사용 권한으로 처리하기보다는 지원되는 대안을 기록하세요. 이 작업에서는 엔드포인트 검색이나 요청 실행이 발생하지 않았습니다.
철회를 고안하지 않고 비활성화를 정의합니다.
RFC 7643 사용자 활성 속성을 서비스 공급자가 최종 의미를 결정하는 관리 상태 표시기로 설명합니다. 이것은 중요한 자격입니다. active를 false로 설정한다고 해서 모든 활성 세션, API 토큰 또는 모든 구현에서 위임된 통합이 무효화된다고 가정할 수는 없습니다. 요구 사항은 의도된 액세스 결과를 명시하고 실제로 변경되는 사항을 보여주는 현재 플랫폼 증거를 요구해야 합니다.
비활성화된 사용자를 삭제된 리소스 및 그룹 멤버십 제거와 구별합니다. 각각은 액세스, 감사 기록 보관 및 나중에 재활성화에 대해 서로 다른 결과를 초래할 수 있습니다. 공급업체에게 기존 세션의 작동 방식, 긴급 취소 수행 방식, SCIM 수명 주기 외부에 있는 비대화형 자격 증명을 설명하도록 요구합니다. 플랫폼에 별도의 격리 조치가 필요한 경우 "오프보딩 완료" 상태 뒤에 숨기지 말고 해당 조치와 승인을 문서화하세요.
역할 변경 및 유지된 액세스 권한 확인
역할 축소는 캐시되거나 불완전한 인증 업데이트를 노출할 수 있으므로 특히 유용한 테스트입니다. 초기에 허용된 작업을 정의하고, 픽스처 환경에서 승인된 수명 주기 변경을 적용하고, 현재 허용되지 않는 작업이 플랫폼의 문서화된 타이밍에 따라 거부되는지 확인하세요. 테스트 설명을 실행된 주장과 별도로 유지하세요. 사용자 인터페이스 레이블이 변경되었는지 여부만 평가하지 마십시오.
Azure의 다중 테넌트 ID 지침 신원, 승인 및 자격을 분리합니다. 요구 사항에 이러한 분리를 적용합니다. SCIM은 애플리케이션이 리소스 권한 부여 및 상업적 자격 결정을 내리는 동안 사용자 또는 그룹 데이터를 전달할 수 있습니다. 제거된 라이선스, 비활성화된 계정, 제거된 관리 역할이 반드시 동일한 작업은 아닙니다. 각 결정을 소유한 시스템과 일관성 없는 상태가 어떻게 감지되는지 기록합니다.
액세스 매트릭스 워크시트
프로비저닝 클라이언트, 바인딩된 테넌트, 대상 리소스, 작업, 의도된 역할 또는 수명 주기 상태, 예상되는 인증 결과 및 증거 위치가 포함된 매트릭스를 만듭니다. 읽기, 검색, 내보내기 관련 애플리케이션 액세스, 쓰기 및 사용자 수명주기 사례를 포함합니다. 구별 가능한 합성 데이터가 있는 격리된 테넌트 설비를 두 개 이상 사용하여 테넌트 간 누출이 동일한 결과 뒤에 숨겨지지 않도록 합니다. 제안된 설계에는 실제 임차인 데이터가 필요하지 않습니다.
다른 테넌트의 사용자를 처리하려고 시도하는 클라이언트, 다른 테넌트의 기록을 반환하는 검색, 관리 쓰기를 가능하게 하는 역할 축소, 지원되지 않는 액세스를 유지하는 비활성화된 ID에 대한 부정적인 사례를 추가합니다. 이는 승인 없이 라이브 서비스를 조사하라는 지시가 아닌 방어적 승인 사례입니다. SCIM 업데이트 응답과 애플리케이션 승인 결정은 서로 다른 증거 항목이므로 지원되는 API와 애플리케이션 동작을 별도로 기록합니다.
가상 진단: 활성 세션이 있는 비활성화된 기록
가상 평가자는 테스트 사용자 리소스가 비활성으로 표시된 후 성공적인 응답을 확인합니다. 평가자는 처음에 오프보딩 완료를 표시합니다. 요구 사항 검토자는 업데이트 이전에 존재했던 애플리케이션 세션이 여전히 보고서를 읽거나 내보내기를 시작할 수 있는지 묻습니다. 팀은 데모를 통해 완전한 액세스 결과가 아닌 프로비저닝 작업이 승인되었음을 입증했을 뿐이라는 것을 알고 있습니다.
제안된 다음 단계는 공급업체의 현재 세션 동작을 참조하고 승인된 설비 기반 점검을 실행하는 것입니다. 별도의 철회가 필요한 경우 수명주기 절차에 승인된 소유자 및 확인이 포함되어야 합니다. 이 시나리오는 가상입니다. 비활성 사용자, 활성 세션 또는 실패한 해지가 관찰되지 않았습니다. 이는 실제 플랫폼의 결함을 주장하기보다는 누락된 승인 기준을 보여줍니다.
계획 조정 및 예외 처리
사용자를 복제하거나 액세스 권한을 확대하지 않고 프로비저닝 실패를 표시하고, 재시도하고, 조정하는 방법을 정의합니다. 클라이언트가 지원되는 동시성 제어를 사용하는지 여부와 충돌하는 변경 사항을 처리하는 방법을 기록합니다. 일시적인 동기화 실패가 자동으로 영구 권한 예외로 바뀌어서는 안 됩니다. 마찬가지로 작업과 공급자의 동작을 이해하지 않고 재시도를 안전하다고 설명해서는 안 됩니다.
카탈로그에는 테넌트 간 읽기, 내보내기, 쓰기 및 사용자 수명 주기 변경을 다루는 액세스 매트릭스와 부정적인 테스트가 필요합니다. 원래 테스트는 계속 열려 있습니다. 이 원고는 구현 증거가 아닌 제안된 매트릭스와 요구 사항을 제공합니다. 전문가의 검토, 소스 적용 가능성, 생산 경로, 접근성 및 소유자 공개도 계속 열려 있습니다. 게시 가능한 기능 설명에는 실제 사용자 암호나 테넌트 데이터가 노출되지 않은 상태에서 현재 지원되는 동작과 실제 플랫폼에서 승인된 결과가 필요합니다.