ID 공급자Identity providers

적용 대상: SDK v4APPLIES TO: SDK v4

ID 공급자는 사용자 또는 클라이언트 ID를 인증하고 소모성 보안 토큰을 발급합니다.An identity provider authenticates user or client identities and issues consumable security tokens. 사용자 인증을 서비스로 제공합니다.It provides user authentication as a service.

웹 애플리케이션과 같은 클라이언트 애플리케이션은 신뢰할 수 있는 ID 공급자에게 인증을 위임합니다.Client applications, such as web applications, delegate authentication to a trusted identity provider. 이러한 클라이언트 애플리케이션은 페더레이션된 애플리케이션이라고 합니다. 즉 페더레이션 ID를 사용합니다.Such client applications are said to be federated, that is, they use federated identity. 자세한 내용은 페더레이션된 id 패턴을 참조 하세요.For more information, see Federated Identity pattern.

신뢰할 수 있는 ID 공급자를 사용하는 경우Using a trusted identity provider:

  • 애플리케이션에서 여러 보안 리소스에 액세스할 수 있도록 SSO(Single Sign-On) 기능을 사용하도록 설정합니다.Enables single sign-on (SSO) features, allowing an application to access multiple secured resources.
  • 클라우드 컴퓨팅 리소스와 사용자 간의 연결을 용이하게 하여 사용자가 다시 인증해야 하는 필요성을 줄입니다.Facilitates connections between cloud computing resources and users, decreasing the need for users to re-authenticate.

SSO(Single sign-on)Single sign-on

Single sign-on은 사용자가 단일 자격 증명 집합을 사용 하 여 시스템에 한 번 로그온 하 여 여러 응용 프로그램 또는 서비스에 액세스할 수 있도록 하는 인증 프로세스를 나타냅니다.Single sign-on refers to an authentication process that lets a user to log on to a system once with a single set of credentials to access multiple applications or services.

사용자는 단일 ID와 암호로 로그인하여 여러 관련 소프트웨어 시스템에 액세스할 수 있습니다.A user logs in with a single ID and password to gain access to any of several related software systems. 자세한 내용은 Single Sign-On을 참조하세요.For more information, see Single sign on.

많은 ID 공급자에서 사용자 토큰을 철회하고 연결된 애플리케이션 및 서비스에 대한 액세스를 종료하는 로그아웃 작업을 지원합니다.Many identity providers support a sign-out operation that revokes the user token and terminates access to to the associated applications and services.

중요

SSO는 사용자가 자격 증명을 입력해야 하는 횟수를 줄여 유용성을 향상시킵니다.SSO enhances usability by reducing the number of times a user must enter credentials. 또한 잠재적인 공격 표면을 줄여 더 나은 보안을 제공합니다.It also provides better security by decreasing the potential attack surface.

Azure Active Directory ID 공급자Azure Active Directory identity provider

Azure AD(Active Directory)는 ID 관리 및 액세스 제어 기능을 제공하는 Microsoft Azure의 ID 서비스입니다.Azure Active Directory (AD) is the identity service in Microsoft Azure that provides identity management and access control capabilities. Oauth 2.0 과 같은 업계 표준 프로토콜을 사용 하 여 사용자를 안전 하 게 로그인 할 수 있습니다.It allows you to securely sign in users using industry standard protocols like OAuth2.0.

아래와 같이 설정이 다른 두 가지 AD ID 공급자 구현 중에서 선택할 수 있습니다.You can choose from two AD identity provider implementations which have different settings as shown below.

참고

Azure 봇 등록 애플리케이션에서 OAuth 연결 설정 을 구성할 때 여기서 설명하는 설정을 사용합니다.You use the settings described here when configuring the OAuth Connection Settings in the Azure bot registration application. 자세한 내용은 봇에 인증 추가를 참조 하세요.For more information, see Add authentication to a bot.

Azure AD v1Azure AD v1

표시 된 설정을 사용 하 여 azure ad v1 엔드포인트 라고도 하는 azure ad developer platform (v1.0)을 구성 합니다.You use the settings shown to configure the Azure AD developer platform (v1.0), also known as Azure AD v1 endpoint. 이를 통해 Microsoft 회사 또는 학교 계정으로 사용자를 안전 하 게 로그인 하는 앱을 빌드할 수 있습니다.This allows you to build apps that securely sign in users with a Microsoft work or school account. 자세한 내용은 개발자용 Azure Active Directory(v1.0) 개요를 참조하세요.For more information, see Azure Active Directory for developers (v1.0) overview.

속성Property 설명Description Value
이름Name 연결 이름The name of your connection <연결에 사용할 이름><Your name for the connection>
서비스 공급자Service Provider Azure AD Identity ProtectionAzure AD Identity provider Azure Active Directory
클라이언트 IDClient ID Azure AD ID 공급자 앱 IDAzure AD identity provider app ID <AAD 공급자 앱 ID><AAD provider app ID>
클라이언트 암호Client secret Azure AD ID 공급자 앱 비밀Azure AD identity provider app secret <AAD 공급자 앱 비밀><AAD provider app secret>
권한 부여 유형Grant Type authorization_code
로그인 URLLogin URL https://login.microsoftonline.com
테넌트 IDTenant ID <디렉터리(테넌트) ID> 또는 common입니다.<directory (tenant) ID> or common. 참고를 참조하세요.See note.
리소스 URLResource URL https://graph.microsoft.com/
범위Scopes
토큰 교환 URLToken Exchange URL Azure AD v2에서 SSO에 사용됨Used for SSO in Azure AD v2

참고Note

  • 다음 중 하나를 선택한 경우 AAD ID 공급자 앱에 대해 기록한 테넌트 ID를 입력합니다.Enter the tenant ID you recorded for the AAD identity provider app, if you selected one of the following:

    • 이 조직 디렉터리의 계정만 해당(Microsoft 전용 - 단일 테넌트)Accounts in this organizational directory only (Microsoft only - Single tenant)

    • 모든 조직 디렉터리의 계정(Microsoft AAD 디렉터리 - 다중 테넌트)Accounts in any organizational directory(Microsoft AAD directory - Multi tenant)

  • 모든 조직 디렉터리의 계정(모든 AAD 디렉터리 - 다중 테넌트 및 개인 Microsoft 계정(예: Skype, Xbox, Outlook.com)) 을 선택한 경우 common을 입력합니다.Enter common if you selected Accounts in any organizational directory (Any AAD directory - Multi tenant and personal Microsoft accounts e.g. Skype, Xbox, Outlook.com). 그렇지 않으면 AAD ID 공급자 앱은 ID가 선택된 테넌트를 통해 확인되고 개인 MS 계정을 제외합니다.Otherwise, the AAD identity provider app will verify through the tenant whose ID was selected and exclude personal MS accounts.

자세한 내용은 다음을 참조하세요.For more information, see:

기타 ID 공급자Other identity providers

Azure는 여러 ID 공급자를 지원합니다.Azure supports several identity providers. 다음 Azure 콘솔 명령을 실행 하 여 관련 세부 정보와 함께 전체 목록을 가져올 수 있습니다.You can get a complete list, along with the related details, by running the following Azure console commands:

az login
az bot authsetting list-providers

또한 봇 등록 앱에 대 한 OAuth 연결 설정을 정의할 때 Azure Portal 에서 이러한 공급자 목록을 볼 수 있습니다.You can also see the list of these providers in the Azure portal when you define the OAuth connection settings for a bot registration app.

Azure ID 공급자

OAuth 일반 공급자OAuth generic providers

Azure는 사용자 고유의 ID 공급자를 사용할 수 있는 일반 OAuth2를 지원합니다.Azure supports generic OAuth2 which allow you to use your own identity providers.

아래와 같이 설정이 다른 두 가지 일반 ID 공급자 구현 중에서 선택할 수 있습니다.You can choose from two generic identity provider implementations which have different settings as shown below.

참고

Azure 봇 등록 애플리케이션에서 OAuth 연결 설정 을 구성할 때 여기서 설명하는 설정을 사용합니다.You use the settings described here when configuring the OAuth Connection Settings in the Azure bot registration application.

일반 OAuth 2Generic OAuth 2

이 공급자를 사용하여 Azure AD 공급자, 특히 AD v2와 비슷한 기대치를 갖는 일반 OAuth2 ID 공급자를 구성합니다.Use this provider to configure any generic OAuth2 identity provider that has similar expectations as Azure AD provider, particularly AD v2. 쿼리 문자열 및 요청 본문 페이로드가 고정되어 있으므로 속성 수가 제한됩니다.You have a limited number of properties because the query strings and request body payloads are fixed. 입력 한 값에 대해 다양 한 Url, 쿼리 문자열 및 본문에 대 한 매개 변수를 중괄호 안에 표시 하는 방법을 확인할 수 있습니다 {} .For the values you enter, you can see how parameters to the various URLs, query strings, and bodies are in curly braces {}.

속성Property 설명Description Value
이름Name 연결 이름The name of your connection <Your name for the connection>
서비스 공급자Service Provider ID 공급자Identity provider 드롭다운 목록에서 일반 Oauth 2 를 선택합니다.From the drop-down list, select Generic Oauth 2
클라이언트 IDClient ID ID 공급자 앱 IDIdentity provider app ID <provider ID>
클라이언트 암호Client secret ID 공급자 앱 비밀Identity provider app secret <공급자 비밀><provider secret>
권한 부여 URLAuthorization URL https://login.microsoftonline.com/common/oauth2/v2.0/authorize
권한 부여 URL 쿼리 문자열Authorization URL Query String ?client_id={ClientId}&response_type=code&redirect_uri={RedirectUrl}&scope={Scopes}&state={State}?client_id={ClientId}&response_type=code&redirect_uri={RedirectUrl}&scope={Scopes}&state={State}
토큰 URLToken URL https://login.microsoftonline.com/common/oauth2/v2.0/token
토큰 본문Token Body 토큰 교환에 대해 보낼 본문Body to send for the token exchange code={Code}&grant_type=authorization_code&redirect_uri={RedirectUrl}&client_id={ClientId}&client_secret={ClientSecret}code={Code}&grant_type=authorization_code&redirect_uri={RedirectUrl}&client_id={ClientId}&client_secret={ClientSecret}
새로 고침 URLRefresh URL https://login.microsoftonline.com/common/oauth2/v2.0/token
새로 고침 본문 템플릿Refresh Body Template 토큰 새로 고침을 사용하여 보낼 본문Body to send with the token refresh refresh_token={RefreshToken}&redirect_uri={RedirectUrl}&grant_type=refresh_token&client_id={ClientId}&client_secret={ClientSecret}refresh_token={RefreshToken}&redirect_uri={RedirectUrl}&grant_type=refresh_token&client_id={ClientId}&client_secret={ClientSecret}
범위Scopes Azure AD 인증 앱에 대해 이전에 부여한 API 권한을 쉼표로 구분한 목록Comma separated list of the API permissions you granted earlier to the Azure AD authentication app 값 (예: openid ,, profile ,, Mail.Read Mail.Send User.Read 및) User.ReadBasic.AllValues such as openid, profile, Mail.Read, Mail.Send, User.Read, and User.ReadBasic.All