AB Projects는 두 곳에서 권한을 요청합니다. 관리자는 조직 전체를 대상으로 하는 Microsoft 동의 화면을 한 번 보게 되고, 팀 소유자는 앱이 팀에 추가되거나 업데이트될 때 짧은 팀 권한 목록을 수락합니다. 모든 항목은 제품에서 볼 수 있는 기능과 연결되며, 대부분은 위임된 액세스입니다. 즉 앱은 사용자로서 작동하며, 사용자가 이미 할 수 있는 것 이상은 절대 할 수 없습니다.
Microsoft Graph란 무엇이며, 권한은 어디에 쓰이나요?
Microsoft Graph는 Microsoft 365에 기본으로 포함된 API로, 앱이 Teams, Outlook, 사용자 프로필을 다룰 때 사용하는 공식 통로입니다. AB Projects는 이를 네 가지 용도로 사용합니다.
채널 연결 및 명단 동기화
프로젝트를 올바른 Teams 채널에 연결하고 채널 멤버를 프로젝트에 자동으로 추가합니다 — 멤버 추가 또는 제거를 참조하세요.
작업 카드 및 댓글 동기화
작업 카드와 댓글을 채널 스레드에 게시하고, 그 스레드의 답글을 작업으로 다시 동기화합니다 — 채널에서 멘션을 사용한 댓글 작성을 참조하세요.
캘린더 일정 관리
작업에 시간을 차단하기로 선택하면 해당 작업의 Outlook 캘린더 일정을 만들고, 모임도 예약합니다.
로그인(SSO)
Microsoft 365 계정으로 비밀번호 없이 로그인합니다 — SSO 및 Microsoft 로그인을 참조하세요.
조직 전체 권한
관리자가 Microsoft Entra ID에서 한 번 동의하는 권한입니다. 위임됨 = 앱이 로그인한 사용자로서 작동하며, 해당 사용자가 이미 할 수 있는 작업으로 제한됩니다. 애플리케이션 = 로그인한 사용자 없이 AB Projects가 사용하는 권한으로, 프로젝트 멤버를 채널과 일치시키는 것과 같은 백그라운드 작업에 쓰입니다.
| 권한 | 유형 | AB Projects가 이 권한을 필요로 하는 이유 |
|---|---|---|
User.Read | 위임됨 | 로그인 및 기본 Microsoft 365 프로필 읽기. Microsoft 로그인을 사용하는 모든 앱에 필요합니다. |
openid, profile, email | 위임됨 | 표준 로그인 범위입니다. 사용자를 인증하고 이름, 아바타, 이메일 주소를 읽어 작업과 댓글이 올바른 사람의 것으로 표시되도록 합니다. |
offline_access | 위임됨 | 토큰이 만료될 때마다 다시 로그인하라고 요청하지 않고도 앱이 백그라운드에서 액세스를 갱신할 수 있도록 합니다(예: 캘린더 동기화). |
Team.ReadBasic.All | 위임됨 | 사용자가 속한 Teams 팀의 이름을 읽어 프로젝트를 올바른 팀에 연결할 수 있도록 합니다. |
Channel.ReadBasic.All | 위임됨 | 기본 채널 이름을 읽어 탭 설정 중에 올바른 채널을 선택하고 올바르게 표시할 수 있도록 합니다. |
Group.Read.All | 위임됨 | 팀의 기반이 되는 Microsoft 365 그룹을 읽습니다. 프로젝트 ↔ 채널 연결과, 채널 멤버를 프로젝트에 추가하는 자동 명단 동기화에 사용됩니다. |
ChannelMessage.Send | 위임됨 | 사용자가 작업을 변경하거나 댓글을 추가할 때 사용자로서 연결된 채널에 게시합니다(선택한 멤버에 대한 @멘션 포함). |
ChannelMessage.ReadWrite | 위임됨 | 채널 메시지를 읽고 게시하여 작업 댓글과 업데이트가 해당 작업의 Teams 스레드에 게시되도록 합니다. |
Calendars.ReadWrite | 위임됨 | 사용자가 작업을 동기화하기로 선택할 때 해당 작업의 Outlook 캘린더 일정을 만들고 업데이트합니다(시간 차단). 로그인 시 요청되므로 나중에 추가 동의 프롬프트가 나타나지 않습니다. |
Schedule.Read.All | 위임됨 | 사용자가 이미 볼 수 있는 Teams 교대 근무 일정을 읽습니다. 동의 화면에 표시되지만, 현재 이 권한을 사용하는 AB Projects 기능은 없습니다. |
TeamMember.Read.All | 애플리케이션 | 팀에 누가 있는지 읽어, 아무도 로그인하지 않은 경우에도 프로젝트 멤버 목록이 연결된 채널을 따르도록 합니다. |
ChannelMember.Read.All | 애플리케이션 | 비공개 또는 공유 채널에 누가 있는지 읽습니다. 이런 채널의 멤버는 팀 멤버와 다를 수 있으므로, 해당 프로젝트에는 팀 전체가 아니라 채널 멤버가 반영됩니다. |
팀 권한(팀 소유자가 수락)
일부 권한은 한 팀에만 적용됩니다. Microsoft는 이를 리소스별 동의라고 부릅니다. 관리자가 조직 전체에 액세스를 부여하는 대신, AB Projects가 팀에 추가되거나 업데이트로 새 권한이 추가될 때 팀 소유자가 수락합니다. 이 권한은 해당 팀 밖에서는 앱에 아무것도 부여하지 않으며, 팀에서 AB Projects를 제거하면 사라집니다.
| 권한 | 유형 | AB Projects가 이 권한을 필요로 하는 이유 |
|---|---|---|
TeamMember.Read.Group | 팀 | 명단 동기화를 위해 이 팀의 멤버 목록을 읽습니다. |
ChannelMessage.Read.Group | 팀 | @멘션되지 않아도 봇이 이 팀 채널의 답글을 받을 수 있도록 합니다. 이를 통해 작업 카드 아래에 단 일반 답글이 작업의 댓글이 됩니다. AB Projects 2.4.0에서 추가되었습니다. AB Projects는 자체 작업 카드와 문서 카드 아래 스레드의 답글만 기록합니다. |
ChannelMessage.Read.Group이 적용되기 전에 팀 소유자가 업데이트를 수락해야 합니다. 그때까지는 AB Projects를 @멘션한 답글만 동기화됩니다. 채널에서 멘션을 사용한 댓글 작성을 참조하세요.관리자를 위한 참고 사항
- 위임된 액세스는 사용자의 권한을 넘을 수 없습니다. 위의 대부분의 항목은 로그인한 사람으로서 작동합니다 — 그 사람이 채널을 볼 수 없다면 앱도 볼 수 없습니다.
- 애플리케이션 권한은 명단 동기화용입니다. 아무도 로그인하지 않았을 때 AB Projects가 프로젝트 멤버를 채널과 일치시키는 데 사용합니다. 멤버 구성만 읽으며 메시지는 읽지 않습니다.
- 답글 동기화는 조직 전체 권한이 아니라 팀 권한을 사용합니다.
ChannelMessage.Read.Group은 팀 소유자가 팀별로 수락하므로, 수락하지 않은 팀에는 절대 적용되지 않습니다. - 캘린더 쓰기는 작업별 옵트인입니다. 앱은 사용자가 작업을 명시적으로 동기화하거나 작업에서 모임을 예약할 때만 캘린더에 접근합니다.
- 통제권은 항상 사용자에게 있습니다. 조직 전체 권한은 언제든지 Microsoft Entra ID에서 검토하거나 취소할 수 있으며, 처음 로그인할 때 조직당 한 번 동의가 필요할 수 있습니다(SSO 및 Microsoft 로그인 참조). 팀 권한은 팀에서 AB Projects를 제거하면 종료됩니다.
요약하면, 이 권한들은 작업, Teams 채널, 캘린더를 동기화하기 위해 존재합니다 — 메일이나 파일을 읽는 권한은 없으며, 동의 화면이 언제나 최종 목록입니다.