This is the Trace Id: bb430bfebd387fc83439d30287f9370d
주 콘텐츠로 건너뛰기
Microsoft Security

OAuth란?

OAuth란 무엇이며 중요한 정보를 손상시키지 않고 앱과 서비스 간의 액세스 권한을 부여하는 데 사용되는 방법을 알아봅니다.

OAuth 설명

OAuth는 암호와 같은 개인 정보를 유출하지 않고 한 앱 또는 서비스에서 다른 앱 또는 서비스에 로그인할 수 있는 권한을 부여할 수 있는 기술 표준입니다. “Facebook으로 로그인하시겠습니까?” 또는 “이 애플리케이션이 계정에 액세스하도록 허용하시겠습니까?”와 같은 메시지를 받은 적이 있는 경우 OAuth가 작동하는 것을 보았습니다.

OAuth는 가끔 간주되는 인증이 아닌 Open Authorization의 약자입니다. 인증은 ID를 확인하는 프로세스입니다. OAuth는 사용자의 ID를 포함하지만, 그 목적은 새 계정을 만들 필요 없이 다른 앱 및 서비스로 원활하게 연결할 수 있는 권한을 부여하는 것입니다. OAuth는 자격 증명을 노출하지 않고도 두 앱이 일부 데이터를 공유할 수 있도록 권한을 부여하여 간편한 환경을 제공합니다. 편의성과 보안 간의 균형을 유지합니다.

OAuth는 HTTP(Hypertext Transfer Protocol)에서 작동하도록 설계되었습니다. 액세스 토큰을 사용하여 ID를 증명하고 사용자 대신 다른 서비스와 상호 작용할 수 있습니다. 이 두 번째 서비스에서 데이터 누출이 발생하는 경우 첫 번째 서비스의 자격 증명은 안전하게 유지됩니다. OAuth는 널리 채택된 개방형 표준 프로토콜이며 대부분의 웹 사이트 및 앱 개발자는 이를 사용합니다.

중요한 것은 OAuth가 타사 앱 또는 서비스에 데이터에 대한 무제한 액세스 권한을 부여하지 않는다는 것입니다. 프로토콜의 일부는 타사에서 액세스할 수 있는 데이터와 해당 데이터로 수행할 수 있는 작업을 지정하는 것입니다. 이러한 제한을 설정하고 일반적으로 ID를 보호하는 것은 많은 사람들이 많은 중요하고 독점적인 정보에 액세스할 수 있는 비즈니스 시나리오에서 특히 중요합니다.


 

OAuth는 어떻게 작동하나요?

액세스 토큰을 사용하면 OAuth를 안전하게 사용할 수 있습니다. 액세스 토큰은 사용자 및 토큰이 의도한 리소스에 대한 정보를 포함하는 데이터 조각입니다. 토큰에는 데이터 공유에 대한 특정 규칙도 포함됩니다.

예를 들어 사진 편집 앱과 소셜 미디어 프로필의 사진을 공유하려 하지만 앱이 일부 사진에만 액세스하도록 하려고 합니다. 또한 직접 메시지 또는 친구 목록에 액세스할 필요가 없습니다. 토큰은 승인하는 데이터에 대한 액세스 권한만 부여합니다. 애플리케이션에서 해당 토큰을 사용할 수 있는 시기(단일 사용 또는 반복 사용일 수 있음)와 만료 날짜를 제어하는 규칙이 있을 수도 있습니다.

OAuth 프로세스는 대부분 사용자에 대한 몇 가지 터치포인트와 컴퓨터 간 상호 작용입니다. 일부 시나리오에서는 소프트웨어에 의해 백그라운드에서 자동으로 처리되므로 승인을 제공하지 않아도 될 수 있습니다. 이 두 가지 OAuth 예제는 ID 플랫폼이 리소스 간의 연결을 처리하여 많은 수의 사용자 또는 일부 스마트 디바이스 간의 상호 작용에 대한 IT 마찰을 줄이는 엔터프라이즈 작업 시나리오에 있습니다.


 

OAuth 기술의 예

번거로운 작업을 간소화하는 많은 기술(이 경우 여러 앱에서 계정을 수동으로 만들기)과 마찬가지로 OAuth는 앱 작성자가 거의 일반적으로 채택해 왔습니다. 사용자 및 비즈니스에 대한 다양한 사용 사례가 있습니다.

한 가지 OAuth 예제를 제공하려면 Microsoft Teams를 공동 작업 도구로 사용하고 있으며 조직 내부 및 외부에서 함께 작업하는 사용자에 대한 자세한 정보에 액세스하려고 합니다. LinkedIn 통합을 사용하도록 설정하여 Teams를 종료하지 않고도 다른 사람과 상호 작용할 때 그 사람에 대해 자세히 알아볼 수 있습니다. 그런 다음 Microsoft와 LinkedIn은 OAuth를 사용하여 계정과 Microsoft ID를 연결하는 권한을 부여합니다.

OAuth를 사용하는 또 다른 시나리오는 그래프와 같은 경고 및 시각 보조 기능으로 지출을 추적하는 데 도움이 되는 예산 앱을 다운로드하는 것입니다. 이 작업을 수행하려면 앱이 일부 은행 데이터에 액세스해야 합니다. 은행 계좌를 앱과 연결하는 요청을 시작하여 계정 잔액 및 트랜잭션에 대한 액세스 권한만 부여할 수 있습니다. 앱과 은행에서는 앱에 사용자의 은행 로그인 자격 증명을 노출하지 않고 OAuth를 사용하여 사용자 대신 이 정보 교환을 수행합니다.

또 다른 OAuth 예제는 GitHub를 사용하는 개발자이고 계정과 통합하여 자동화된 코드 검토를 수행할 수 있는 타사 앱이 있다는 것을 알게 되는 경우입니다. GitHub Marketplace로 이동하여 앱을 다운로드합니다. 그런 다음 OAuth를 사용하여 처리되는 프로세스인 GitHub ID를 사용하여 앱과의 연결에 권한을 부여하도록 요청합니다. 그러면 검토 앱은 매번 두 서비스에 로그인하지 않고도 코드에 액세스할 수 있습니다.

OAuth 1.0과 OAuth 2.0의 차이점은 무엇인가요?

원래 OAuth 1.0은 웹 사이트에 대해서만 개발되었습니다. OAuth 2.0은 앱과 웹 사이트 모두를 위해 설계되었으며 더 빠르고 쉽게 구현할 수 있으므로 이는 현재 널리 사용되지 않습니다. OAuth 1.0은 OAuth 2.0과 같이 크기가 조정되지 않으며 OAuth 2.0에는 가능한 권한 부여 흐름이 6개가 있는 데 비해 3개만 있습니다.

OAuth를 사용하려는 경우 처음부터 버전 2.0을 사용하는 것이 가장 좋습니다. 아쉽게도 OAuth 1.0은 OAuth 2.0으로 업그레이드할 수 없습니다. OAuth 2.0은 OAuth 1.0의 근본적으로 재설계하도록 의도되었으며, 몇몇 주요 기술 회사에서 설계에 대한 피드백을 제공했습니다. 웹 사이트는 OAuth 1.0 및 OAuth 2.0을 모두 지원할 수 있지만 작성자는 2.0이 1.0을 완전히 대체하도록 하려고 했습니다.

OAuth 대 OIDC

OAuth 및 OIDC(Open ID Connect)는 밀접하게 관련된 프로토콜입니다. 둘 다 사용자를 대신하여 한 애플리케이션에 다른 애플리케이션 리소스에 대한 액세스 권한을 부여하는 역할을 한다는 측면에서 비슷합니다. 차이점은 OAuth가 리소스에 액세스하기 위한 권한 부여에 사용되지만 OIDC는 사용자의 ID 인증에 사용된다는 점입니다. 둘 다 관련 없는 두 앱이 사용자 데이터를 손상시키지 않고 정보를 공유할 수 있도록 하는 역할을 합니다.

ID 공급자는 일반적으로 OAuth 2.0 및 OIDC를 함께 사용합니다. OIDC는 ID 계층을 추가하여 OAuth 2.0의 기능을 향상하기 위해 특별히 개발되었습니다. OAuth 2.0을 기반으로 하므로 OIDC는 이전 버전 OAuth 1.0과 호환되지 않습니다.

 

OAuth 시작

웹 사이트 및 앱에서 OAuth 2.0을 사용하면 ID 인증 프로세스를 간소화하여 사용자 또는 직원 환경을 크게 향상시킬 수 있습니다. 시작하려면 기본 제공 보안으로 사용자 및 데이터를 보호하는 ID 공급자 솔루션(예: Microsoft Entra)에 투자하세요.

Microsoft Entra ID(이전에는 Azure Active Directory)는 모든 OAuth 2.0 흐름을 지원합니다. 앱 개발자는 ID를 표준 기반 인증 공급자로 사용하여 엔터프라이즈 규모의 최신 ID 기능을 앱에 통합할 수 있습니다. IT 관리자는 이를 사용하여 액세스를 제어할 수 있습니다.

Microsoft Security에 대해 자세히 알아보기

  • Microsoft Entra 살펴보기

    전체적인 솔루션 제품군을 사용하여 클라우드에서 ID를 보호하고 액세스를 보호합니다.

  • Microsoft Entra ID(이전에는 Azure Active Directory)

    강력한 인증 및 위험 기반 적응형 액세스를 사용하여 리소스 및 데이터에 대한 액세스를 보호합니다.

  • 앱에 대한 신뢰 구축

    직원이 하나의 자격 증명으로 필요한 모든 리소스에 액세스할 수 있도록 SSO를 구현합니다.

  • 원활한 로그인 경험

    직원이 하나의 자격 증명으로 필요한 모든 리소스에 액세스할 수 있도록 SSO를 구현합니다.

  • 공격으로부터 보호

    다단계 인증을 사용하여 조직의 리소스에 대한 보호를 개선합니다.

  • OAuth를 사용하여 이메일 데이터에 대한 액세스 간소화

    레거시 프로토콜을 사용하여 애플리케이션에 대한 연결을 인증하는 방법을 알아봅니다.

 

 

자주 하는 질문

  • OAuth는 Open Authorization의 약자이며 암호와 같은 개인 정보를 유출하지 않고 한 앱 또는 서비스에서 다른 앱 또는 서비스에 로그인할 수 있는 권한을 부여할 수 있는 기술 표준입니다. 앱에서 프로필 정보를 볼 수 있는 권한을 요청하면 OAuth를 사용하는 것입니다.

  • OAuth는 사용자와 토큰이 의도한 리소스에 대한 정보를 포함하는 데이터 조각인 액세스 토큰을 교환하여 작동합니다. 한 앱이나 웹 사이트는 사용자에 대한 암호화된 정보를 다른 앱이나 웹 사이트와 교환하고 데이터 공유에 대한 특정 규칙을 포함합니다. 애플리케이션에서 해당 토큰을 사용할 수 있는 시기와 만료 날짜를 제어하는 규칙이 있을 수도 있습니다. OAuth 프로세스는 대부분 사용자에 대한 몇 가지 터치포인트와 컴퓨터 간 상호 작용입니다(있는 경우).

  • 많은 회사에서 사용자 암호 또는 중요한 데이터를 유출하지 않고 OAuth를 사용하여 타사 앱 및 웹 사이트에 대한 액세스를 간소화합니다. Google, Amazon, Microsoft, Facebook 및 Twitter는 모두 구매 간소화를 포함하여 다양한 용도로 계정에 대한 정보를 공유하는 데 사용합니다. Microsoft ID 플랫폼은 OAuth를 사용하여 회사 및 학교 계정, 개인 계정, 소셜 계정 및 게임 계정에 대한 권한을 부여합니다.

  • OAuth 및 OIDC(Open ID Connect)는 밀접하게 관련된 프로토콜입니다. 둘 다 사용자를 대신하여 한 애플리케이션에 다른 애플리케이션 리소스에 대한 액세스 권한을 부여하는 역할을 한다는 측면에서 비슷합니다. 그러나 차이점은 OAuth가 리소스에 액세스하는 권한 부여에 사용되고 OIDC는 사용자의 ID 인증에 사용된다는 점입니다. 둘 다 관련 없는 두 앱이 사용자 데이터를 손상시키지 않고 정보를 공유할 수 있도록 하는 역할을 합니다.

  • OAuth 2.0가 OAuth 1.0를 근본적으로 재설계하도록 설계되어 OAuth 1.0이 거의 사용되지 않으므로 OAuth 1.0과 OAuth 2.0 간에는 많은 차이점이 있습니다. OAuth 1.0은 웹 사이트에 대해서만 개발되었지만 OAuth 2.0은 앱과 웹 사이트 모두에 대해 설계되었습니다. OAuth 2.0은더 빠르고 쉽게 구현하고, 크기를 조정할 수 있으며, OAuth 1.0에는 가능한 권한 부여 흐름이 3개 있는 데 비해 가능한 권한 부여 흐름을 6개 갖고 있습니다.

Microsoft 365 팔로우