Lovable한국어 문서

애플리케이션 권한을 가진 service principal로 앱을 Azure Graph & Entra API에 연결해 로그인한 사용자 없이 조직의 Microsoft Entra 디렉터리와 Microsoft 365 데이터를 Microsoft Graph로 읽고 관리합니다.

Azure Graph & Entra API에 앱 연결하기

로그인한 사용자 없이 Microsoft Graph로 조직의 Microsoft Entra 디렉터리와 Microsoft 365 데이터를 읽고 관리하도록 앱을 Azure Graph & Entra API에 연결합니다.

Microsoft Graph는 Microsoft 365와 Microsoft Entra를 위한 API입니다. Microsoft Entra는 Microsoft 365와 Azure를 뒷받침하는 ID 서비스입니다. Azure Graph & Entra API 커넥터를 사용하면 Lovable 앱이 애플리케이션 권한을 가진 Microsoft Entra service principal로 Microsoft Graph를 호출할 수 있습니다. 덕분에 로그인한 사용자 없이도 앱이 조직 전체의 디렉터리와 Microsoft 365 데이터를 다룹니다. 직접 관리하는 Microsoft 테넌트를 읽거나 운영하는 내부 도구와 대시보드를 위해 설계되었습니다.

Azure Graph & Entra API는 앱 + 채팅 커넥터로 제공됩니다. 하나의 공유 연결이 Chats, 빌드 중 프로젝트 채팅, 게시된 앱에서 모두 동작합니다.

Azure Graph & Entra API를 연결하면 앱은 다음 작업이 가능합니다.

  • Microsoft Entra 디렉터리의 사용자와 그룹을 계정 상태, 그룹 멤버십과 함께 나열
  • SharePoint 사이트 검색과 사이트의 문서 라이브러리 탐색
  • 조직 메일박스와 캘린더 읽기
  • app registration과 그 자격 증명 관리
  • Teams, Intune 디바이스, 보고서처럼 애플리케이션 권한을 받는 모든 Microsoft Graph 엔드포인트로 그 밖의 Microsoft 365·Microsoft Entra 관리 작업 자동화

이 커넥터는 Lovable로 빌드한 앱을 위한 커넥터입니다. 앱을 Microsoft 테넌트와 통합합니다. Lovable 앱을 Azure에 배포하거나 호스팅하지는 않습니다. Lovable 앱을 게시하려면 Lovable의 게시 흐름을 사용하세요.

조직 전체가 아니라 로그인한 사용자 한 명의 메일박스, 파일, Teams를 다루려면 Microsoft 계정으로 연결하는 Microsoft 365 커넥터를 사용하세요. Azure 구독, 리소스, 비용을 조사·관리하려면 Azure Cloud API를 사용하세요.

주요 활용 사례 및 예시 앱

다음 예시는 Azure Graph & Entra API로 무엇을 만들 수 있는지 보여줍니다. 각 항목에는 시작용 프롬프트가 포함되어 있습니다.

예시 앱예시 프롬프트설명
Entra 사용자 디렉터리Azure Graph & Entra API를 사용해 Microsoft Entra 디렉터리의 사용자를 계정 상태와 함께 나열하는 관리자 패널을 만들어줘.Entra 관리 센터를 열지 않고 디렉터리를 검토합니다.
앱이 Microsoft Graph에서 사용자를 읽어 어떤 계정이 활성·비활성인지 필터링 가능한 표로 보여줍니다.
그룹 멤버십 탐색기Azure Graph & Entra API를 사용해 Entra 그룹을 나열하고 선택한 그룹의 멤버를 보여주는 페이지를 만들어줘.누가 어느 그룹에 속하는지 확인합니다.
앱이 그룹을 나열하고 선택한 그룹의 멤버를 필요할 때 불러옵니다.
SharePoint 라이브러리 브라우저Azure Graph & Entra API를 사용해 SharePoint 사이트를 검색하고 선택한 사이트의 문서 라이브러리를 둘러볼 수 있는 내부 도구를 만들어줘.SharePoint 전반의 문서를 한곳에서 찾습니다.
앱이 Microsoft Graph로 사이트를 검색하고 고른 사이트의 라이브러리를 나열합니다.
공유 메일박스 분류 보드Azure Graph & Entra API를 사용해 support 메일박스의 읽지 않은 메시지를 보낸 사람 도메인별로 묶어 보여주는 보드를 만들어줘.모두에게 Outlook 접근 권한을 주지 않고 공유 메일박스를 살펍니다.
앱이 Microsoft Graph로 메일박스를 읽고 분류를 위해 보낸 사람별로 메시지를 묶습니다.
앱 자격 증명 만료 보고서Azure Graph & Entra API를 사용해 앞으로 30일 안에 client secret이나 인증서가 만료되는 app registration 보고서를 만들어줘.통합이 끊기기 전에 만료되는 자격 증명을 잡아냅니다.
앱이 app registration과 자격 증명 만료일을 읽어 교체가 필요한 항목을 강조합니다.
관리 디바이스 인벤토리Azure Graph & Entra API를 사용해 Intune 관리 디바이스를 운영체제, 준수 상태, 마지막 체크인과 함께 보여주는 대시보드를 만들어줘.어떤 디바이스가 정책을 준수하는지 한눈에 파악합니다.
앱이 Microsoft Graph에서 관리 디바이스를 읽어 준수하지 않는 항목을 표시합니다.

Azure Graph & Entra API 연결 방식

커넥터는 Microsoft Entra service principal로 인증합니다. service principal은 테넌트에 등록하고 client secret을 부여하는 애플리케이션 신원입니다. 각 연결은 하나의 service principal의 테넌트 ID, client ID, client secret을 사용하며, 워크스페이스의 여러 프로젝트가 이를 공유할 수 있습니다. Lovable의 커넥터 게이트웨이가 secret을 Microsoft Graph 액세스 토큰으로 교환하고 백그라운드에서 토큰을 갱신하며 각 요청을 Microsoft Graph로 전달하므로, secret과 토큰은 서버에 남고 게시된 앱에는 노출되지 않습니다.

이 연결에는 로그인한 사용자가 없습니다. Microsoft Graph는 애플리케이션 권한으로 연결을 인가하며, 이 권한은 조직 전체에 적용되고 관리자가 동의한 뒤에만 효력이 생깁니다. /me처럼 로그인한 사용자에게만 동작하는 엔드포인트는 사용할 수 없으므로, 앱은 테넌트 리소스를 명시적으로 지정해야 합니다. 예를 들어 사용자나 사이트를 ID로 지정합니다.

커넥터는 연결이 호출할 수 있는 Microsoft Graph 엔드포인트를 제한하지 않으며, 읽기·쓰기를 구분하지도 않습니다. 관리자가 동의한 애플리케이션 권한과 service principal에 할당된 디렉터리 역할이 유일한 통제 수단입니다. 그 service principal로 할 수 있는 일은 이 연결로 빌드한 앱도 할 수 있습니다. 앱을 포괄하는 가장 좁은 권한을 부여하고, ReadWrite 권한보다 읽기 권한을 우선하세요.

연결은 자격 증명을 검증하지만 접근 권한은 검증하지 않습니다. Lovable은 Microsoft Entra가 그 service principal에 Microsoft Graph 액세스 토큰을 발급하는지만 확인하므로, 연결은 검증에 성공해도 애플리케이션 권한이 생기고 관리자가 동의하기 전까지 403 응답을 받을 수 있습니다. 문제 해결을 참조하세요.

Azure Graph & Entra API는 Microsoft Graph에만 접근합니다. 구독, 리소스, 비용을 다루려고 Azure Resource Manager를 호출하려면 별도의 Azure Cloud API 연결을 만드세요. 같은 app registration으로 두 연결을 모두 뒷받침할 수 있지만, 그러면 secret을 교체할 때 양쪽을 모두 업데이트해야 합니다. 권한이나 환경이 다르다면 커넥터마다 전용 service principal을 쓰는 편이 좋습니다.

프로젝트 채팅에서 이 연결로 빌드할 때 Lovable은 다음과 같이 동작합니다.

  • Lovable은 기본적으로 읽기 전용 기능을 빌드하며, 디렉터리 객체, Microsoft 365 데이터, 앱 자격 증명을 생성·변경·삭제하는 호출은 이름을 지정해 요청할 때만 추가합니다.
  • 테넌트를 변경하는 호출의 코드를 생성하기 전에 Lovable은 정확한 대상과 변경 내용을 밝히고 확인을 요청합니다. 파괴적이거나 권한을 바꾸거나 자격 증명과 관련된 작업이라면, Lovable은 그 변경이 무엇에 더 영향을 주고 되돌릴 수 있는지도 설명하고 한 번 더 확인을 요청합니다.
  • Lovable은 사용자 생성 같은 디렉터리 변경을 반복문, 스케줄, 가입별 트리거가 아니라 사용자가 확인하는 범위가 한정된 단일 작업으로 빌드합니다.
  • Lovable은 모든 호출을 서버 쪽에 두고, 테넌트 ID, client ID, client secret, 액세스 토큰을 프런트엔드 코드나 채팅에 넣지 않습니다. 호출이 반환한 새 client secret 같은 자격 증명도 서버에 머무릅니다.
  • Microsoft Graph가 호출을 거부하면 Lovable은 재시도하지 않고 부여해야 할 애플리케이션 권한이나 동의를 알려 줍니다.

이 규칙은 Lovable이 앱을 위해 작성하는 코드에 적용됩니다. Lovable이 프로젝트 채팅에서 연결을 직접 사용해 변경을 수행할 때는 먼저 승인 카드에서 멈춥니다. Agent approval for this connection 설정은 본인과 해당 연결에 적용되며 Lovable이 계속 물어볼지를 결정합니다. 프로젝트 채팅에서 커넥터 작업 승인하기를 참조하세요.

Azure Graph & Entra API 연결 방법

Azure Graph & Entra API 연결을 만들 수 있는 사람은 플랜과 워크스페이스 설정에 따라 달라집니다. 앱 + 채팅 커넥터는 Free, Pro, Business 플랜에서 기본으로 제공됩니다. Enterprise 플랜에서는 처음에 사실상 비활성화되어 있습니다. admin이 Connectors → Admin settings → App + chat connectors에서 바꾸기 전까지 연결과 클라이언트를 만들 수 있는 사람의 기본값은 No one입니다.

서로 다른 service principal로 Azure Graph & Entra API 연결을 여러 개 만들 수 있습니다. 테넌트나 개발·프로덕션 같은 환경을 분리하거나, 앱마다 권한 집합을 따로 줄 때 유용합니다.

연결을 만들면 사용하려는 프로젝트에 연결을 링크할 수 있습니다. 프로젝트에서 빌드하는 사람은 프로젝트 채팅에서 Lovable에 자기 프로젝트를 이 연결에 링크해 달라고 요청할 수 있습니다.

사전 준비

Azure Graph & Entra API를 연결하기 전에 다음을 확인하세요.

API 작업은 조직 전체의 사용자, 그룹, 메일박스, 파일, 앱 자격 증명을 생성·변경·삭제할 수 있으며, 그 책임은 모두 사용자에게 있습니다. 대부분의 Microsoft Graph 호출은 Microsoft 365와 Microsoft Entra 라이선스에 포함되며, 종량제 Microsoft Graph API는 Lovable이 아니라 Microsoft가 Azure 구독에 직접 청구합니다. 조직에 공유하기 전에 Lovable이 빌드한 결과를 검증하세요.

1단계: Microsoft Entra에서 service principal 만들기

연결은 테넌트에 등록한 애플리케이션으로 인증합니다. Lovable 전용 애플리케이션을 등록하거나 기존 애플리케이션을 재사용하고, 그에 대한 client secret을 만드세요. 애플리케이션을 등록하면 테넌트에 그 service principal도 함께 생성됩니다.

애플리케이션 등록

Microsoft Entra 관리 센터에 로그인해 Entra ID → App registrations로 이동한 뒤 New registration을 선택합니다. 애플리케이션 이름을 lovable-app처럼 지정하고, 지원 계정 유형은 기본값(Single tenant only과 테넌트 이름)을 그대로 두고, 리디렉션 URI는 비워 둔 채 Register를 클릭합니다. Microsoft 안내서 애플리케이션 등록을 참조하세요.

테넌트 ID와 client ID 기록

애플리케이션의 Overview 페이지에서 Directory (tenant) ID와 Application (client) ID를 복사합니다. 두 값은 3단계에서 Lovable에 입력합니다.

client secret 만들기

Certificates & secrets → Client secrets → New client secret으로 이동해 설명을 추가하고 만료 기간을 선택한 뒤 Add를 클릭합니다. secret의 Value를 즉시 복사해 안전하게 보관하세요. 페이지를 벗어나면 Microsoft가 다시 보여주지 않습니다. Secret ID는 secret이 아니므로 복사하지 마세요. Microsoft 안내서 자격 증명 추가를 참조하세요.

client secret은 비밀번호처럼 동작합니다. 안전하게 보관하고 저장소에 커밋하거나 공개적으로 공유하지 마세요. 선택한 만료 기간을 기억해 두세요. secret이 만료되면 새 secret을 만들어 Lovable에서 연결을 업데이트할 때까지 연결이 동작을 멈춥니다.

2단계: Microsoft Graph 애플리케이션 권한 부여하기

애플리케이션을 등록해도 아무 권한도 주어지지 않습니다. 앱에 필요한 Microsoft Graph 애플리케이션 권한을 추가하고, 관리자가 테넌트에 대해 그 권한에 동의하게 하세요.

애플리케이션 권한 추가

애플리케이션 등록에서 API permissions로 이동해 Add a permission → Microsoft Graph → Application permissions를 선택하고, 앱에 필요한 권한만 선택합니다. 예를 들어 User.Read.All은 사용자를 나열하고, Group.Read.All은 그룹과 그 멤버를 다루며, Sites.Read.All은 SharePoint를 검색하고, Mail.Read는 조직 메일박스를 읽고, Application.Read.All은 app registration을 읽습니다. Add permissions를 클릭합니다. Microsoft Graph 권한 참조 문서의 각 엔드포인트에 어떤 권한을 받는지 정리되어 있습니다.

앱이 데이터를 변경하지 않는다면 ReadWrite 권한보다 읽기 권한을 우선하세요. 또 앱이 직접 통제하는 테넌트 관리 도구가 아니라면 디렉터리 역할이나 다른 애플리케이션의 자격 증명을 관리하는 권한은 피하세요. 역할을 할당할 수 있는 service principal은 스스로에게 더 넓은 권한을 부여할 수 있습니다.

관리자 동의 부여

여전히 API permissions 아래에서 테넌트에 대한 Grant admin consent for를 클릭하고 확인합니다. Status 열에서 각 권한의 부여 여부를 확인할 수 있습니다. Microsoft Graph 애플리케이션 권한에 동의하려면 Privileged Role Administrator 또는 Global Administrator 역할이 필요합니다. Cloud Application Administrator와 Application Administrator 계정은 다른 권한에는 동의할 수 있지만 이 권한에는 동의할 수 없으므로, 버튼을 쓸 수 없다면 두 역할 중 하나를 가진 관리자에게 요청하세요. Microsoft 안내서 테넌트 전체 관리자 동의 부여를 참조하세요.

3단계: Azure Graph & Entra API를 Lovable에 연결하기

권한을 부여했다면 Lovable에서 연결을 생성합니다.

Connectors에서 Azure Graph & Entra API 열기

Connectors를 열고 Azure Graph & Entra API를 선택합니다. 카탈로그를 여는 다른 위치는 커넥터를 찾을 수 있는 곳을 참조하세요. 커넥터 페이지에는 API 작업의 영향을 알리는 Use responsibly 안내가 표시됩니다.

연결 추가

Add connection을 클릭하고 App + chat connector를 선택합니다. 양식은 접을 수 있는 Details, Configure connection, Sharing 세 섹션으로 나뉩니다.

연결 이름 지정

Details 아래에서 Lovable이 연결 이름을 채워 주며 원하는 대로 바꿀 수 있습니다. 이 이름은 Lovable 안에서 연결을 식별하는 데만 사용됩니다.

연결 구성

Configure connection 아래에서 다음을 입력합니다.

  1. Microsoft Entra Tenant ID: 1단계의 Directory (tenant) ID입니다.
  2. Service Principal Client ID: 1단계의 Application (client) ID이며 object ID가 아닙니다.
  3. Client Secret: 1단계의 secret Value입니다.

두 ID는 모두 하이픈이 포함된 36자 식별자이며, Lovable은 다른 형식을 거부합니다.

이 연결을 사용할 수 있는 사람 선택

Sharing 아래에서 연결은 기본적으로 나에게만 비공개이며 Private label이 표시됩니다. 공유하려면 Share with others를 클릭합니다. 그런 다음 이메일로 워크스페이스 멤버를 추가하거나 Invite entire workspace를 클릭해 Lovable 워크스페이스의 모든 사람이 사용할 수 있게 합니다.

연결을 공유받은 모든 사람은 service principal의 접근 권한 전체를 사용하는 기능을 빌드할 수 있습니다.

자세한 내용은 연결과 클라이언트를 사용할 수 있는 사람을 참조하세요.

연결

Connect를 클릭합니다. Lovable은 연결을 저장하기 전에 Microsoft Entra에 Microsoft Graph 액세스 토큰을 요청해 자격 증명을 검증합니다. 이 확인은 테넌트 ID, client ID, client secret만 확인하며 애플리케이션 권한이나 동의에 대해서는 아무것도 확인하지 않습니다. 검증이 실패하면 문제 해결을 참조하세요.

연결되면 프로젝트에서 빌드하는 사람은 프로젝트 채팅에서 Lovable에 프로젝트를 Azure Graph & Entra API에 링크해 달라고 요청할 수 있습니다(구성된 연결 수준 접근 권한 기준). 그러면 Lovable 앱이 service principal의 애플리케이션 권한 범위 안에서 커넥터 게이트웨이를 통해 Microsoft Graph를 호출할 수 있습니다.

제한 사항

Azure Graph & Entra API 커넥터는 다음을 할 수 없습니다.

  • Lovable 안에서 연결을 읽기 전용 작업이나 특정 Microsoft Graph 엔드포인트로 제한하기. Microsoft Graph 애플리케이션 권한과 디렉터리 역할이 이 연결로 빌드한 앱의 동작 범위를 정하는 유일한 통제 수단입니다.
  • 인증서, managed identity, federated credential로 인증하기. 연결에는 client secret이 필요합니다.
  • Microsoft 365 GCC High, Azure Government, 21Vianet이 운영하는 Azure 같은 국가별 클라우드에 접근하기. 연결은 글로벌 Microsoft Graph 엔드포인트를 사용합니다.
  • Azure Resource Manager 호출하기. 구독, 리소스, 비용에는 별도의 Azure Cloud API 연결을 사용하세요.
  • Microsoft Graph 변경 알림처럼 Microsoft에서 오는 이벤트 수신하기. 연결은 외부로 나가는 호출만 합니다.
  • 로그인한 사용자로 동작하거나 최종 사용자별 Microsoft 로그인 지원하기. 각 연결은 단일 service principal을 나타내며 연결된 모든 프로젝트가 이를 공유하므로, /me처럼 위임된 권한만 지원하는 Microsoft Graph 엔드포인트는 사용할 수 없습니다. 앱 사용자가 각자 자기 Microsoft 계정으로 로그인해야 한다면 Microsoft 365 데이터용 Microsoft app user 커넥터를 사용하세요.

client secret이 만료되거나 Microsoft Entra에서 삭제했다면, 연결을 열고 Configure connection 아래에 새 Client Secret을 입력한 뒤 Update를 클릭하세요. Lovable은 저장하기 전에 Microsoft Entra로 새 secret을 검증합니다. 테넌트 ID와 client ID는 그대로 유지됩니다.

문제 해결

연결이 실패하거나 Microsoft Graph 요청이 예상하지 못한 status를 반환하면 다음을 확인하세요.

Azure Graph & Entra API 연결 관리

연결은 Connectors에서 관리합니다. **Azure Graph & Entra API**를 선택한 뒤 연결을 엽니다.

  • Unlink projects를 사용하면 다른 프로젝트에서는 연결을 계속 쓸 수 있게 두면서 특정 프로젝트에서 Azure Graph & Entra API 접근만 제거할 수 있습니다. 단계는 연결에서 프로젝트 링크 해제를 참조하세요.
  • Delete the connection은 워크스페이스에서 연결을 완전히 제거합니다. 삭제는 영구적입니다. 연결된 모든 프로젝트에서 자격 증명이 제거되고, Azure Graph & Entra API를 사용하는 앱 기능은 새 연결을 추가할 때까지 동작을 멈춥니다. 단계와 삭제 권한은 연결 삭제를 참조하세요.

On this page