SharePoint Online 권한 감사
By Mirko Peters · · Updated
PnP PowerShell과 Microsoft Graph로 자동화된 SharePoint Online 권한 감사 파이프라인을 구축하여 대규모 환경에서 액세스 위험을 탐지합니다.
Automatically translated with AI from the original post. Read the English original

사람이 직접 SharePoint 권한을 검토하려면 큰 어려움에 부딪힙니다. 사이트는 매일 바뀌고, 사람들은 팀에 들어오고 나갑니다. 숨은 위험을 놓치지 않으면서 누가 무엇에 접근할 수 있는지 추적할 방법이 필요합니다. SharePoint Online 권한을 자동으로 감사하면 취약점을 찾고, 데이터를 안전하게 지키고, 시간을 절약할 수 있습니다. PnP PowerShell, Microsoft Graph, Azure Automation 같은 도구를 사용하면 권한을 대신 점검하는 시스템을 만들 수 있습니다.
핵심 요약
SharePoint Online 권한을 자동으로 감사하면 시간이 절약되고 보안 위험도 줄어듭니다. 누가 무엇에 접근할 수 있는지 한눈에 볼 수 있으며, 일일이 수동으로 확인할 필요가 없습니다.
PnP PowerShell과 Microsoft Graph를 사용해 모든 사이트와 권한을 찾으세요. 회사 전체의 액세스 현황을 파악하는 데 도움이 됩니다.
감사 파이프라인에는 앱 전용 인증을 설정하세요. 시스템이 안전하게 유지되며, 사용자 계정이 바뀌어도 계속 작동합니다.
감사를 자주 실행하고, 위험한 권한 변경에 대해 알림을 설정하세요. 보안 문제를 초기에 발견하여 상황이 악화되기 전에 해결할 수 있습니다.
Power BI로 감사 결과를 시각화하세요. 대시보드를 통해 추세를 파악할 수 있고, 팀과 결과를 공유하기도 쉬워집니다.
수동 권한 검토가 실패하는 이유
수동 감사의 과제
SharePoint 권한을 수동으로 점검하는 것은 어렵습니다. SharePoint Online에는 여러 종류의 권한 체계가 있습니다. Microsoft 365 그룹과 Entra 보안 그룹이 있고, SharePoint 전용 권한도 있습니다. 공유 링크와 게스트 액세스는 상황을 더 복잡하게 만듭니다. 많은 사이트와 라이브러리를 추적해야 하며, 각 사이트마다 고유한 권한이 있을 수 있습니다. 변화가 빠르기 때문에 수동 점검으로는 숨은 위험을 놓치기 쉽습니다.
권한 구조를 이해하기 어렵습니다.
그룹 유형이 다양해 상황이 더 헷갈립니다.
공유 링크와 게스트 사용자는 문제를 더합니다.
모든 항목을 확인할 수 없으면 보안 위험은 커집니다.
오래된 권한의 위험
오래된 권한은 큰 문제를 일으킬 수 있습니다. 액세스를 업데이트하지 않으면 사람들이 가지면 안 되는 권한을 계속 보유하게 됩니다. 이는 데이터 유출과 보안 문제로 이어질 수 있습니다. 아래 표는 흔히 발생하는 위험을 정리한 것입니다.
증거 유형 | 설명 |
|---|---|
과도한 권한 부여 | Microsoft Copilot은 회사마다 약 300만 건의 비밀 레코드와 함께 작동합니다. 권한이 오래되었다면 데이터 유출 가능성이 높아집니다. |
데이터 노출 위험 | 사용자가 지나치게 많은 액세스 권한을 가지면 민감한 데이터가 회사 밖으로 빠져나갈 수 있습니다. |
보안 우려 | 보안 팀의 67%는 Copilot 같은 AI 도구가 중요한 비즈니스 정보를 노출할 수 있다고 우려하고 있습니다. |
자동화된 SharePoint Online 권한 감사는 이러한 위험이 피해를 입히기 전에 찾아내는 데 도움이 됩니다.
감사 가능성 및 규정 준수 공백
수동 검토는 중요한 규칙을 놓치는 경우가 많습니다. 때로는 '모든 사용자' 또는 '외부 사용자를 제외한 모든 사용자'가 비공개 파일을 볼 수 있습니다. 외부 공유와 익명 링크는 만료되지 않을 수도 있습니다. 오래된 사이트와 라이브러리에는 여전히 위험한 데이터가 남아 있을 수 있지만, 아무도 점검하지 않습니다.
팁: 정기적인 감사를 하면 상황이 악화되기 전에 이러한 문제를 찾아 해결할 수 있습니다.
비공개 데이터에 대한 과도한 액세스
공유 및 익명 링크에 대한 제한 없음
위험한 데이터가 있는 오래된 사이트와 라이브러리
권한을 자주 업데이트하지 않으면 데이터가 유출되고, 규정을 위반하며, 보안 위협에 노출될 수 있습니다. 자동화된 SharePoint Online 권한 감사는 이러한 문제를 막고 회사를 안전하게 지키는 데 도움이 됩니다.
자동화된 SharePoint Online 권한 감사 파이프라인
파이프라인 아키텍처 개요
파이프라인을 구축하기 전에 좋은 계획이 필요합니다. 파이프라인은 기계처럼 작동합니다. SharePoint 테넌트를 입력받아 보고서를 만듭니다. 보고서에는 누가 무엇을 볼 수 있는지가 나타납니다. 사이트마다 직접 확인할 필요가 없으며, 이 작업은 파이프라인이 대신 수행합니다.
파이프라인의 작동 방식은 다음과 같습니다.
탐색(Discovery): 파이프라인이 SharePoint Online 테넌트 안의 모든 사이트, 라이브러리, 파일을 찾습니다.
수집(Collection): 각 위치에서 권한 데이터를 가져옵니다.
정규화(Normalization): 파이프라인이 복잡한 권한 데이터를 단순한 표 형태로 변환합니다.
보고(Reporting): 결과를 CSV 또는 JSON 파일로 저장합니다. 이 파일은 Power BI나 다른 도구에서 사용할 수 있습니다.
알림(Alerting): 파이프라인이 변경 사항을 살펴보고, 새로운 위험을 발견하면 알림을 보냅니다.
팁: 파이프라인 단계를 종이에 그려 보세요. 각 부분을 파악하고 빠진 단계를 찾는 데 도움이 됩니다.
파이프라인을 매일 실행할 수 있습니다. 새로운 데이터를 얻고 문제를 빠르게 찾을 수 있습니다. 자동화된 SharePoint Online 감사는 신뢰할 수 있고 반복해서 쓸 수 있는 프로세스를 제공합니다.
앱 전용 인증 설정
사람이 로그인하지 않아도 파이프라인이 동작하기를 원할 것입니다. 앱 전용 인증을 사용하면 이것이 가능합니다. Entra ID(Azure AD)에 앱 등록을 만듭니다. 앱은 필요한 권한만 부여받습니다. 이렇게 하면 시스템이 안전하게 유지됩니다.
다음 단계를 따르십시오.
Entra ID에 새 앱을 등록합니다.
앱에 필요한 권한만 부여합니다. 예를 들어 Sites.Read.All 및 Group.Read.All을 사용합니다.
안전한 로그인을 위한 인증서를 만듭니다.
인증서를 Azure Key Vault에 보관합니다.
앱을 사용하여 PnP PowerShell로 SharePoint Online에 연결합니다. 앱 전용 방식은 자동화된 SharePoint Online 감사에 잘 맞습니다. 사용자가 퇴사하거나 비밀번호를 변경해도 중단되지 않습니다.
참고: 자동화에 개인 관리자 계정을 사용하지 마십시오. 앱 전용 액세스가 더 안전하며 더 잘 작동합니다.
Azure Automation 및 Key Vault 통합
파이프라인을 일정에 따라 실행하기를 원할 것입니다. Azure Automation이 이를 도와줍니다. PowerShell 런북을 작성합니다. 런북은 SharePoint Online에 연결하고, 권한 정보를 가져와 결과를 저장합니다.
Azure Automation은 Azure Key Vault에서 인증서를 가져올 수 있습니다. 이렇게 하면 비밀 정보를 안전하게 보호할 수 있습니다. 스크립트에 암호나 인증서를 넣을 필요가 없습니다.
간단한 흐름은 다음과 같습니다.
Azure Automation이 런북을 시작합니다.
런북이 Key Vault에서 인증서를 가져옵니다.
스크립트가 앱 전용 인증으로 SharePoint Online에 연결합니다.
권한 데이터를 가져와 저장합니다.
런북을 매일 또는 매주 실행하도록 설정할 수 있습니다. 더 많은 리소스나 더 긴 실행 시간이 필요하다면 Hybrid Runbook Worker를 사용할 수도 있습니다.
참고: 비밀 정보는 항상 Azure Key Vault에 보관하십시오. 자격 증명을 안전하게 보호하고 파이프라인을 보호할 수 있습니다.
Azure Automation과 Key Vault를 사용한 자동화된 SharePoint Online 권한 감사는 안전하고 손이 덜 가는 프로세스를 제공합니다. 정기적인 보고서를 받을 수 있으며 결과를 신뢰할 수 있습니다.
권한 데이터 수집 및 정규화
PnP PowerShell을 사용한 사이트 및 리소스 탐색
권한을 점검하기 전에 모든 SharePoint Online 사이트와 리소스를 찾아야 합니다. PnP PowerShell에는 이 작업을 도와주는 도구가 있습니다. 하위 도메인 열거를 사용하면 회사의 모든 SharePoint 사이트를 나열할 수 있습니다. Google 검색 기법으로 공개 문서를 찾을 수도 있습니다. 일부 관리자는 Graph API를 사용해 익명 공유 링크를 찾습니다. SharePoint 메타데이터를 살펴보면 사이트가 어떻게 구성되어 있는지 알 수 있습니다. 많은 팀이 이 과정을 자동화하기 위해 직접 PowerShell 스크립트를 작성합니다.
하위 도메인 열거를 하면 찾기 어려운 사이트를 발견할 수 있습니다.
Google 검색 기법을 사용하면 누구나 볼 수 있는 문서를 찾을 수 있습니다.
익명 공유 링크를 확인하면 누구에게나 열려 있는 파일을 알 수 있습니다.
메타데이터를 살펴보면 사이트가 어떻게 구성되어 있는지 알 수 있습니다.
사용자 지정 스크립트를 사용하면 이러한 단계를 빠르고 반복적으로 수행할 수 있습니다.
팁: 탐색 단계를 자동화하여 새로운 사이트와 리소스를 항상 찾을 수 있도록 하십시오.
Microsoft Graph를 통한 유효 권한
모든 사이트를 찾았다면 각 사이트에 누가 접근할 수 있는지 확인해야 합니다. Microsoft Graph API는 모든 리소스의 권한을 점검하는 데 도움이 됩니다. 이 API는 사용자나 그룹별로 가장 낮은 수준의 액세스 권한을 찾습니다. 앱은 로그인한 사용자가 볼 수 있는 항목만 볼 수 있습니다. 모든 항목을 보려면 Sites.Read.All과 같은 올바른 권한을 앱에 부여해야 합니다. 일부 사이트에는 Sites.Selected를 사용할 수 있지만, SharePoint 관리자의 승인이 필요합니다.
API는 사용자별로 가장 낮은 액세스 수준을 찾습니다.
앱은 사용자가 볼 수 있는 항목만 봅니다.
모든 사이트를 보려면 Sites.Read.All을 사용하십시오.
특별한 사이트에는 Sites.Selected를 사용하십시오.
참고: 앱에는 항상 필요한 최소한의 권한만 부여하십시오.
조절(Throttling), 페이지 매김 및 데이터 정규화
SharePoint Online을 감사하면 많은 데이터를 얻게 됩니다. Microsoft Graph는 페이지 매김을 사용하여 데이터를 작은 단위로 보냅니다. 모든 데이터를 가져오려면 nextLink를 따라가야 합니다. 너무 많은 양을 요청하면 Graph가 속도를 제한합니다. 이때는 잠시 기다렸다가 다시 시도해야 합니다. 복잡한 권한 세부 정보를 표로 정리하면 데이터를 단순하게 만들 수 있습니다. 이렇게 하면 보고서를 만들고 위험을 빠르게 찾는 데 도움이 됩니다.
ResourcePath | ResourceType | PrincipalType | UPN/Email | IsGuest | AccessRole | GrantedVia | GrantScope | InheritedFrom | GroupChain |
|---|---|---|---|---|---|---|---|---|---|
/sites/HR | 사이트 | 사용자 | 아니요 | 편집 | 직접 | 사이트 | 없음 | 해당 없음 |
콜아웃: 데이터를 단순하게 정리하면 보고와 위험 탐지를 더 빠르게 할 수 있습니다.
자동화, 보고, 알림
일정 예약 및 오케스트레이션
권한 감사는 정기 일정에 따라 실행하는 것이 좋습니다. Azure Automation을 사용하면 매일 또는 매주 실행되는 작업을 설정할 수 있습니다. PowerShell 런북을 만들어 SharePoint Online에 연결하고 권한 데이터를 수집합니다. 내장 스케줄러를 사용하면 작업에 가장 적합한 시간을 선택할 수 있습니다. 사용량이 적은 시간대는 테넌트의 부하를 줄여주므로 효과적입니다. 작업 기록과 로그로 각 실행을 모니터링합니다. 작업이 실패하면 오류 메시지를 확인하고 문제를 해결합니다. 더 오래 걸리는 작업이나 더 많은 리소스가 필요한 경우에는 Hybrid Runbook Worker를 사용할 수도 있습니다.
팁: 작업이 실패하면 알림을 설정해 두세요. 문제가 발생했을 때 바로 알 수 있습니다.
차이 기반 알림과 조기 경보
권한이 위험한 방식으로 변경되는 시점을 파악해야 합니다. 자동화된 SharePoint Online 감사를 사용하면 오늘의 보고서와 어제의 보고서를 비교할 수 있습니다. 새로운 게스트 사용자, 역할 변경, 새로 생성된 공유 링크를 확인합니다. 큰 변화가 감지되면 알림을 보냅니다. 이메일, Teams 또는 Jira와 같은 티켓팅 시스템을 활용할 수 있습니다. 조기 경보를 받으면 문제가 커지기 전에 차단할 수 있습니다. 위험한 변경으로 간주할 기준을 규칙으로 설정해 두세요. 예를 들어 누군가 소유자 권한을 받거나 새로운 외부 사용자가 나타나는 경우를 알고 싶을 수 있습니다.
보고서를 비교해 변경 사항 찾기
위험한 업데이트에 대해 알림 보내기
알림에는 Teams, 이메일 또는 티켓 사용
Power BI와 보안 보고
감사 결과를 명확하게 확인하고 싶을 것입니다. Power BI를 사용하면 CSV 또는 JSON 파일로 대시보드를 만들 수 있습니다. 게스트 사용자, 高 권한 계정, 변경이 가장 많은 사이트를 보여주는 차트를 만듭니다. 이러한 보고서는 분기별 검토에 활용합니다. 대시보드를 보안 팀과 공유할 수 있습니다. 자동화된 SharePoint Online 감사를 사용하면 모든 보고서에 최신 데이터를 반영할 수 있습니다. 추세를 추적하고 문제를 조기에 발견할 수 있습니다.
보고서 유형 | 확인할 수 있는 내용 |
|---|---|
게스트 액세스 | 누가 데이터를 볼 수 있는지 |
권한 변경 | 누가 더 많은 액세스 권한을 얻었는지 |
사이트 활동 | 변경이 가장 많은 사이트 |
참고: Power BI를 사용하면 원시 데이터를 팀이 바로 조치할 수 있는 인사이트로 바꿀 수 있습니다.
가드레일, 롤아웃 및 모범 사례
보안 및 규정 준수 고려 사항
자동화된 권한 감사를 사용할 때도 SharePoint Online을 안전하게 유지해야 합니다. 항상 최소 권한 원칙을 따르세요. 앱에는 실제로 필요한 역할만 부여합니다. 개별 계정 대신 보안 그룹을 사용하세요. 그래야 감사를 더 쉽게 처리할 수 있습니다. 다중 인증(MFA)을 켜고 조건부 액세스를 설정합니다. 이러한 단계는 게시 권한이 없는 사용자가 게시하는 것을 막는 데 도움이 됩니다. 또한 데이터를 안전하게 보호합니다. 부여하는 모든 역할은 기록해 두세요. 누가 액세스 권한을 가지고 있는지 알 수 있도록 권한 대장을 관리합니다. 권한은 3개월마다 점검하세요. 액세스 권한은 시간이 지나며 바뀔 수 있으므로 정기적인 점검이 보안을 유지하는 데 도움이 됩니다.
보안 및 규정 준수 고려 사항 | 설명 |
|---|---|
최소 권한 원칙 적용 | 필요한 역할만 할당합니다. |
개별 계정이 아닌 보안 그룹 사용 | 감사를 간소화합니다. |
MFA 및 조건부 액세스 사용 | 권한이 없는 게시를 방지합니다. |
역할 할당 문서화 | 권한 대장을 관리합니다. |
분기별 검토 | 시간이 지나면서 권한이 달라집니다. |
팁: 보안 그룹을 사용하고 모든 변경 사항을 기록해 두세요. 누가 액세스 권한을 가지고 있는지 추적하고 규정 준수 규칙을 따르는 데 도움이 됩니다.
성능 및 조절(Throttling) 팁
파이프라인이 원활하게 작동하기를 원할 것입니다. Microsoft Graph와 SharePoint Online은 한 번에 너무 많은 요청을 하면 속도가 느려질 수 있습니다. 조절 규칙을 준수하세요. "429 Too Many Requests"가 표시되면 다시 시도하기 전에 더 오래 기다리세요. 작업을 더 작은 그룹으로 나누세요. 사이트를 한꺼번에 처리하지 말고 일괄(배치)로 처리합니다. 작업 인원이 적은 시간에 감사를 실행하세요. 이렇게 하면 시스템 부담이 줄어듭니다. 작업 기록을 확인하고 실패하면 다시 시도하세요. 결과를 안전한 위치에 저장해 민감한 데이터를 보호하세요.
모범 사례 | 설명 |
|---|---|
처음부터 회사의 보안 및 규정 준수 규칙을 따르세요. | |
액세스 및 공유 제어 | 원치 않는 액세스와 유출을 막기 위해 권한을 신중하게 설정하세요. |
민감한 데이터 보호 | 내장 보안 도구를 사용해 정보를 보호하고, 실수를 방지하며, 랜섬웨어 같은 위협에 대비하세요. |
참고: 비밀 정보는 항상 Azure Key Vault에 보관하십시오. 스크립트에 암호를 직접 넣지 마십시오.
30-60-90일 도입 계획
자동화된 권한 감사는 세 단계로 설정할 수 있습니다. 먼저 파일럿을 진행하십시오. 사이트 몇 개를 골라 파이프라인을 실행하고, 결과가 수작업으로 확인한 내용과 일치하는지 점검하십시오. 다음으로 사이트를 늘리십시오. 위험한 변경을 잡아내기 위해 차이 기반 알림을 켜십시오. 마지막으로 이를 일상적인 보안 점검의 일부로 만드십시오. Power BI 대시보드를 구축하고, 절차를 문서로 정리하고, 확인한 내용을 팀과 공유하십시오.
도입 계획 예시:
1~7일차: 사이트 몇 개를 대상으로 파일럿을 실행하십시오. 결과가 정확한지 확인하십시오.
8~30일차: 모든 사이트를 그룹 단위로 추가하십시오. 알림을 켜십시오.
31~90일차: 정기 업무에 포함시키십시오. 보고서를 만드십시오. 검토 절차에 추가하십시오.
참고: 작게 시작하고 빠르게 배우면서 프로세스를 키워 나가십시오. 이렇게 하면 문제를 조기에 발견할 수 있고, 팀이 자동화를 신뢰하게 됩니다.
자동화된 SharePoint Online 권한 감사 파이프라인을 사용하면 누가 어떤 액세스 권한을 가지고 있는지 확인할 수 있습니다. 이를 통해 위험을 찾아내고, 시간을 절약하고, 규정을 준수할 수 있습니다. 먼저 Entra ID에 앱을 등록하십시오. 그다음 사이트 몇 개를 대상으로 간단한 스크립트를 실행하십시오.
정기적이고 자동화된 감사는 권한 변경을 빠르게 찾아내고 데이터를 안전하게 보호하는 데 도움이 됩니다. 지금 시작하여 SharePoint를 더 안전하고 신뢰할 수 있는 환경으로 만드십시오.
자주 묻는 질문
권한 감사는 얼마나 자주 실행해야 합니까?
위험도가 높은 사이트는 매일 감사를 실행해야 합니다. 대부분의 사이트에는 주간 감사가 적합합니다. 정기적인 점검은 변경 사항을 놓치지 않고 데이터를 안전하게 유지하는 데 도움이 됩니다.
SharePoint Online 감사를 위해 앱에는 어떤 권한이 필요합니까?
앱에는 Sites.Read.All과 Group.Read.All이 필요합니다. 이 권한을 통해 사이트와 그룹의 액세스 현황을 확인할 수 있습니다. 항상 필요한 최소 권한만 사용하십시오.
감사 결과를 시각화하는 데 Power BI를 사용할 수 있습니까?
예, Power BI를 사용할 수 있습니다. CSV 또는 JSON 파일을 가져오십시오. 게스트 사용자, 높은 권한을 가진 계정, 시간에 따른 변경 사항을 보여 주는 대시보드를 만드십시오.
Microsoft Graph가 요청을 제한(스로틀링)하면 어떻게 됩니까?
요청이 제한되면 잠시 기다렸다가 나중에 다시 시도하십시오. 지수 백오프(exponential back-off)를 사용하십시오. 제한에 걸리지 않도록 작업을 더 작은 배치로 나누십시오.
자동화 파이프라인에서 비밀 정보는 어떻게 안전하게 보관합니까?
인증서와 암호는 Azure Key Vault에 저장하십시오. 스크립트에 비밀 정보를 직접 넣지 마십시오. 이렇게 하면 자격 증명을 안전하게 보호하고 데이터를 지킬 수 있습니다.
함께 들어보면 좋은 에피소드
SharePoint 권한 감사를 조사하고 계신다면, 다음 에피소드에서 구현, 아키텍처, 보안, 거버넌스에 관한 실질적인 배경 지식을 얻을 수 있습니다.
- Microsoft Teams 거버넌스 – 통제의 환상 — 소유권, 정책, 수명 주기 결정이 안정적인 Microsoft 365 운영을 어떻게 좌우하는지 살펴봅니다.
- Microsoft AI Agent Harness – 쉽게 설명하기 — AI 기반 워크플로의 오케스트레이션, 가드레일, 평가, 관찰 가능성을 이해합니다.
- Azure AI Foundry – 쉽게 설명하기 — 엔터프라이즈 AI 솔루션이 어떻게 구축, 평가, 배포, 거버넌스되는지 알아봅니다.
- Microsoft Defender XDR – 쉽게 설명하기 — 구현 방식의 선택을 보안 가시성, 조사, 대응과 연결해 살펴봅니다.