커넥터에 등록된 OAuth 2.0 앱에 사이트별 SharePoint API FullControl 권한을 부여하여 커넥터가 사이트 및 사이트 컬렉션을 크롤링할 수 있도록 허용 Microsoft SharePoint Online 합니다 Microsoft Entra .
시작하기 전에
PowerShell 7.0 이상 호환 버전이 설치되어 있어야 합니다.
대상 앱(
Microsoft Entra외부 콘텐츠 커넥터가
Microsoft SharePoint Online 소스 시스템 콘텐츠를 인증하고 액세스할 수 있도록 하는 OAuth 2.0 앱)에 대한 권한을 변경하려면 적절한 권한 또는 권한이 필요합니다. 이러한 권한과 권한은 대상 앱에 대한 사이트 액세스를 구성할 때 사용할 인증 모델에 따라 달라집니다.
- 대화형 브라우저 기반 로그인 Microsoft Entra 을 사용하려면 계정에 관리 권한이 필요합니다.
-
서비스 주체 인증을 사용하려면 관리자가 부여한
Microsoft Entra Sites.FullControl.All
Microsoft Graph API 애플리케이션 권한이 있는 앱에 대한
Microsoft Entra 서비스 주체가 필요합니다. 이
서비스 주체 앱은 대상 앱과 구별됩니다. 또한 다음 항목 중 하나가 필요합니다.
- 인증서 기반 서비스 주체 인증의 경우 PFX 형식의 서비스 주체 앱에 대한 인증서 및 프라이빗 키가 필요합니다.
주:
JKS(Java KeyStore) 파일에 서비스 주체 앱의 인증서와 프라이빗 키만 있는 경우 다음 Java keytool 명령을 사용하여 해당 파일을 PFX 형식으로 변환할 수 있습니다.
keytool -importkeystore -srckeystore <your-keystore>.jks -destkeystore certificate.pfx -deststoretype PKCS12
-srcalias <your-alias> -deststorepass <your-pfx-password> -destkeypass <your-pfx-password>
이 명령에서
<your-keystore> 및
<your-alias> 를 기존 JKS 파일의 이름과 별칭으로 바꿉니다.
your-pfx-password를 PFX 출력 파일에 지정하려는 암호로 바꿉니다.
Java keytool 유틸리티에 대한 자세한 내용은 다음 문서를 참조하십시오 https://docs.oracle.com/en/java/javase/21/docs/specs/man/keytool.html.
- 클라이언트 비밀 기반 서비스 주체 인증의 경우 서비스 주체 앱에 대한 클라이언트 비밀이 필요합니다. 클라이언트 암호가 없는 경우 Entra 관리자에게 Microsoft 문의하십시오.
필요한 역할: 없음
이 태스크 정보
이 작업은 커넥터에 대해 등록된
Microsoft Entra OAuth 2.0 앱을 구성할 때 Sites.FullControl.All 권한 대신 Sites.Selected SharePoint API 권한을 지정하는
Microsoft SharePoint Online 경우에만 필요합니다.
기본적으로 소스 시스템 관리자는 커넥터에 대해 등록된 Microsoft Entra OAuth 2.0 앱에 Sites.FullControl.All SharePoint API 권한을 부여합니다 Microsoft SharePoint Online . 이 권한을 통해 커넥터는 모든 원본 시스템 사이트 및 사이트 모음의 모든 콘텐츠 유형에 대한 콘텐츠, 메타데이터 및 보안 정보를 읽을 수 있습니다.
조직의 보안 관행에서 Sites.FullControl.All 권한 부여를 허용하지 않는 경우 대신 OAuth 2.0 애플리케이션에 Sites.Selected SharePoint API 권한을 부여할 수 있습니다. 이 권한이 부여되면 커넥터는 Microsoft SharePoint Online OAuth 2.0 앱에 FullControl 권한이 있는 사이트 및 사이트 컬렉션에 대한 콘텐츠, 메타데이터 및 보안 정보만 읽을 수 있습니다.
원본 시스템 관리자는 커넥터가 Microsoft SharePoint Online 크롤링할 수 있도록 할 각 사이트 또는 사이트 모음에 대해 FullControl 권한을 부여해야 합니다. 커넥터가 사이트 또는 사이트 모음을 크롤링하지 못하게 하려면 해당 사이트 또는 사이트 모음에 대해 이전에 부여된 FullControl 권한을 취소할 수 있습니다.
프로시저
-
로컬 시스템에서 SelectedSiteAppPermissionManager PowerShell 모듈을 임포트합니다.
-
지식베이스의 KB2741707 문서에서 SelectedSiteAppPermissionManager PowerShell 모듈 아카이브를 다운로드합니다 Now Support .
-
다운로드한 아카이브의 내용을 디렉터리에 추출합니다.
-
PowerShell 세션을 시작하고 보관 내용을 추출한 디렉터리로 이동합니다.
-
다음 PowerShell 명령을 실행하여 최신 버전의 Microsoft Graph PowerShell SDK가 설치되어 있는지 확인합니다.
Install-Module -Name Microsoft.Graph -Scope CurrentUser
Update-Module -Name Microsoft.Graph -Force -Scope CurrentUser
-
다음 PowerShell 명령을 실행하여 PowerShell 모듈 경로를 봅니다.
$env:PSModulePath -split [System.IO.Path]::PathSeparator
-
이 PowerShell 명령을 실행하여 다운로드한 보관에서 PowerShell 모듈 경로 중 하나로 SelectedSiteAppPermissionManager 모듈 폴더를 <PowerShell-module-path> 단계에서 보고된 경로 중 하나로 바꿉니다.1.e
Copy-Item -Path "SelectedSiteAppPermissionManager" -Destination "<PowerShell-module-path>" -Recurse
예를 들어 모듈 폴더를 개인 모듈 폴더에 복사하려면 다음 명령을 실행할 수 있습니다.
Copy-Item -Path "SelectedSiteAppPermissionManager" -Destination "$HOME\Documents\PowerShell\Modules" -Recurse
-
다음 PowerShell 명령을 실행하여 SelectedSiteAppPermissionManager 모듈을 임포트합니다.
Import-Module SelectedSiteAppPermissionManager
-
다음 PowerShell 명령을 실행하여 SelectedSiteAppPermissionManager 모듈을 올바르게 가져왔는지 확인합니다.
Get-Module SelectedSiteAppPermissionManager
이 명령은 버전 및 지원되는 명령을 포함하여 SelectedSiteAppPermissionManager 모듈에 대한 정보를 표시해야 합니다.
-
사이트 액세스를 구성할 때 사용할 인증 방법에 따라 SelectedSiteAppPermissionManager\Config 디렉터리에 있는 JSON 형식 예제 구성 파일 중 하나를 새 my-config.json 파일로 복사합니다.
- 브라우저에서 대화형 인증을 사용하려면 app-config-interactive.example.json my-config.json에 복사합니다.
- 클라이언트 암호와 함께 서비스 주체 인증을 사용하려면 app-config.client-secret.example.jsonmy-config.json에 복사합니다.
- PFX 형식 인증서와 함께 서비스 주체 인증을 사용하려면 app-config.certificate.example.json my-config.json에 복사합니다.
-
텍스트 편집기에서 my-config.json 파일의 JSON 객체 리터럴 키-값 쌍을 앱 구성과 일치하도록 수정합니다 Microsoft Entra .
| JSON 객체 리터럴 키 |
값 |
| ServicePrincipal.Authentication.Certificate.Password |
서비스 주체 인증에 사용되는 PFX 형식 인증서의 암호입니다. 암호가 있는 인증서와 함께 서비스 주체 인증을 사용하는 경우에만 이 키-값 쌍이 필요합니다. 인증서에 암호가 없는 경우 이 키-값 쌍을 생략하십시오.
유형: 문자열
|
| ServicePrincipal.Authentication.Certificate.Path |
의 서비스 주체 앱 Microsoft Entra에 대한 인증서 및 개인 키가 포함된 PFX 형식 인증서 파일의 상대 경로입니다. 인증서와 함께 서비스 주체 인증을 사용하는 경우에만 이 키-값 쌍이 필요합니다.
유형: 문자열
|
| ServicePrincipal.Authentication.Secret |
의 서비스 주체 앱 Microsoft Entra에 대한 클라이언트 비밀입니다. 클라이언트 비밀로 서비스 주체 인증을 사용하는 경우에만 이 키-값 쌍이 필요합니다.
유형: 문자열
|
| ServicePrincipal.Authentication.Type |
서비스 주체에 사용할 인증 유형입니다. 인증서 또는 클라이언트 암호와 함께 서비스 주체 인증을 사용하는 경우에만 이 키-값 쌍이 필요합니다.
유형: 선택
지원되는 값:
- Certificate: PFX 형식 인증서를 사용하여 인증합니다.
- Secret: 클라이언트 암호를 사용하여 인증합니다.
|
| ServicePrincipal.ClientId |
에 있는 서비스 주체 앱의 애플리케이션(클라이언트) ID입니다 Microsoft Entra. 인증서 또는 클라이언트 암호와 함께 서비스 주체 인증을 사용하는 경우에만 이 키-값 쌍이 필요합니다.
유형: 문자열
|
| ServicePrincipal.TenantId |
에 있는 서비스 주체 앱의 디렉터리(테넌트) ID입니다 Microsoft Entra. 인증서 또는 클라이언트 암호와 함께 서비스 주체 인증을 사용하는 경우에만 이 키-값 쌍이 필요합니다.
유형: 문자열
|
| TargetApp.DisplayName |
커넥터에 등록된 Microsoft Entra OAuth 2.0 앱의 표시 이름입니다 Microsoft SharePoint Online . 이 앱에 대한 자세한 내용은 다음 문서를 참조하십시오 외부 콘텐츠 인덱싱 구성 Microsoft SharePoint Online.
유형: 문자열
|
| TargetApp.Id |
커넥터에 등록 Microsoft Entra 된 OAuth 2.0 앱의 애플리케이션(클라이언트) ID입니다 Microsoft SharePoint Online . 이 앱에 대한 자세한 내용은 다음 문서를 참조하십시오 외부 콘텐츠 인덱싱 구성 Microsoft SharePoint Online.
유형: 문자열
|
대화형 인증에 대한 구성 예:
{
"TargetApp": {
"Id": "your-application-id",
"DisplayName": "Your Application Name"
}
}
PFX 형식 인증서를 사용한 서비스 주체 인증에 대한 예제 구성:
{
"TargetApp": {
"Id": "your-application-id",
"DisplayName": "Your Application Name"
},
"ServicePrincipal": {
"ClientId": "your-service-principal-id",
"TenantId": "your-tenant-id",
"Authentication": {
"Type": "Certificate",
"Certificate": {
"Path": "path/to/certificate.pfx",
"Password": "pfx-password"
}
}
}
}
클라이언트 비밀을 사용한 서비스 주체 인증에 대한 구성 예:
{
"TargetApp": {
"Id": "your-application-id",
"DisplayName": "Your Application Name"
},
"ServicePrincipal": {
"ClientId": "your-service-principal-id",
"TenantId": "your-tenant-id",
"Authentication": {
"Type": "Secret",
"Secret": "your-client-secret"
}
}
}
- 옵션:
대량 작업을 위해 작업하려는 모든 Microsoft SharePoint Online 사이트 및 사이트 모음 URL을 사용하여 사이트 목록 파일을 만듭니다.
-
텍스트 편집기에서 sitelist.txt라는 새 파일을 만듭니다.
-
새 sitelist.txt 파일을 보거나 수정하려는 모든 Microsoft SharePoint Online 사이트 및 사이트 모음의 URL을 한 줄에 하나씩 채웁니다.
예를 들어 한 번에 두 사이트의 권한을 보거나 수정하려는 경우 파일은 다음과 같습니다.
https://example.sharepoint.com/sites/site1
https://example.sharepoint.com/sites/site2
-
지정된 Microsoft SharePoint Online 사이트 및 사이트 모음에 대한 기존 앱 권한을 보려면 다음 PowerShell 명령을 실행합니다.
Get-SharePointAppPermission -SiteUrls "https://example.sharepoint.com/sites/site1","https://example.sharepoint.com/sites/site2" -ConfigFile "./my-config.json"
사이트 목록 파일이 있는 경우
-SiteListFile 인수(
-SiteURLs 인수 대체)를 사용하여 이를 지정할 수 있습니다.
Get-SharePointAppPermission -SiteListFile "./sitelist.txt" -ConfigFile "./my-config.json"
중요사항: 서비스 주체 인증을 사용하는 경우 명령줄에 -UseServicePrincipal 인수를 추가합니다.
-
지정된 Microsoft SharePoint Online 사이트 및 사이트 모음에 FullControl 권한을 추가하려면 다음 PowerShell 명령을 실행합니다.
Add-SharePointAppPermission -SiteUrls "https://example.sharepoint.com/sites/site1","https://example.sharepoint.com/sites/site2" -ConfigFile "./my-config.json"
사이트 목록 파일이 있는 경우
-SiteListFile 인수(
-SiteURLs 인수 대체)를 사용하여 이를 지정할 수 있습니다.
Add-SharePointAppPermission -SiteListFile "./sitelist.txt" -ConfigFile "./my-config.json"
중요사항: 서비스 주체 인증을 사용하는 경우 명령줄에 -UseServicePrincipal 인수를 추가합니다.
-
지정된 Microsoft SharePoint Online 사이트 및 사이트 모음에서 FullControl 권한을 제거하려면 다음 PowerShell 명령을 실행합니다.
Remove-SharePointAppPermission -SiteUrls "https://example.sharepoint.com/sites/site1","https://example.sharepoint.com/sites/site2" -ConfigFile "./my-config.json"
사이트 목록 파일이 있는 경우
-SiteListFile 인수(
-SiteURLs 인수 대체)를 사용하여 이를 지정할 수 있습니다.
Remove-SharePointAppPermission -SiteListFile "./sitelist.txt" -ConfigFile "./my-config.json"
중요사항: 서비스 주체 인증을 사용하는 경우 명령줄에 -UseServicePrincipal 인수를 추가합니다.
다음에 수행할 작업
외부 콘텐츠 커넥터에 의해 Microsoft SharePoint Online 여전히 크롤링되는 사이트 또는 사이트 모음에서 FullControl 권한을 제거하면 커넥터는 해당 사이트 또는 사이트 모음에서 콘텐츠를 크롤링하려고 할 때 권한 경고를 기록합니다. 이러한 경고를 제거하려면 커넥터 관리자에게 커넥터가 크롤링한 사이트 집합에서 영향을 받는 사이트 및 사이트 컬렉션을 제거하거나 제외하도록 요청합니다.