Teams 앱에서 액세스하는 권한 및 정보 이해
해당 기능에 따라 Teams 앱은 의도한 대로 작동하기 위해 사용자 또는 organization 정보에 액세스하거나 액세스할 수 없습니다.
- 일부 앱은 organization 정보에 대한 액세스를 요청하지 않으므로 승인이 필요하지 않습니다. 사용자는 organization 정보가 이러한 앱에서 보호되므로 관리자 승인이나 동의 없이 이러한 앱을 사용할 수 있습니다.
- 일부 앱은 organization 또는 사용자의 정보가 작동하거나 정보를 처리해야 합니다. 이러한 앱이 조직의 정보에 액세스하도록 허용하지 않는 한 이러한 앱은 작동할 수 없습니다.
앱의 규정 준수, 보안 및 데이터 처리 정보를 평가하고 사용자가 앱을 사용할 수 있도록 허용하기 전에 앱에서 요청한 권한도 이해해야 합니다. 이렇게 하려면 사용 권한, 동의 및 사용 가능한 컨트롤에 대해 이해해야 합니다.
권한을 통해 앱은 권한 있는 리소스에 액세스하고 사용자를 대신하여 작업할 수 있습니다. 이를 통해 개발자는 사용자 생산성을 높이는 다양한 기능을 앱에 만들 수 있습니다. 사용 권한, scope 및 의미에 대해 명확하게 이해해야 합니다. Teams 관리 센터의 앱 세부 정보 페이지에서 앱의 모든 권한과 자세한 정보를 제공합니다.
Teams는 사용자의 동의 없이 organization 또는 사용자의 정보에 액세스할 수 없도록 보호 기능을 제공합니다. 앱이 모든 정보에 액세스하려면 다음 작업이 수행되어야 합니다.
- 앱 개발자는 앱을 만들 때 권한 및 앱 기능을 선언합니다 .
- 관리자는 관리 포털에서 앱에 필요한 권한을 이해하고 분석합니다.
- 데이터 액세스 권한은 두 가지 방법으로 부여됩니다. 앱이 Teams에 추가되면 기본 정보에 대한 액세스를 포함할 수 있는 몇 가지 기본 기능에 대한 액세스 권한이 부여됩니다. 동의를 부여하면 앱은 동의를 요청한 앱 권한에 따라 사용자 및 organization 또는 둘 다의 일부 데이터에 대한 액세스 권한을 받습니다.
애플리케이션은 다음 두 가지 방법으로 organization 정보에 액세스할 수 있습니다.
- 위임된 액세스: 애플리케이션이 사용자를 대신하여 리소스에 액세스합니다. 이 액세스에는 위임된 권한이 필요합니다. 애플리케이션은 사용자가 직접 액세스할 수 있는 정보만 액세스할 수 있습니다.
- 애플리케이션 액세스: 애플리케이션은 특정 사용자가 로그인하는 것이 바람직하지 않거나 필요한 데이터의 범위를 단일 사용자로 지정할 수 없는 경우 사용자가 로그인하지 않고 자체적으로 작동합니다. 이 액세스에는 애플리케이션 권한이 필요했습니다. 동의가 부여된 경우 애플리케이션은 권한이 연결된 데이터에 액세스할 수 있습니다.
관리 고려 사항 | 위임된 권한 | 애플리케이션 권한 |
---|---|---|
앱이 정보에 액세스하는 방법 | 로그인한 사용자를 대신합니다. | 자체 ID를 사용하여 |
액세스되는 정보 | 앱에 동의할 수 있는 권한 및 로그인한 사용자가 액세스할 수 있는 권한과 관련된 정보입니다. | 동의한 권한이 연결된 모든 정보 |
동의할 수 있는 역할 | Microsoft Entra ID 구성에 따라 관리자 또는 사용자 또는 그룹 소유자 | 관리자만 |
사용자가 동의할 수 있나요? | 사용자는 Microsoft Entra ID 구성에 따라 동의할 수 있습니다. | 관리자만 동의할 수 있습니다. |
각 앱의 사용 권한은 관리 센터의 앱 세부 정보 페이지에 나열됩니다.
앱 사용 권한 유형 | 액세스 컨텍스트 | 선언 원본 | 동의가 필요한 경우는 언제인가요? | 누가 동의할 수 있나요? |
---|---|---|---|---|
그래프 및 레거시 엔드포인트 액세스에 대한 Microsoft Entra ID | 위임 | Microsoft Entra ID | 앱 로그인 | 글로벌 관리, 클라우드 관리 및 애플리케이션 관리 |
그래프 및 레거시 엔드포인트 액세스에 대한 Microsoft Entra ID | 응용 프로그램 | Microsoft Entra ID | 앱 로그인 | 글로벌 관리, 클라우드 관리 및 애플리케이션 관리 |
팀, 채팅 및 사용자의 정보를 위한 RSC | 위임 | 앱 매니페스트 파일 | 팀, 채팅, 모임에 앱 추가 | 리소스 소유자 |
팀, 채팅 및 사용자의 정보를 위한 RSC | 응용 프로그램 | 앱 매니페스트 파일 | 팀, 채팅, 모임에 앱 추가 | 리소스 소유자 |
기타 권한 및 데이터 액세스 | SDK를 통해 위임됨 | 매니페스트 속성은 이를 정의합니다. | 클라이언트에서 앱 추가 | 동의는 설치 시 암시됩니다. |
가능한 경우 더 낮은 권한 역할을 사용하여 작업을 수행하는 것이 좋습니다. 필요한 경우에만 전역 관리자 역할을 사용합니다.
앱 세부 정보 페이지의 사용 권한 탭에서 앱에서 요청한 모든 유형의 사용 권한에 대한 세부 정보를 찾을 수 있습니다. 필요에 따라 추가 분석을 위해 .csv 파일의 모든 권한을 다운로드할 수도 있습니다.
- A: 앱의 모든 애플리케이션 권한입니다.
- B: 앱의 모든 위임된 권한입니다.
- C: 앱에서 액세스하는 사용자 및 데이터와의 기본 기능 및 상호 작용
앱 사용을 허용하는 방법을 알아보려면 Teams 앱 권한에 대한 동의 부여 및 관리를 참조하세요.
Microsoft Graph를 사용하면 개발자가 적절한 Microsoft Entra ID 권한으로만 organization Microsoft 365 정보 및 데이터에 액세스할 수 있습니다. 앱은 이러한 권한을 미리 선언하고 관리자는 앱이 정보에 액세스하기 전에 이러한 권한에 동의해야 합니다. Teams 앱에서 이러한 권한에 대한 관리자 동의를 부여하면 조직의 허용된 모든 사용자가 앱을 사용하고 앱이 조직의 정보에 액세스하도록 할 수 있습니다. 이러한 권한은 Microsoft Entra ID 포털에서 정의됩니다.
앱 개발자는 앱이 작동하는 데 필요한 정보를 얻을 수 있도록 다양한 Graph API에서 적절한 권한을 선택합니다. 이러한 권한에 대한 동의를 부여하기 전에 앱에서 요청한 특정 권한을 볼 수 있습니다. 앱의 권한에 대한 동의 부여의 영향을 평가하는 데 도움이 됩니다. Microsoft Entra ID 권한을 보려면 다음 단계를 수행합니다.
Teams 관리 센터에 액세스하고 Teams 앱>앱 관리 페이지를 엽니다.
필요한 앱을 검색하고 해당 이름을 선택하여 앱 세부 정보 페이지를 엽니다.
사용 권한 탭을 선택하고 권한 및 동의 검토를 선택합니다.
대화 상자에서 앱에 필요한 권한을 봅니다. 대화 상자에서 사용할 수 있는 정보에 대한 자세한 내용은 동의 프롬프트에서 사용할 수 있는 정보를 참조하세요.
가능한 모든 권한의 전체 목록은 Microsoft Graph 권한 참조에 설명되어 있습니다.
Teams의 리소스는 팀, 채팅 또는 사용자가 될 수 있습니다. 이러한 권한을 사용하면 앱이 특정 리소스의 정보에만 액세스할 수 있습니다. 앱은 RSC 권한을 사용하여 조직 전체 정보에 대한 액세스를 요청할 필요가 없으며 액세스 scope 제한할 수 있습니다. 이러한 RSC 권한은 앱의 매니페스트 파일에 정의됩니다. 리소스에 대한 액세스 권한이 있는 사용자만 이러한 권한에 동의할 수 있습니다. 개발자는 앱 매니페스트 파일의 앱 자체에서 이러한 권한을 정의합니다.
RSC 권한을 통해 사용자는 scope 특정 정보에 대한 앱에 동의할 수 있습니다. 이러한 동의를 통해 앱은 팀 또는 채팅 정보만 액세스하고 수정할 수 있습니다. 이러한 앱은 채팅 또는 추가되지 않은 팀의 정보에 액세스할 수 없습니다. RSC 권한의 예로는 채널 생성 및 삭제, 팀 설정 가져오기, 채널 탭 생성 및 제거 등이 있습니다.
RSC 권한은 앱이 조직 전체 정보에 액세스할 수 있도록 하는 조직 전체 Graph 권한과는 달리 앱 권한의 scope 특정 리소스로 제한합니다. RSC 권한을 적용할 수 있는 리소스는 채팅 및 모임, 팀 및 채널 및 사용자입니다.
RSC 권한은 앱 매니페스트에 정의되며 Microsoft Entra ID 정의되지 않습니다. 앱을 팀에 추가할 때 RSC 권한에 동의합니다. 자세한 내용은 리소스별 동의(RSC)를 참조하세요.
앱에 대한 RSC 권한을 보려면 다음 단계를 따르세요.
- Teams 관리 센터에 액세스하고 Teams 앱 앱>관리로 이동합니다.
- 원하는 앱을 검색하고 앱 이름을 선택하여 앱 세부 정보 페이지로 이동한 다음 권한 탭을 선택합니다.
- RSC(리소스별 동의) 권한에서 앱에서 요청한 RSC 권한을 검토합니다.
개발자는 Teams 앱을 만들 때 개발 프레임워크에 정의된 몇 가지 기능을 사용합니다. 이러한 기능은 앱이 가질 수 있는 높은 수준의 기능입니다. 예를 들어 앱에는 사용자와 대화하는 봇이 포함될 수 있습니다. 앱에서 기능을 사용하는 경우 몇 가지 기본 권한이 자동으로 부여됩니다. 예를 들어 사용자에 대해 봇이 포함된 앱이 허용되는 경우 봇은 메시지를 보내고 받을 수 있습니다. 이러한 권한은 앱 개발자가 앱에 추가한 기능에 따라 앱에 존재하며 동의가 필요한 권한이 유효하지 않습니다. 개발자는 이러한 권한을 명시적으로 정의하지 않지만 개발자가 앱 기능을 빌드할 때 이러한 권한이 암시적으로 추가됩니다.
관리자는 해당 기능이 아닌 Teams 앱을 관리합니다. Teams 앱에는 앱이 핵심 사용 사례를 수행하고 일부 작업을 수행할 수 있는 기능이 있습니다. 기능은 SDK에서 제공되며 앱이 설치될 때 동의가 암시됩니다. 앱이 기능과 관련된 작업을 수행할 수 있는 작업은 관리자의 동의가 필요한 권한과 다릅니다. 관리자는 앱이 수행할 수 있는 작업과 다음 기능에 따라 앱이 사용자와 상호 작용하는 방식을 고려해야 합니다.
참고
앱이 여러 사용 사례를 충족하는 복잡한 앱이 아닌 한 앱은 아래의 모든 기능을 사용하지 않을 수 있습니다. 앱이 수행할 수 있는 작업은 앱 개발자가 사용하는 기능에 따라 달라집니다.
다음 유형의 사용자 상호 작용, 필요한 권한 및 봇 및 메시징 확장에 의한 데이터 액세스를 고려합니다.
봇은 사용자로부터 메시지를 받고 회신할 수 있습니다. 봇은 사용자가 이름으로 봇을 명시적으로 멘션 채팅에서만 메시지를 받습니다. 이 데이터는 회사 네트워크를 떠납니다.
사용자가 봇에 메시지를 보낸 후 봇은 언제든지 사용자에게 직접 또는 사전 대응 메시지를 보낼 수 있습니다.
일부 봇은 메시지만 보냅니다. 알림 전용 봇이라고 하며 봇은 대화형 환경을 제공하지 않습니다.
팀에 추가된 봇은 팀의 채널 이름과 ID 목록을 가져올 수 있습니다.
채널, 개인 채팅 또는 그룹 채팅에서 사용하는 경우 앱의 봇은 팀 구성원의 기본 ID 정보에 액세스할 수 있습니다. 정보에는 이름, 성, UPN(사용자 계정 이름) 및 전자 메일 주소가 포함됩니다.
앱의 봇이 봇과 상호 작용하지 않은 경우에도 팀 구성원에게 직접 또는 사전 대응 메시지를 보낼 수 있습니다.
봇인 앱의 설정 및 기능에 따라 개인 채팅에서만 파일을 보내고 받을 수 있습니다. 그룹 채팅 또는 채널에는 지원되지 않습니다.
봇은 봇이 추가된 팀 또는 봇 앱을 추가하는 사용자에게만 액세스할 수 있습니다.
사용자가 봇과 대화할 때 봇이 사용자의 ID를 저장하는 경우 언제든지 사용자에게 직접 메시지를 보낼 수 있습니다.
필요한 경우 사용자 또는 관리자가 봇을 차단할 수 있습니다. Microsoft는 스토어에서 봇을 제거할 수도 있습니다. 앱 확인 및 유효성 검사를 통해 Teams 스토어에서 고품질 앱을 사용할 수 있고 봇이 사용자에게 스팸을 주지 않도록 합니다.
봇은 앱이 추가된 팀 구성원 또는 개인 또는 그룹 채팅의 개별 사용자에 대한 기본 ID 정보를 검색하고 저장할 수 있습니다. 이러한 사용자에 대한 추가 정보를 얻으려면 봇이 Microsoft Entra ID 로그인하도록 요구해야 합니다.
봇은 팀의 채널 목록을 검색하고 저장할 수 있습니다. 이 데이터는 회사 네트워크를 떠납니다.
기본적으로 봇은 사용자를 대신하여 작업할 수 없지만 봇은 사용자에게 로그인하도록 요청할 수 있습니다. 사용자가 로그인하는 즉시 봇에는 다른 작업을 수행할 수 있는 액세스 토큰이 있습니다. 작업은 봇과 사용자가 로그인하는 위치에 따라 달라집니다. 봇은 에
https://apps.dev.microsoft.com/
등록된 Microsoft Entra 앱이며 자체 사용 권한 집합을 가질 수 있습니다.파일이 봇에 전송되면 파일은 회사 네트워크를 떠납니다. 파일을 보내고 받으려면 각 파일에 대한 사용자 승인이 필요합니다.
봇은 사용자가 팀에 추가되거나 팀에서 삭제될 때마다 알려줍니다.
봇은 사용자의 IP 주소 또는 기타 참조 정보를 볼 수 없습니다. 모든 정보는 Microsoft에서 제공됩니다. (한 가지 예외가 있습니다. 봇이 자체 로그인 환경을 구현하는 경우 로그인 UI는 사용자의 IP 주소 및 참조 정보를 확인합니다.)
반면 메시징 확장은 사용자의 IP 주소 및 참조 정보를 볼 수 있습니다.
참고
- 봇에 자체 로그인이 있는 경우 사용자가 처음 로그인할 때 다른 동의 환경이 있습니다.
- 사용자는 앱에서 사용할 수 있었던 를
botId
사용하여 앱을 검색할 수 있습니다. 사용자는 앱 이름을 볼 수 있지만 이러한 봇과 상호 작용할 수는 없습니다.
탭은 Teams 내에서 실행되는 웹 사이트입니다. 모임, 채팅 또는 채널의 탭일 수 있습니다.
Tabs에 대해 다음과 같은 유형의 사용자 상호 작용 또는 데이터 액세스를 고려합니다.
브라우저 또는 Teams에서 탭을 여는 사용자는 정확히 동일합니다. 웹 사이트 자체는 자체적으로 organization 정보에 액세스할 수 없습니다.
또한 탭은 현재 사용자의 로그인 이름 및 UPN, 현재 사용자의 Microsoft Entra 개체 ID, 해당 사용자가 있는 Microsoft 365 그룹의 ID(팀인 경우), 테넌트 ID 및 사용자의 현재 로캘을 포함하여 실행 중인 컨텍스트를 가져옵니다. 그러나 이러한 ID를 사용자의 정보에 매핑하려면 탭에서 사용자가 Microsoft Entra ID 로그인하도록 해야 합니다.
커넥터는 외부 시스템의 이벤트가 발생할 때 채널에 메시지를 게시합니다. 커넥터에 필요한 권한은 채널에 메시지를 게시할 수 있는 것입니다. 커넥터에 대한 선택적 권한은 메시지에 회신할 수 있는 권한입니다. 일부 커넥터는 사용자가 대상 회신을 커넥터 메시지에 게시할 수 있는 실행 가능한 메시지를 지원합니다. 예를 들어 GitHub 문제에 대한 응답을 추가하거나 Trello 카드 날짜를 추가합니다. 커넥터의 사용자 상호 작용, 필요한 권한 및 데이터 액세스 유형을 고려합니다.
커넥터 메시지를 게시하는 시스템은 메시지를 받는 사람이 누구인지 알 수 없습니다. 받는 사람에 대한 정보는 공개되지 않습니다. Microsoft는 실제 수신자이며 organization 아닙니다. Microsoft는 채널에 실제 게시를 수행합니다.
커넥터가 채널에 메시지를 게시할 때 회사 네트워크를 벗어나는 데이터는 없습니다.
실행 가능한 메시지를 지원하는 커넥터에는 IP 주소 및 참조자 정보도 표시되지 않습니다. 이 정보는 Microsoft로 전송된 다음 커넥터 포털에서 이전에 Microsoft에 등록된 HTTP 엔드포인트로 라우팅됩니다.
채널에 대해 커넥터를 구성할 때마다 해당 커넥터 instance 대한 고유한 URL이 만들어집니다. 해당 커넥터 인스턴스가 삭제되면 URL을 더 이상 사용할 수 없습니다.
커넥터 메시지에는 파일 첨부 파일이 포함될 수 없습니다.
커넥터 instance URL은 비밀 또는 기밀로 처리되어야 합니다. URL이 있는 모든 사용자는 URL에 게시할 수 있습니다. 필요한 경우 팀 소유자는 커넥터 instance 삭제할 수 있습니다.
필요한 경우 관리자는 새 커넥터 인스턴스가 만들어지는 것을 방지할 수 있으며 Microsoft는 커넥터 앱의 모든 사용을 차단할 수 있습니다.
팀 소유자 또는 팀 구성원은 나가는 웹후크를 만듭니다. 나가는 웹후크는 사용자로부터 메시지를 받고 회신할 수 있습니다. 나가는 웹후크에 의한 다음 유형의 사용자 상호 작용, 필요한 권한 및 데이터 액세스를 고려합니다.
발신 웹후크는 봇과 비슷하지만 권한은 적습니다. 봇과 마찬가지로 명시적으로 언급해야 합니다.
발신 웹후크가 등록되면 비밀이 생성되므로 발신 웹후크는 보낸 사람이 악의적인 공격자가 아닌 Microsoft Teams인지 확인할 수 있습니다. 이 비밀은 비밀로 유지되어야 합니다. 액세스 권한이 있는 사람은 누구나 Microsoft Teams를 가장할 수 있습니다. 비밀이 손상된 경우 발신 웹후크를 삭제하고 다시 만들어 새 비밀을 생성합니다.
비밀의 유효성을 검사하지 않는 발신 웹후크를 만들 수 있지만, 이에 대해 권장합니다.
메시지를 받고 회신하는 것 외에 발신 웹후크는 많은 작업을 수행할 수 없습니다. 즉, 메시지를 사전에 보낼 수 없고, 파일을 보내거나 받을 수 없으며, 메시지 수신 및 회신 외에는 봇이 수행할 수 있는 다른 작업을 수행할 수 없습니다.