Fabric에서 GraphQL용 API 만들기 및 데이터 추가
API를 만든 다음 데이터 원본을 연결하여 API를 통해 선택한 데이터를 노출하여 GraphQL용 Fabric API를 시작합니다. Fabric은 데이터에 따라 자동으로 GraphQL 스키마를 빌드하고 애플리케이션은 몇 분 안에 연결할 준비가 됩니다.
필수 조건
- 관리 테넌트 설정
"사용자가 패브릭 항목을 만들 수 있습니다."를 사용하도록 설정합니다.
GraphQL용 API 만들기
GraphQL용 API를 만들려면 다음을 수행합니다.
이제 Fabric에서 데이터에 액세스하는 완전한 기능의 API가 있습니다.
데이터 원본에 연결하고 스키마 빌드
이 시점에서 API는 준비되었지만 데이터를 노출하지 않습니다. GraphQL용 API는 강력한 형식의 시스템에서 형식 및 필드로 구성된 스키마에 정의됩니다. Fabric은 GraphQL 클라이언트에 노출하도록 선택한 데이터에 따라 필요한 GraphQL 스키마를 자동으로 생성합니다.
새 API에서 데이터 원본 선택을 선택하여 노출할 데이터 원본 선택합니다.
다음으로 API에 대한 연결 옵션을 선택합니다.
여기서는 API 클라이언트가 두 가지 고유한 옵션에 따라 API에 액세스하여 GraphQL 요청을 실행하는 방법을 정의할 수 있습니다.
- SSO(Single Sign-On): 클라이언트 자격 증명을 사용하여 데이터 원본에 연결합니다. 즉, 인증된 API 사용자가 기본 데이터 원본에 액세스할 수 있어야 합니다. 예를 들어 API 클라이언트에 Lakehouse 데이터를 노출하는 경우 인증된 사용자는 API와 Lakehouse 둘 다에 액세스할 수 있어야 합니다. 보다 구체적으로 GraphQL API에 대한 권한 실행 (직접 액세스 권한을 추가할 때 쿼리 및 변형 실행 옵션) 및 선택한 데이터 원본에 필요한 읽기 또는 쓰기 권한도 그에 따라 실행합니다. 또는 API 및 데이터 원본 항목이 둘 다 있는 기여자 역할을 사용하여 작업 영역 멤버로 사용자를 추가할 수 있습니다. 그러면 한 곳에서 두 항목 모두에 필요한 액세스 권한이 부여됩니다. 자세한 내용은 사용자에게 작업 영역에 대한 액세스 권한 부여를 참조하세요.
- 저장된 자격 증명: 저장된 자격 증명을 사용하여 데이터 원본에 연결합니다. 즉, 인증된 API 사용자는 데이터 원본에 직접 액세스할 필요가 없습니다. 저장된 자격 증명은 데이터 원본의 API와 기본 테이블 간의 데이터에 액세스하기 위해 공유됩니다. 예를 들어, API 클라이언트에 Lakehouse 데이터를 노출하는 경우 인증된 사용자는 Lakehouse가 아닌 API(직접 액세스 권한을 추가할 때 쿼리 및 변형 실행 옵션)에 직접 액세스할 수 있어야 합니다. 저장된 자격 증명은 API를 데이터 원본에 연결하는 데 사용되며 모든 인증된 API 사용자가 공유합니다. 이 옵션은 GraphQL을 통해 Azure SQL 데이터베이스와 같은 Azure 데이터 원본을 노출하는 경우에 필요합니다. 확인을 선택한 후 저장된 자격 증명이 아직 없는 경우 다음 단계에서 데이터 원본을 선택한 후 새 저장된 자격 증명을 만들라는 메시지가 표시됩니다.
이 옵션을 선택하면 이후에 API에 추가되는 모든 데이터 원본에 대해 이러한 옵션이 적용됩니다. Single Sign-On과 저장된 자격 증명을 동일한 API에 혼합할 수 없습니다. 또한 UPN(사용자 계정 이름) 또는 SPN(서비스 사용자 이름)을 사용하여 API에 연결할 수 있지만 서비스 주체는 현재 SSO(Single Sign-On)만 지원합니다. 사용자 보안 주체는 보안 요구 사항에 따라 SSO 또는 저장된 자격 증명을 활용할 수 있습니다.
참고 항목
GraphQL용 API를 사용하려면 클라이언트 애플리케이션에서 인증에 Microsoft Entra를 사용해야 합니다. 패브릭에 대해 API 호출을 실행하려면 클라이언트 애플리케이션을 적절하게 등록하고 구성해야 합니다. Microsoft Entra에 등록된 앱에는 Power BI 서비스 Item.Execute.All API 권한이 필요합니다. Connect Applications에서 사용자 보안 주체와 서비스 주체 모두에 대한 지침 및 샘플 코드가 포함된 엔드 투 엔드 자습서를 찾을 수 있습니다.
OneLake 데이터 허브가 나타납니다. 연결할 데이터 원본을 선택합니다. 다음 예제에서는 미러된 데이터베이스에 연결된 AdventureWorks SQL 분석 엔드포인트를 선택합니다. 필터를 선택하여 특정 형식의 Fabric 데이터 원본만 보거나 특정 키워드로 검색합니다. 준비가 되면 연결을 선택합니다.
GraphQL 스키마에 노출할 개체를 선택할 수 있는 데이터 가져오기 화면이 나타납니다.
API에 노출하려는 개별 테이블 또는 저장 프로시저 옆에 있는 확인란을 선택합니다. 폴더의 모든 개체를 선택하려면 맨 위에 데이터 원본 이름이 있는 확인란을 선택합니다.
로드를 선택하여 GraphQL 스키마 생성 프로세스를 시작합니다.
스키마가 생성되고 데이터와 상호 작용하기 위해 GraphQL 쿼리(읽기, 목록) 또는 변형(만들기, 업데이트, 삭제)의 프로토타입 생성을 시작할 수 있습니다.
이제 GraphQL용 API가 연결 및 요청을 수락할 준비가 되었습니다. API 편집기를 사용하여 GraphQL 쿼리 및 스키마 탐색기를 테스트하고 프로토타입을 생성하여 API에 노출된 데이터 형식 및 필드를 확인할 수 있습니다.
사용 권한 요약
아래 표에는 GraphQL API에 액세스하는 클라이언트에 대해 지원되는 다양한 순열 및 최소 필수 권한이 요약되어 있습니다.
API 호출자 | 데이터 원본 연결 | 필수 GraphQL API 권한 | 필요한 데이터 원본 권한 | Entra 앱 범위 |
---|---|---|---|---|
UPN(사용자 계정) | SSO(Single Sign-On) | API 수준에서 쿼리 및 변형 실행 | 데이터 원본에서 UPN에 부여된 적절한 읽기/쓰기 권한 | Item.Execute.All |
SPN(서비스 주체) | SSO(Single Sign-On) | API 수준에서 쿼리 및 변형 실행 | 데이터 원본에서 SPN에 부여된 적절한 읽기/쓰기 권한 | Item.Execute.All |
UPN(사용자 계정) | 저장된 자격 증명 | API 수준에서 쿼리 및 변형 실행 | 데이터 원본에서 저장된 자격 증명(연결)에 부여된 적절한 읽기/쓰기 권한 | Item.Execute.All |
SPN(서비스 주체) | 저장된 자격 증명 | 현재 지원되지 않음 | 현재 지원되지 않음 | 현재 지원되지 않음 |