Docs Menu
Docs Home
/
Atlas Charts
/ / /

Atlas App Services에서 인증된 차트 임베드

이 페이지의 내용

  • 전제 조건
  • 절차
  • 차트에 인증된 임베딩 활성화
  • 사용자 지정 Atlas App Services 제공자를 사용하도록 차트 구성
  • 차트를 표시하는 웹 앱 만들기
  • Node.js 앱 사용자 지정

Atlas App Services 는 개발자가 서버 인프라를 설정하다 필요 없이 애플리케이션을 빠르게 빌드 할 수 있는 서버리스 플랫폼 입니다. App Services 는 Google OAuth, Facebook Login 및 이메일 /password를 포함한 여러 인증 옵션을 제공합니다. 앱 서비스의 인증 메커니즘 을 사용하여 내장된 차트 에 대한 데이터 액세스 를 제어할 수 있습니다.

이 튜토리얼에서는 다음을 수행하는 방법을 보여줍니다.

  • 차트에 대해 인증된 임베딩을 활성화합니다.

  • Embedding SDK를 사용하여 맞춤형 Atlas App Services 공급자가 인증한 차트를 삽입하세요.

  • 앱 서비스를 사용하여 임베딩된 차트의 데이터를 제어할 수 있습니다.

참고

이 튜토리얼에서는 인증을 사용하여 앱 서비스를 만드는 방법은 다루지 않습니다. 앱 생성 튜토리얼은 Atlas App Services 문서를 참조하세요.

  • 연결된 Charts 인스턴스에 대한 내장 인증 제공자를 구성하려면 Atlas 프로젝트 소유자여야 합니다.

  • 앱의 백업 데이터베이스 를 데이터 소스 로 사용하는 차트 가 있어야 합니다. 차트 만들기에 대한 자세한 내용은 차트 만들기를 참조하세요 Charts

인증된 임베딩을 활성화하여 Atlas Charts 기본 URL과 차트 ID를 생성합니다. 웹 페이지에 차트를 표시하려면 차트 기본 URL과 차트 ID가 필요합니다.

1

대시보드 페이지에서 임베드하려는 차트가 포함된 대시보드를 선택합니다.

2

대시보드에서 다음을 클릭합니다. 을(를) 클릭하여 임베딩 정보에 액세스합니다. 드롭다운 메뉴에서 Embed chart 를 선택합니다.

참고

임베딩이 활성화된 대시보드에 차트가 있는 경우 Embed Chart 옵션이 자동으로 활성화됩니다. 따라서 임베딩이 활성화된 대시보드 내의 차트에 대해서는 Embed chart 옵션을 선택할 수 없습니다.

3

If you have already enabled external sharing on the data source this chart uses, skip this step. 아직 데이터 소스에서 임베딩을 활성화하지 않은 경우 지금 활성화할 수 있습니다. Configure external sharing 링크를 클릭합니다.

4
인증 차트 임베드
클릭하여 확대
5
6

차트를 보는 각 사용자에게 MongoDB 필터 문서를 삽입하는 함수를 지정할 수 있습니다. 이는 사용자별 Atlas Charts를 렌더링할 때 유용합니다.

예시

다음 필터 함수는 문서의 ownerId 필드가 임베딩 인증 제공자의 토큰의 sub 필드 값과 일치하는 데이터만 렌더링합니다.

function getFilter(context) {
return { ownerId: context.token.sub };
}

다음도 참조하세요.

사용자별 필터를 삽입하는 방법에 대해 자세히 알아보려면 사용자별 필터 삽입을 참조하세요.

7

차트 뷰어에서 데이터를 필터링할 수 있는 필드를 지정합니다. 기본적으로 필드는 지정되지 않으므로, 하나 이상의 필드를 명시적으로 허용할 때까지 차트를 필터링할 수 없습니다.

다음도 참조하세요.

필터링 가능한 필드에 대해 자세히 알아보려면 필터링 가능한 필드 지정을 참조하세요.

8

애플리케이션 코드에서 이러한 값을 내장된 인증 제공자 속성과 함께 사용하여 차트를 임베드하세요.

1

Atlas Charts가 아직 표시되지 않은 경우 Atlas UI에서 Charts 탭을 클릭합니다.

Atlas가 프로젝트에 연결된 Charts의 인스턴스를 시작합니다.

2

사이드바의 Development 제목 아래에 있는 Embedding 을 클릭합니다.

임베딩 페이지가 표시됩니다.

3

참고

Authentication Settings 페이지에 액세스 하려면 프로젝트 소유자 여야 합니다. 관리자가 아닌 사용자는 포함된 차트를 계속 사용할 수 있지만 프로젝트 소유자로부터 키를 받아야 합니다.

Authentication Settings 탭을 클릭합니다.

인증 설정 탭 이 표시됩니다.

4
  1. Authentication providers 섹션에서 Add 을 클릭합니다.

  2. Name 필드에 제공자를 설명하는 이름을 입력합니다.

  3. Provider 목록에서 Atlas App Services 을(를) 선택합니다.

  4. Atlas Project 목록에서 App Services가 포함된 클라우드 프로젝트를 선택합니다.

  5. App ID 목록에서 인증에 사용할 App Services를 선택합니다.

5

임베딩된 차트 액세스를 위해 사용자를 인증하는 것 외에도 앱 서비스 서비스 규칙을 사용하여 세분화된 데이터 액세스 제어를 수행할 수 있습니다. 규칙 적용을 활성화하려면 토글 스위치를 On으로 설정합니다.

이 옵션을 활성화하면 차트 데이터를 검색할 때 컬렉션에 정의된 모든 App Services 규칙이 Charts에서 준수됩니다. 이 기능을 사용하여 역할에 따라 사용자마다 다른 데이터 하위 집합을 표시하는 등 차트에 표시된 데이터에 대한 액세스를 제한할 수 있습니다.

참고

  • 이 옵션은 이 차트의 데이터 소스 가 앱 서비스와 동일한 MongoDB database 및 collection을 사용한다고 가정합니다.

  • 이 옵션을 사용하면 성능에 영향을 미칠 수 있으므로 App Services 규칙에 따라 데이터 액세스를 제한할 필요가 없는 경우 생략해야 합니다.

6

MongoDB에서 데이터를 가져오는 서비스의 이름을 입력합니다. 데이터 서비스의 이름을 찾으려면 다음을 수행합니다.

  1. 앱 서비스로 이동합니다.

  2. 사이드바 탐색에서 Clusters 을(를) 클릭합니다.

  3. 서비스 이름은 App Service Name 아래에 나열됩니다.

7

차트를 표시할 수 있는 앱이 이미 있는 경우 포함된 차트 를 추가할 준비가 된 것입니다. 그렇지 않은 경우 나머지 단계를 진행하여 새 앱을 만듭니다.

MongoDB는 Embedding SDK로 App Services 인증을 통해 임베디드 차트를 표시하는 방법을 보여주는 사전 빌드된 예제 앱을 제공합니다.

GitHub 리포지토리를 복제하고 Readme 파일의 지침에 따라 앱 사용을 시작합니다. 앱을 그대로 실행하거나 이전에 만든 차트를 사용하도록 사용자 지정할 수 있습니다.

참고

예제 앱에서는 앱 서비스가 이메일/비밀번호 인증을 사용한다고 가정합니다. 앱 서비스에서 다른 인증 메커니즘을 사용하는 경우 예제 앱에는 추가 사용자 지정이 필요합니다.

편집해야 하는 모든 줄은 ~REPLACE~ 이 포함된 주석으로 표시되어 있습니다.

1

index.js 파일은 src 디렉토리에 있습니다.

2

기존 애플리케이션 ID를 앱 서비스 UI 왼쪽에서 찾을 수 있는 애플리케이션 ID로 바꿉니다.

const client = Stitch.initializeAppClient(
'authentication-sample-eibkj', // Optional: ~REPLACE~ with your App ID
{
3

기존 Charts 기본 URL을 표시하려는 Charts의 기본 URL로 바꿉니다. Your Charts 기본 URL은 임베딩 옵션 모달 창에서 볼 수 있습니다. 차트 임베딩을 활성화하는 방법에 대한 자세한 지침은 임베딩 SDK 를 참조하세요.

const sdk = new ChartsEmbedSDK({
baseUrl: "https://charts-dev.mongodb.com/charts-test2-pebbp", // Optional: ~REPLACE~ with your Charts URL
getUserToken: () => getRealmUserToken(client),
});

위 코드 스니펫에서 getRealmUserToken() 함수에 유의하세요. 이 함수는 기존 Atlas App Services 인증 세션에서 JSON web token 를 반환합니다. 예시 앱의 2번째 줄에 있는 import 성명서에서 볼 수 있듯이 getRealmUserToken() 를 임베딩 SDK에서 가져와야 합니다.

import ChartsEmbedSDK, { getRealmUserToken } from "@mongodb-js/charts-embed-dom";

다음 코드 스니펫과 같이 HTML 페이지에 인라인 Javascript와 함께 Embedding SDK를 포함할 수도 있습니다.

<script src="https://s3.amazonaws.com/stitch-sdks/js/bundles/4.6.0/stitch.js"></script>
<script src="https://unpkg.com/@mongodb-js/charts-embed-dom"></script>

이 시나리오에서 getRealmUserToken() 함수를 사용하려면 SDK에서 함수를 가져옵니다.

ChartsEmbedSDK.getRealmUserToken()
4

기존 차트 ID를 표시하려는 차트의 ID로 바꿉니다. 차트 ID는 임베딩 옵션 모달 창에서 볼 수 있습니다. 차트 임베딩을 활성화하는 방법에 대한 자세한 지침은 임베딩 SDK 를 참조하세요.

const chart = sdk.createChart({
chartId: "a2e775e6-f267-4c2c-a65d-fbf3fad4a4f2", // Optional: ~REPLACE~ with your Chart ID
});

앱 사용자 지정이 완료되면 앱을 실행할 준비가 된 것입니다.

돌아가기

Google 로그인으로 인증된 차트 임베드