다음을 통해 공유


Microsoft SharePoint 수집을 위한 수동 토큰 새로 고침 인증 구성

중요합니다

관리되는 Microsoft SharePoint 커넥터는 베타 버전입니다.

이 페이지에서는 Azure Databricks로 Microsoft SharePoint 수집을 위한 수동 토큰 새로 고침 인증을 구성하는 방법을 설명합니다.

1단계: SharePoint 사이트 ID 가져오기

  1. 브라우저에서 원하는 SharePoint 사이트를 방문합니다.
  2. URL에 /_api/site/id를 추가합니다.
  3. Enter 키를 누르세요.

2단계: SharePoint 드라이브 이름 가져오기(선택 사항)

SharePoint 사이트에서 모든 드라이브와 문서를 수집하려는 경우 이 단계를 건너뛸 수 있습니다. 그러나 드라이브의 하위 집합만 수집하려는 경우 해당 이름을 수집해야 합니다.

왼쪽 메뉴에서 드라이브 이름을 찾을 수 있습니다. 각 사이트에 문서라는 기본 드라이브가 있습니다. 조직에 추가 드라이브가 있을 수 있습니다. 예를 들어, 다음 스크린샷의 드라이브에는 doclib1, subsite1doclib1 등이 포함됩니다.

SharePoint 드라이브 보기

일부 드라이브는 목록에서 숨겨질 수 있습니다. 드라이브 작성자는 드라이브 설정에서 이를 구성할 수 있습니다. 이 경우 숨겨진 드라이브가 사이트 콘텐츠 섹션에 표시될 수 있습니다.

숨겨진 SharePoint 드라이브 보기

3단계: Microsoft Entra ID에서 클라이언트 만들기

이 단계에서는 SharePoint 파일에 액세스할 수 있는 클라이언트를 만듭니다.

  1. Microsoft Azure Portal(portal.azure.com)에서 Microsoft Entra ID를 클릭합니다. "Microsoft Entra ID"를 검색해야 할 수도 있습니다.

    Azure Portal: Entra ID 카드

  2. 왼쪽 메뉴의 관리 섹션에서 앱 등록을 클릭합니다.

  3. 새 등록을 클릭합니다.

    Entra ID 앱에 대한 새 등록 단추

  4. 애플리케이션 등록 양식에서 다음 을 수행 합니다.

    • 다른 테넌트가 이 애플리케이션에 액세스하도록 할지 여부입니다.

    • 인증 코드를 가져오는 데 사용할 리디렉션 URL입니다. 다음 중 하나를 지정합니다.

      • 사용자 고유의 서버에 대한 리디렉션 URL
      • https://127.0.0.1 (서버가 실행 https://127.0.0.1되고 있지 않더라도 앱은 해당 페이지로 리디렉션을 시도합니다. 코드는 결과 URL에 있으며 URL 형식은 다음과 같습니다 https://127.0.0.1:5000/oauth2redirect?code=<code>.

    애플리케이션 양식 등록

    앱 세부 정보 페이지로 리디렉션됩니다.

    OAuth 애플리케이션 세부 정보 페이지

  5. 다음 값을 기록해 둡다.

    • 애플리케이션(클라이언트) ID
    • 디렉터리(테넌트) ID
  6. 클라이언트 자격 증명: 인증서 또는 비밀 추가를 클릭합니다.

  7. + 새 클라이언트 암호를 클릭합니다.

    + 새 클라이언트 암호 단추

  8. 설명을 추가합니다.

  9. 추가를 클릭합니다.

    클라이언트 비밀의 업데이트된 목록이 표시됩니다.

  10. 클라이언트 비밀 값을 복사하고 안전하게 저장합니다. 페이지를 나가면 클라이언트 비밀에 액세스할 수 없습니다.

4단계: SharePoint 파일에 대한 클라이언트 액세스 권한 부여

클라이언트는 SharePoint 파일에 액세스하려면 다음 두 가지 권한이 필요합니다.

  • sites.read.all
  • offline_access

이렇게 하면 액세스 권한이 있는 모든 사이트의 모든 파일에 대한 액세스 권한이 클라이언트에 부여됩니다. 이 항목에 익숙한 경우 다음을 수행합니다.

  1. 새 Notebook에서 다음 Python 코드를 실행합니다. tenant_id, client_id, 및 redirect_url를 수정합니다.

    import requests
    
    # This is the application (client) id (obtained from the App Registration page)
    
    client_id = ""
    
    # This is the tenant id (obtained from the App Registration page)
    
    tenant_id = ""
    
    # A redirect URL is used in OAuth to redirect users to an
    
    # application after they grant permission to access their account.
    
    # In this setup, the authentication code is sent to this server.
    
    redirect_url = ""
    
    # ================= Do not edit code below this line. ==================
    
    # Authorization endpoint URL
    
    authorization_url = f"https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize"
    
    scopes = ["Sites.Read.All"]
    scope = " ".join(["https://graph.microsoft.com/{}".format(s) for s in scopes])
    scope += ("&offline_access")
    
    # Construct the authorization request URL.
    
    auth_params = {
    "client_id": client_id,
    "redirect_uri": redirect_url,
    "response_type": "code",
    "scope": scope
    }
    
    auth_url = authorization_url + "?" + "&".join([f"{key}={value}" for key, value in auth_params.items()])
    
    print(auth_url)
    

    출력은 URL입니다.

  2. 브라우저에서 코드 출력의 URL을 방문합니다.

  3. Microsoft 365 자격 증명을 사용하여 로그인합니다.

  4. 요청된 사용 권한 대화 상자에서 요청된 권한을 검토합니다. 그들이 sites.read.alloffline_access를 포함하는지 확인하고, 이를 허용하는 것이 편안한지 확인하십시오.

  5. 페이지 맨 위에 있는 전자 메일 ID가 SharePoint 데이터에 액세스하는 데 사용하는 전자 메일과 일치하는지 확인합니다.

  6. 클라이언트 이름이 이전 단계의 자격 증명과 일치하는지 확인합니다.

    Microsoft 권한 요청 대화 상자

  7. 동의를 클릭합니다.

    지정한 리디렉션 URL로 리디렉션됩니다. 인증 코드도 받아야 합니다.

  8. 인증 코드를 기록해 둡다.

  9. 필요한 사용 권한 프롬프트가 표시되지 않으면 URL에 추가 &prompt=consent 합니다.

5단계: 새로 고침 토큰 가져오기

이 단계에서는 새로 고침 토큰을 가져와서 권한 부여를 완료합니다.

  1. 이전 단계에서 Notebook의 새 셀에 다음 Python 코드를 붙여넣습니다. tenant_id, client_id, 및 redirect_url를 수정합니다.

    # Use the authentication code to get the refresh token. The code contains the characters &session_state=<string> at the end. Remove these characters and define the modified string as code:
    code = ""
    
    
    # This is the client secret (obtained from the Credentials and Secrets page)
    client_secret = ""
    
    
    # ================= Do not edit code below this line. ==================
    token_url = f"https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token"
    
    
    
    
    # Request parameters
    token_params = {
        "client_id": client_id,
        "client_secret": client_secret,
        "code": code,
        "grant_type": "authorization_code",
        "redirect_uri": redirect_url,
        "scope": "profile openid email https://graph.microsoft.com/Sites.Read.All offline_access"
    }
    
    
    # Send POST request to token endpoint
    response = requests.post(token_url, data=token_params)
    
    
    # Handle response
    if response.status_code == 200:
        token_data = response.json()
        refresh_token = token_data.get("refresh_token")
        print("Refresh Token:", refresh_token)
    else:
        print("Error:", response.status_code, response.text)
    
    

다음 단계

  1. 연결을 만들어 얻은 인증 세부 정보를 저장합니다.
  2. 데이터 수집 파이프라인을 만듭니다.