인증 설정(미리 보기)
인증을 사용하려면 다음 세 가지 구성 요소 부분을 설정해야 합니다.
- Microsoft Entra ID 애플리케이션 (이전의 Azure AD 앱)
- 프런트 엔드 샘플
- 백 엔드 샘플
Fabric에서 인증을 사용하려면 이 가이드를 따르세요.
Azure Storage 서비스 프로비저닝
이 샘플에서는 레이크하우스에서 데이터를 저장하고 읽는 방법을 보여 줍니다. 이를 위해서는 OBO 흐름에서 Azure Storage 서비스에 대한 토큰을 생성해야 합니다. 토큰을 생성하려면 사용자가 Azure Storage를 사용하여 애플리케이션에 동의해야 합니다. 동의하려면 Azure Storage를 테넌트에 프로비전해야 합니다.
Azure Storage가 테넌트에 프로비전되도록 하려면 다음을 수행합니다.
Azure Portal에 로그인
Microsoft Entra ID>Enterprise 애플리케이션으로 이동
필터에서 애플리케이션 유형 = 모든 aplications를 선택합니다. 애플리케이션 ID는 e406a681-f3d4-42a8-90b6-c2b029497af1로 시작합니다.
Azure Storage 애플리케이션이 표시되는 경우 이미 프로비전되어 있으며 다음 단계를 계속할 수 있습니다. 그렇지 않은 경우 테넌트 관리자가 프로비전해야 합니다.
테넌트 관리자에게 Windows PowerShell을 관리자로 열고 다음 스크립트를 실행하도록 요청합니다.
Install-Module az
Import-Module az
Connect-AzureAD
New-AzureADServicePrincipal -AppId e406a681-f3d4-42a8-90b6-c2b029497af1
Microsoft Entra ID에서 수동으로 애플리케이션 구성
인증을 사용하려면 Microsoft Entra ID에 등록된 애플리케이션이 필요합니다. 등록된 애플리케이션이 없는 경우 이 가이드에 따라 새 애플리케이션을 만듭니다.
애플리케이션에 다음 구성을 적용합니다.
- 애플리케이션을 다중 테넌트 앱으로 만듭니다.
- 개발 애플리케이션의 경우 SPA 플랫폼과 마찬가지로
http://localhost:60006/close
리디렉션 URI를 구성합니다. 이 구성은 동의 지원에 필요합니다. 원하는 대로 다른 리디렉션 URI를 추가할 수 있습니다.
참고 항목
- 리디렉션 URI는 페이지로 이동할 때 페이지를 닫는 URI여야 합니다. URI
http://localhost:60006/close
는 프런트 엔드 샘플에 이미 구성되어 있으며 프런트 엔드/src/index.ts 변경할 수 있습니다(변경한 경우 애플리케이션에 대해 구성된 것과 일치하는지 확인). - 인증 아래의 관리 메뉴에서 애플리케이션을 만든 후 리디렉션 URI를 구성할 수 있습니다.
애플리케이션의 애플리케이션 ID URI 를 변경합니다. API 노출 관리>로 이동하여 앱의 애플리케이션 ID URI를 편집합니다.
개발 시나리오의 경우 애플리케이션 ID URI는 다음으로
api://localdevinstance/<Workload publisher's tenant ID in lower case (the tenant ID of the user used in Fabric to run the sample)>/<Name of your workload>
시작해야 하며, 끝부분에서 선택적 하위 경로로/
시작해야 합니다(예제 참조).여기서
- 워크로드 이름은 매니페스트에 지정된 것과 정확히 같습니다.
- ID URI는 슬래시로 끝나지 않습니다.
- ID URI의 끝에는 영어 소문자 또는 대문자, 숫자 및 대시 문자열로 구성된 선택적 하위 경로가 최대 36자까지 있을 수 있습니다.
팁
테넌트 ID를 찾는 방법에 대한 도움말은 Microsoft Entra 테넌트 ID를 찾는 방법을 참조하세요.
예를 들어 게시자의 테넌트 ID가 853d9f4f-c71b-4420-b6ec-60e503458946이고 워크로드 이름이 Fabric.WorkloadSample인 경우 다음을 수행합니다.
다음 URI 는 유효합니다 .
api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample
api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample/abc
다음 URI 가 잘못되었습니다 .
api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample/af/
api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample/af/a
- 시작하지 않는 모든 ID URI
api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample
CRUD/작업에 대한 범위 추가
워크로드 항목에 대한 API 만들기, 읽기, 업데이트 및 삭제 작업을 수행하고 작업을 사용하여 다른 작업을 수행하고, 범위를 추가하고, 해당 범위에 대한 사전 인증된 애플리케이션에 Fabric 서비스 애플리케이션을 추가하여 API(만든 범위)가 Fabric을 신뢰함을 나타내려면 다음을 수행합니다.
API 노출에서 범위 추가를 선택합니다. FabricWorkloadControl 범위의 이름을 지정하고 필요한 세부 정보를 제공합니다.
권한 있는 클라이언트 애플리케이션에서 클라이언트 애플리케이션 추가를 선택합니다. (패브릭 서비스 애플리케이션)을 추가하고
00000009-0000-0000-c000-000000000000
범위를 선택합니다.
데이터 평면 API에 대한 범위 추가
데이터 평면 API에서 노출하는 작업 그룹을 나타내려면 다른 범위를 등록해야 합니다. 백 엔드 샘플에서는 네 가지 예제를 제공합니다. 백 엔드/src/상수/scopes.cs 볼 수 있습니다. 범위는 다음과 같습니다.
Item1.Read.All
: 워크로드 항목을 읽는 데 사용됩니다.Item1.ReadWrite.All
: 워크로드 항목 읽기/쓰기에 사용됨FabricLakehouse.Read.All
: 레이크하우스 파일을 읽는 데 사용됩니다.FabricLakehouse.ReadWrite.All
: 레이크하우스 파일 읽기/쓰기에 사용됨
이러한 범위에 대한 사전 인증 871c010f-5e61-4fb1-83ac-98610a7e9110
(패브릭 클라이언트 애플리케이션)입니다.
이러한 앱의 애플리케이션 ID는 Microsoft Power BI 및 Power BI 서비스에서 찾을 수 있습니다.
애플리케이션에서 API 노출 섹션이 표시되는 방법은 다음과 같습니다. 이 예제에서 ID URI는 다음과 같습니다.api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample
애플리케이션에 대한 비밀 생성
인증서 및 비밀에서 비밀 탭을 선택하고 비밀을 추가합니다. 원하는 이름을 지정하고 저장합니다. 백 엔드 샘플을 구성할 때 이 비밀을 사용합니다.
선택적 클레임 'idtyp' 추가
토큰 구성에서 선택적 클레임 추가를 선택합니다. 액세스 토큰을 선택하고 idtyp를 추가합니다.
API 사용 권한 추가
*API 권한 아래에서 애플리케이션에 대해 원하는 권한을 추가합니다. 백 엔드 샘플의 경우 Storage user_impersonation(OneLake API용) 및 Power BI Workspace.Read.all(워크로드 제어 API용)을 추가합니다.
애플리케이션이 인증 토큰 v1에서 작동하도록 설정되어 있는지 확인합니다.
매니페스트에서 null 또는 "1"로 설정되어 있는지 확인 accessTokenAcceptedVersion
합니다.
스크립트를 사용하여 자동으로 Microsoft Entra Identity에서 애플리케이션 구성
Microsoft Entra Identity에서 애플리케이션의 간소화된 설정을 위해 자동화된 PowerShell 스크립트를 사용하도록 선택할 수 있습니다. 애플리케이션을 구성하려면 다음 단계를 수행합니다.
- Azure CLI 설치: 먼저 Azure 명령줄 인터페이스(CLI) Windows용 Azure CLI 설치 | Microsoft Learn2..
- CreateDevAADApp.ps1 스크립트 실행: CreateDevAADApp 스크립트를 실행합니다. 애플리케이션을 만들려는 사용자 계정의 자격 증명을 사용하여 로그인하라는 메시지가 표시됩니다.
- 필수 정보 제공: 메시지가 표시되면 애플리케이션의 원하는 이름, 워크로드 이름("Org") 접두사 및 테넌트 ID를 입력합니다.
스크립트를 성공적으로 실행하면 워크로드를 구성하는 데 필요한 모든 세부 정보가 출력됩니다. 또한 애플리케이션에 대한 직접 URL과 테넌트 전체 애플리케이션 권한 부여에 대한 관리 동의 URL을 제공합니다.
사용 예
지정된 테넌트에 대한 워크로드 이름이 "Org.Myworkload"인 "myWorkloadApp"이라는 애플리케이션을 만들려면 PowerShell에서 다음 명령을 실행합니다.
powershell .\CreateDevAADApp.ps1 -applicationName "myWorkloadApp" -workloadName "Org.Myworkload" -tenantId "cb1f79ad-7930-43c0-8d84-c1bf8d15c8c7"
이 예제에서는 명령줄 인수와 함께 스크립트를 CreateDevAADApp.ps1
사용하여 애플리케이션 설정 프로세스를 자동화하는 방법을 보여 줍니다. 제공된 테넌트 ID는 예제이며 실제 테넌트 ID로 바꿔야 합니다.
워크로드 구성(백 엔드)
백 엔드 샘플에서 리포지토리의 파일로
src/appsettings.json
이동하여 설정을 구성합니다.PublisherTenantId
: 게시자의 테넌트 IDClientId
: 애플리케이션 ID(개요 아래의 Microsoft Entra ID에서 찾을 수 있습니다).ClientSecret
: Entra 앱을 구성할 때 만든 비밀입니다.Audience
: Entra 앱에서 구성한 ID URI입니다.
workloadManifest.xml 구성합니다. 리포지토리의 파일로
src/Packages/manifest/files/WorkloadManifest.xml
이동하여 AADApps에서 사용자redirectUri
AppId
및ResourceId
(ID URI)를 구성합니다.
<AADApp>
<AppId>YourApplicationId</AppId>
<RedirectUri>YourRedirectUri</RedirectUri>
<ResourceId>YourResourceId</ResourceId>
</AADApp>
워크로드 로컬 매니페스트 구성 및 애플리케이션에 대한 토큰 획득(프런트 엔드)
참고 항목
이 단계는 devmode 시나리오에만 적용됩니다.
애플리케이션을 구성한 후 리포지토리에 devAADAppConfig
있는 구성 파일의 섹션에 Frontend/.env.dev
다음 구성을 추가합니다.
"devAADAppConfig": {
"DEV_AAD_CONFIG_AUDIENCE": "", // The ID URI configured in your application for developer scenario
"DEV_AAD_CONFIG_REDIRECT_URI": "http://localhost:60006/close", // or the path you configured in index.ts
"DEV_AAD_CONFIG_APPID": "" // your app Id
}
토큰 요청 및 애플리케이션 동의
참고 항목
CRUD/작업이 작동하려면 이 단계가 필요합니다.
프런트 엔드 샘플을 실행하고 샘플 항목을 만듭니다.
아래로 스크롤하여 인증 페이지로 이동합니다.
요청 초기 동의를 확인하고 액세스 토큰 가져오기를 선택합니다. 그러면 애플리케이션에 대한 동의가 트리거되어야 합니다.
이 동의에는 이전에 API 권한 추가에서 추가한 종속성이 포함됩니다.
이제 다음 작업을 수행할 수 있습니다.
- CRUD/작업 작업을 사용합니다.
- 클라이언트 쪽에서 애플리케이션에 대한 액세스 토큰을 가져옵니다.
- 프런트 엔드 샘플의 인증 페이지를 워크로드 API를 호출하는 플레이그라운드로 사용합니다.
- 백 엔드 샘플이 백 엔드/src/컨트롤러에서 제공하는 API를 확인합니다.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기