이 아키텍처 패턴은 Microsoft Dataverse 및 SharePoint 통합의 일반적인 문제를 해결합니다. Dataverse는 레코드 수준 보안을 적용하지만 이러한 권한은 SharePoint 저장된 문서에 자동으로 적용되지 않습니다. 이 아키텍처 패턴은 제한된 SharePoint 탐색 및 제한된 문서 검색 기능을 사용합니다. 이러한 보호 기능은 사용자가 애플리케이션 환경을 통해 SharePoint 문서를 열고 과잉 공유의 위험을 줄이도록 안내합니다.
Tip
이 문서에서는 네이티브 SharePoint 통합을 사용할 때 사용자의 Dataverse 권한 외부에서 SharePoint 문서에 대한 액세스를 줄이는 방법에 대한 예제 시나리오와 시각적 표현을 제공합니다. 이 솔루션은 다양한 시나리오와 산업에 사용할 수 있는 일반화된 예시 아키텍처입니다. 이 문서는 모범 사례에 국한되어 있습니다.
아키텍처 다이어그램
Workflow
다음 워크플로에서는 이 패턴이 기본적으로 통합된 SharePoint 사이트에 대한 액세스를 구조화하고 제어하여 문서 액세스를 RBAC(Dataverse 역할 기반 액세스 제어) 및 레코드 수준 권한과 더 잘 맞추는 방법을 설명합니다.
이 패턴은 탐색을 제한하고 검색 메커니즘을 사용하지 않도록 설정하여 사용자가 권한 부여가 없는 Dataverse 레코드와 연결된 문서에 액세스하는 위험을 크게 줄이면서 원활한 애플리케이션 내 문서 환경을 유지합니다.
액세스 및 환경 준비
액세스 관리 구성
조직에서 현재 Dataverse 환경 및 관련 SharePoint 사이트에 대한 액세스를 관리하는 방법을 검토합니다.
Entra ID 보안 그룹을 사용하여 Dataverse 환경 및 관련 SharePoint 문서에 대한 액세스를 관리합니다. Microsoft Entra 그룹 및 그룹 멤버 자격 관리에서 자세히 알아봅니다.
Dataverse 환경 및 SharePoint 사이트 준비
Dataverse 환경이 적절한 보안 그룹으로 제한되었는지 확인합니다. 보안 그룹 및 라이선스로 환경에 대한 사용자 액세스 제어에서 자세히 알아보세요.
필요한 경우 관리 되는 환경을 거버넌스에 적용합니다.
전용 사이트가 아직 없는 경우, 워크로드의 작업 문서용으로 SharePoint 팀 사이트를 프로비저닝합니다. 이 단계에서는 기본 Microsoft 365 그룹 및 SharePoint 그룹을 만듭니다.
SharePoint 액세스 및 검색 기능 구성
새 사용 권한 수준을 만듭니다.
다음 목록 권한을 적용합니다.
- 항목 추가
- 항목 편집
- 항목 삭제
- 항목 보기(필수)
- 항목 열기(필수)
- 버전 보기
다음 사이트 사용 권한을 적용합니다.
- 페이지 보기(필수)
- 열기(필수)
디렉터리 찾아보기 사이트 권한이 꺼져 있는지 확인하세요.
이 사용 권한 수준을 가진 사용자는 부모 폴더를 찾아보거나 사이트 계층 구조를 탐색할 수 없습니다. Dynamics 365 앱 또는 사용자 지정 모델 기반 앱에서 항목을 추가, 편집 또는 열 수 있습니다. 이 제한으로 인해 다른 레코드에 속한 문서를 검색하기가 더 어려워집니다. 사용 권한 수준을 만들고 편집하는 방법과 SharePoint 사용 권한 수준에 대해 알아봅니다.
고급 사용 권한에서 사이트 그룹을 만들고 새 사용 권한 수준을 할당합니다. SharePoint 사이트 권한을 사용자 지정하는 방법을 알아봅니다.
새 SharePoint 그룹에서 워크로드 보안 그룹에 사이트 액세스 권한을 부여합니다.
사이트 내에서 SharePoint 검색을 사용하지 않도록 설정합니다. 이 설정은 사용자(또는 Copilot)가 Dataverse의 컨텍스트 외부에 있는 콘텐츠를 찾을 수 없게 합니다. 사이트의 콘텐츠를 검색할 수 있도록 설정에서 자세히 알아보세요.
필요에 따라 Copilot 사이트에서 콘텐츠를 찾아서 제공하는 것을 제한합니다. SharePoint 사이트 및 콘텐츠 검색 제한에 대해 자세히 알아보세요.
필요에 따라 SharePoint "구성원" 또는 "소유자" 사이트 그룹에 사용자를 추가하여 특정 역할에 대한 상승된 액세스를 유지합니다. 이 단계는 모든 레코드에서 전체 문서 표시가 필요하고 임원 또는 감독 단위와 같은 SharePoint 폴더 구조를 탐색해야 하는 사용자에게 유용합니다. 기본 그룹을 삭제하지 마세요. 삭제하면 시스템이 불안정해질 수 있습니다.
Dataverse에서 SharePoint 통합 사용
SharePoint 통합을 사용하도록 설정하여 SharePoint 사이트를 Dataverse 환경에 연결합니다. SharePoint 통합 설정에 대해 자세히 알아보세요.
필요에 따라 선택한 Dataverse 테이블에 대해 SharePoint 문서 관리를 사용하도록 설정합니다. 예를 들어 계정, 사례, 프로젝트, 애플리케이션, 불만, 사용자 지정 테이블 등이 있습니다.
사용자에게 SharePoint 문서 및 문서 위치 레코드에 대한 적절한 Dataverse 권한이 있는지 확인합니다. 문서 관리 작업에 필요한 사용 권한에 대해 자세히 알아봅니다.
사용자는 Dynamics 365 앱 또는 Power Apps 모델 기반 앱 인터페이스를 통해 파일에 전적으로 액세스합니다. 애플리케이션에서 양식, 하위 그리드 또는 단추를 통해 파일을 엽니다. 그들은 직접 SharePoint 가지 않습니다.
선택적 향상된 기능
관리되지 않는 디바이스에 대한 웹 전용 또는 제한된 다운로드와 같은 추가 보호 장치로 조건부 액세스 또는 앱 적용 제한을 추가합니다. 조건부 액세스에 대해 자세히 알아봅니다.
SharePoint 및 Purview 감사 로그를 통해 사용량을 모니터링하여 예기치 않은 액세스 패턴을 검색합니다. Microsoft Purview 솔루션 감사에 대해 알아봅니다.
Components
Dataverse: 핵심 애플리케이션 플랫폼 역할을 하며 RBAC를 통해 레코드 수준 액세스 제어를 적용합니다. Dataverse는 사용자가 문서에 액세스할 때 상호 작용하는 보안 모델, 테이블 구조 및 애플리케이션 화면을 제공합니다.
Power Apps 모델 기반 앱: 사용자가 Dataverse 레코드 및 관련 SharePoint 문서를 보고 관리하는 제어된 안내 인터페이스를 제공합니다. 사용자는 제한 없이 SharePoint 검색하는 대신 애플리케이션을 통해 문서에 액세스합니다.
Entra ID: ID 관리 및 보안 그룹에 사용됩니다. Entra ID 보안 그룹은 Dataverse 환경 및 연결된 SharePoint 사이트에 액세스할 수 있는 사용자를 정의하는 데 사용됩니다. 이러한 그룹은 환경 액세스와 사이트 액세스 간에 맞춤을 만듭니다.
SharePoint Online: 네이티브 문서 관리에 사용하도록 설정된 테이블의 문서 스토리지 계층 역할을 합니다. 이 패턴에서 SharePoint 역할은 다음과 같습니다.
- 각 레코드에 대해 Dataverse에서 생성된 문서 위치 호스팅
- 워크로드의 Entra ID 보안 그룹에 대한 사이트 액세스 제한
- 사이트 탐색 경로 제거 또는 사용 안 림
- 사이트 및 라이브러리 검색을 사용하지 않도록 설정
Microsoft Purview(선택 사항): 규정 준수 또는 운영 감독에 필요한 감사, 액세스 로깅 및 데이터 거버넌스 기능을 제공합니다.
시나리오 세부 정보
Microsoft Power Platform 또는 Dynamics 365 비즈니스 애플리케이션을 빌드하는 조직은 데이터버스 레코드와 연결된 파일을 저장하고 관리하기 위해 네이티브 SharePoint 문서 관리에 자주 의존합니다.
비즈니스 과제
네이티브 Dataverse 및 SharePoint 통합은 강력한 유용성 이점을 제공하지만 잘 알려진 아키텍처 문제를 소개합니다. SharePoint 권한 모델은 Dataverse의 RBAC(레코드 수준 보안)와 자동으로 일치하지 않습니다.
사례 관리, 불만 처리, 승인, 프로젝트, 조사, 애플리케이션 부여 및 규제 워크플로와 같은 일반적인 시나리오에서 각 사용자 그룹은 특정 레코드에만 액세스할 수 있습니다. Dataverse는 RBAC(세분화된 역할 기반 액세스 제어)를 사용하여 이러한 권한을 적용합니다. 그러나 연결된 SharePoint 사이트로 이동하는 사용자는 Dataverse 보안으로 인해 앱에서 볼 수 없는 레코드의 폴더 또는 파일에 액세스할 수 있습니다.
이 잘못된 정렬로 인해 다음과 같은 몇 가지 문제가 발생합니다.
의도하지 않은 데이터 노출: 사용자가 실수로 다른 팀 또는 사업부와 연결된 문서 라이브러리를 찾아보거나 검색할 수 있습니다.
초과 공유 위험: Dataverse 양식을 통해서만 문서를 볼 수 있는 사용자는 상위 폴더, "최근" 목록 또는 SharePoint 검색을 통해 문서를 검색할 수 있습니다.
대안의 운영 복잡성:
항목별 액세스 제어 목록(ACL) 자동화에는 상속 해제, Microsoft Graph 자동화, 그리고 대규모 액세스 관리가 필요하며, 이로 인해 상당한 운영 부담이 발생합니다.
팀 또는 사업부당 하나의 사이트와 같은 다중 사이트 분리는 관리 및 ALM(애플리케이션 수명 주기 관리) 복잡성을 더합니다.
타사 공급업체는 추가 라이선스 비용을 유치하며, 특히 정부 기관의 경우 규정 준수 요구 사항을 충족하지 못할 수 있는 권한 있는 액세스가 필요한 경우가 많습니다.
제안된 솔루션
제어된 SharePoint 문서 액세스 패턴은 실용적인 중간 경로를 제공합니다. 이 아키텍처는 파일 또는 폴더 수준에서 Dataverse RBAC를 복제하는 대신 SharePoint 검색 가능성을 제한하고 탐색 경로를 제한하면서 Dataverse 및 Power Apps/Dynamics 365 내에서 네이티브 문서 관리 환경을 유지합니다. 워크로드 보안 그룹에 대한 사이트 액세스를 제한하고, 탐색 요소를 제거하고, 사이트 및 라이브러리 검색을 사용하지 않도록 설정하며, 사용자가 주로 Dataverse 생성 URL을 통해 문서에 도달할 수 있도록 함으로써 아키텍처는 워크로드 경계 내에서 SharePoint 효과적으로 "포함"합니다. Dataverse RBAC는 레코드 및 해당 문서 링크에 대한 액세스를 제어하는 반면 SharePoint 권한은 문서에 대한 직접 액세스를 제어합니다.
이 패턴을 사용하는 경우
이 패턴은 다음과 같은 경우에 특히 유용합니다.
조직은 권한 부여가 아닌 검색 기능이 주요 관심사인 위험 관리 접근 방식을 허용합니다.
비즈니스에는 레코드별 ACL을 유지 관리하지 않고도 친숙하고 협력적인 SharePoint 환경이 필요합니다.
고도로 사용자 지정된 보안 자동화보다 단순성, 유지 관리 효율성 및 예측 가능한 작업이 선호됩니다.
규제 요구 사항은 엄격한 항목별 적용보다는 의도하지 않은 액세스를 줄이고 감사 내역을 유지 관리하며 적절한 감독을 보장하는 데 중점을 둡니다.
이 패턴은 사용자가 사이트로 직접 이동하는 대신 Dataverse를 통해 문서를 열도록 지시합니다. 고객이 기대하는 원활한 SharePoint 문서 관리 환경을 유지하면서 의도하지 않은 레코드 간 액세스를 줄입니다.
이 간단하고 반복 가능한 아키텍처는 추가 가드레일이 필요한 정부 기관, 기업 및 규제 산업에 대한 거버넌스를 지원합니다. 지원되지 않거나 복잡한 보안 구조를 방지하고 유용성, 비용 및 보안의 균형을 조정합니다. 아키텍처는 검색 기능 컨트롤을 사용하여 파일 수준에서 엄격한 적용 대신 일반 문서 액세스를 관리합니다.
대체 방법을 고려해야 하는 경우
이 패턴은 규정 준수를 위해 엄격한 파일 수준 보안이 필요한 경우에 적합하지 않습니다. 이 패턴은 검색 기능 제어를 통해 의도하지 않은 액세스를 줄이지만 URL이 공유되는 경우 의도적이거나 악의적인 액세스를 방지하지는 않습니다. 보장된 파일 수준 격리가 필요한 조직은 항목별 ACL 또는 대체 분리 패턴을 구현해야 합니다.
고려 사항
이러한 고려 사항은 워크로드의 품질을 개선하는 일련의 기본 원칙인 Power Platform Well-Architected의 핵심 요소를 구현합니다. Microsoft Power Platform Well-Architected에서 자세히 알아보세요.
Reliability
불필요한 복잡성을 방지하도록 워크로드 디자인: 이 아키텍처 패턴은 항목별 ACL 자동화, 상속 중단 및 복잡한 통합을 방지합니다. 문서 액세스 동작을 간단하고 예측 가능하며 지원되는 플랫폼 기능에 맞게 유지합니다.
구조적, 테스트 및 문서화된 BCDR 구현: 아키텍처는 Dataverse 및 SharePoint Online만 사용하므로 사용자 지정 비즈니스 연속성 및 재해 복구 프로세스 없이도 Microsoft 네이티브(및 문서화된) 지역 중복성, 백업 및 복원 기능을 상속합니다.
보안
플랫폼 지침에 따라 보안 기준 설정: 전용 Entra ID 보안 그룹을 환경 및 SharePoint 사이트 모두에 대한 단일 액세스 경계로 사용하면 ID 기반 액세스에 대한 명확하고 일관된 기준을 제공합니다.
의도적인 세분화 및 경계 만들기: 워크로드 보안 그룹에 대한 SharePoint 사이트 액세스를 제한하고 탐색 및 검색 기능을 제거하면 Dataverse 컨텍스트 외부의 문서 검색을 제한하는 명확한 경계가 설정됩니다. 링크를 받는 사용자는 SharePoint 사이트의 보안 그룹에 속한 경우 파일에 액세스할 수 있습니다. 이 패턴의 의도는 SharePoint 항목 수준에서 보안을 적용하는 것이 아닙니다. 대신 간단한 디자인을 사용하여 추가 안전 장치를 제공합니다. 패턴은 이러한 절충을 의도적으로 만듭니다.
엄격하고 조건부이며 감사 가능한 IAM(ID 및 액세스 관리) 구현: 모든 액세스는 Entra ID 통해 ID 기반이며 Dataverse 및 SharePoint 로깅을 통해 감사할 수 있습니다. 이 설정은 투명성을 지원하고 조직에서 예기치 않은 액세스 패턴을 모니터링할 수 있도록 합니다.
운영 효율성
플랫폼 기능을 사용하여 일상적인 운영 작업 공식화: 패턴은 네이티브 Dataverse 및 SharePoint 동작에 의존하여 사용자 지정 자동화를 방지합니다. 이 방법은 작업을 간소화하고 수동 개입을 줄입니다.
ID 및 액세스 관리 중앙 집중화: 모든 권한은 Entra ID 그룹을 통해 흐릅니다. 조직은 사용자 지정 역할 논리를 도입하지 않고도 액세스 검토, 수명 주기 거버넌스 및 기존 엔터프라이즈 프로세스를 사용할 수 있습니다.
성능 효율성
성능 기대치에 맞게 적합한 서비스를 선택합니다. 아키텍처는 구조적 비즈니스 데이터에 Dataverse를 사용하고 문서 스토리지에 SharePoint 추가 처리 계층 없이 의도한 목적을 위해 각 서비스를 활용합니다.
플랫폼에 대한 책임을 오프로드하여 논리를 최적화합니다. Dataverse 및 SharePoint 문서 액세스 및 렌더링을 처리하여 대기 시간을 최소화하고 Dataverse의 최적화된 파일 처리 파이프라인을 활용합니다.
경험 최적화
일관된 정보 아키텍처 구현: SharePoint 탐색 옵션을 제거하고 Dataverse 레코드 컨텍스트 문서 보기에 의존하여 사용자는 일관되고 예측 가능한 정보 구조를 경험합니다.
사용 편의성 우선 순위를 지정하고 인지 부하를 줄입니다. 사용자는 레코드와 연결된 Dataverse 양식 내에서만 문서에 액세스하여 혼동을 최소화하고 관련 없는 파일에 노출되지 않도록 방지합니다.
Contributors
Microsoft는 이 문서를 유지 관리합니다. 이 문서를 작성한 기여자는 다음과 같습니다.
주요 작성자:
- 솔루션 설계자 자레드 프리처드