App ID에 대한 정보
동네 커피숍의 바리스타가 내 이름과 평소 주문한 메뉴를 기억하고 있다면 정말 멋지지 않나요? 애플리케이션을 구축할 때 사용자에게 특별함을 느끼게 하거나 시간을 절약할 수 있도록 이러한 종류의 맞춤형 경험을 포함할 수 있습니다. 그러나 아무리 맞춤화된 경험을 제공하더라도 앱의 성공 여부는 사용자와의 신뢰 구축 능력에 달려 있으며, 이는 결국 사용자의 데이터를 보호하고 앱이 액세스하는 시스템을 보호하는 데 달려 있습니다. 누가 앱을 사용하는지 파악하는 것은 중요한 부분이며, 이는 로그인 기능을 추가하는 것부터 시작됩니다. 그러나 많은 개발자들이 알고 있듯이 인증과 권한 부여를 앱에 추가하는 것은 위험하고도 복잡한 일입니다. IBM Cloud® App ID 을 사용하면 애플리케이션에 인증을 쉽게 추가하고 사용자 경험을 맞춤화하는 데 사용할 수 있는 사용자 데이터를 클라우드에 호스팅할 수 있습니다.
애플리케이션에 App ID 을 설정하면 사용자가 이메일이나 비밀번호를 사용하여 앱에서 바로 로그인할 수 있습니다. 또는 소셜 미디어 계정 사용을 허용하여 이미 익숙한 자격 증명을 사용할 수 있도록 할 수도 있습니다. 사용자가 인증한 후에는 앱에서 사용자 경험을 맞춤화하는 데 사용하는 백엔드 리소스에 대한 액세스 권한을 부여할 수 있습니다. App ID 에서 사용자에 대한 정보를 저장하고 개발자가 앱을 개발할 때 이 정보를 사용할 수 있도록 할 수 있습니다.
서비스 사용 이유
App ID는 개발자가 몇 개의 코드 행으로 쉽게 웹 및 모바일 앱에 인증을 추가하고 IBM Cloud의 클라우드 고유 애플리케이션 및 서비스를 보호하도록 도움을 줍니다. 사용자가 앱에 로그인하도록 하여 앱 환경 설정과 같은 사용자 데이터 또는 공용 소셜 프로파일의 정보를 저장한 후 해당 데이터를 활용하여 앱 내에서 각 사용자의 경험을 사용자 정의할 수 있습니다. App ID은(는) 사용자를 위한 로그인 프레임워크를 제공하지만, Cloud Directory에 사용하도록 고유한 브랜드의 화면을 가져올 수도 있습니다.
| 시나리오 | 솔루션 |
|---|---|
| 권한 부여 및 인증을 모바일 및 웹 앱에 추가해야 하지만 안전한 백그라운드를 갖추고 있지 않습니다. | App ID를 사용하면 앱에 대한 인증 단계의 추가가 쉬워집니다. API, SDK, 사전 빌드된 UI 또는 고유 브랜드 UI를 사용하여 앱에 이메일, 사용자 이름, 소셜 또는 엔터프라이즈 사인인을 추가할 수 있습니다. |
| 앱 및 백엔드 리소스에 대한 액세스를 제한하려고 합니다. | App ID에서 제공되는 표준 기반 인증을 사용하여 앱, 백엔드 리소스 및 API에 간단히 보안을 적용할 수 있습니다. |
| 사용자에 맞는 개인화된 앱 환경을 구축하려고 합니다. | App ID를 사용하여 앱 환경 설정 또는 공개 소셜 프로파일의 정보와 같은 사용자 데이터를 저장한 다음 해당 데이터를 사용하여 앱의 각 환경을 사용자 정의할 수 있습니다. |
| 확장 가능한 방식으로 사용자를 관리하려고 합니다. | App ID를 사용하는 경우 앱에 사용자 등록 및 사인인을 추가할 수 있도록 해주는 Cloud Directory를 작성할 수 있습니다. Cloud Directory에서는 사용자 기반으로 스케일링할 수 있는 사용자 레지스트리를 유지보수하는 프레임워크를 제공합니다. 이메일 검증 및 비밀번호 재설정과 같이 사전 빌드된 셀프 서비스 기능을 사용하여 앱에서 사용자를 안전하게 인증하는지 확인할 수 있습니다. |
작업 방식
App ID를 사용하면 사용자에게 사인인을 요구하여 앱에 보안 레벨을 추가할 수 있습니다. 서버 SDK 또는 API를 사용하여 백엔드 리소스를 보호할 수도 있습니다.
- 애플리케이션
- 서버 SDK: 서버 SDK를 사용하여 웹 앱 및 IBM Cloud에 호스팅된 백엔드 리소스를 보호할 수 있습니다. 서버 SDK는 요청에서 액세스 토큰을 추출하고 App ID로 해당 토큰의 유효성을 검증합니다. 클라이언트 SDK: Android 또는 iOS 클라이언트 SDK로 모바일 앱을 보호할 수 있습니다. 권한 부여 인증 확인을 발견하는 경우, 클라이언트 SDK는 인증 프로세스를 시작하도록 클라우드 리소스와 통신합니다.
- IBM Cloud
- App ID: 인증에 성공한 후에 App ID는 액세스 및 ID 토큰을 앱에 리턴합니다. Cloud Directory: 사용자는 이메일 및 비밀번호를 사용하여 서비스에 등록할 수 있습니다. 그런 다음 콘솔을 통해 목록 보기에서 사용자를 관리할 수 있습니다. Cloud Directory를 사용하는 경우 App ID가 ID 제공자로 작동합니다.
- 외부(서드파티)
- 소셜 및 엔터프라이즈 ID 제공자: App ID는 Facebook, Google+ 및 SAML 2.0 연합을 ID 제공자 옵션으로 지원합니다. 서비스는 ID 제공자에 대한 경로 재지정을 배열하고 리턴된 인증 토큰을 확인합니다. 토큰이 올바르면 서비스가 앱에 대한 액세스 권한을 부여합니다.
통합
App ID를 기타 IBM Cloud 오퍼링에서 사용할 수 있습니다.
- Kubernetes Service
- 표준 클러스터에서 Ingress를 구성하면 클러스터 레벨에서 앱을 보호할 수 있습니다. 시작하려면 App ID 인증 인그레스 어노테이션을 확인하세요.
- API Connect
- 를 사용하여 API를 만들면 API Connect 를 사용하면 앱 코드가 아닌 게이트웨이에서 애플리케이션을 보호할 수 있습니다.
표준 및 인증
App ID의 경우 여러 인증, 감사 및 표준이 정상적으로 갖추어져 있습니다.
App ID는 엔터프라이즈 및 이용자가 모두 사용하는 애플리케이션인 OAuth 2.0 Authorization Framework 및 Open ID Connect에서 자주 발견되는 유명한 업계 표준 프로토콜 및 스펙 세트를 기반으로 합니다. OAuth 2.0은 보호된 리소스에 액세스하기 위한 권한을 획득하고 검증하기 위해 사용됩니다. 그런 다음 Open ID Connect에서 애플리케이션에 인증 및 ID 보호 계층을 추가합니다.
전체 인증 목록을 검토하려면 App ID 소프트웨어 제품 호환성 보고서의 5.4 섹션을 참조하세요. App ID는 해당 인증 외에도 OAuth 2.0, OpenID Connect, JWT(JSON Web Token), JWS(JSON Web Signature), SCIM(System for Cross-domain Identity Management) 등의 스펙을 준수합니다.