외부 애플리케이션 등록과 관리
Foundry의 외부 애플리케이션은 OAuth 2.0을 통해 사용자나 서비스 사용자의 권한으로 API에 접근합니다. 애플리케이션을 등록하는 단계, 조직에서 사용을 활성화하는 단계, 사용자가 자신의 계정 접근을 승인하는 단계는 서로 다릅니다.
애플리케이션 설정은 Developer Console에서 관리하는 방식을 사용합니다. 이전 standalone OAuth 클라이언트와 같은 구성이 필요하면 Developer Console에서 제한 없는 애플리케이션을 만듭니다. 아래 Control Panel 등록 및 관리 경로는 해당 사용자에게 Developer Console이 활성화되지 않은 환경에 적용됩니다.
관리 화면과 조직 권한
왼쪽 탐색 영역 하단의 Open other workspaces > Control Panel을 열고 플랫폼 인스턴스와 조직을 선택합니다. Organization Settings > Third-party applications에서 등록한 애플리케이션과 활성화 상태를 확인합니다.
관리 화면에 접근하려면 선택한 조직의 Third-party application administrator 역할이 필요합니다. 애플리케이션을 생성한 조직이 관리 조직이 되며, 그 조직에서 Manage OAuth 2.0 clients 권한을 가진 사용자가 등록 설정을 관리할 수 있습니다.
클라이언트 유형과 승인 방식
| 클라이언트 유형 | 적합한 실행 환경 | 지원 승인 방식 |
|---|---|---|
Confidential client | 인증 정보를 안전하게 보관하는 접근 제한 서버 | Authorization code grant, Client credentials grant |
Public client | 브라우저 앱, 네이티브 앱처럼 배포한 코드에 비밀을 보관할 수 없는 환경 | PKCE를 사용하는 Authorization code grant만 지원 |
배포하는 모바일 앱이나 실행 파일에 client secret을 넣으면 사용자가 바이너리를 분석해 추출할 수 있습니다. 이런 앱은 Public client와 PKCE를 사용합니다. Public client에는 code_verifier와 code_challenge가 필수이며 Client credentials grant는 지원하지 않습니다.
등록 절차
Third-party applications에서New application을 선택합니다.Register new application마법사의Details,Client type,Authorization grant types,Summary를 차례로 작성합니다.Details에 이름을 입력합니다. 설명과 로고는 선택 항목입니다.Client type에서 비밀을 안전하게 보관할 수 있는지에 따라 유형을 선택합니다.- 선택한 유형이 지원하는 승인 방식을 활성화합니다.
Summary에서 누락한 필수 항목을 확인하고Register application을 선택합니다.- 생성한 client ID와, Confidential client라면 client secret을 보관합니다.
Authorization code grant를 활성화하면 redirect URL을 하나 이상 지정해야 합니다. Foundry에서 사용자가 접근을 승인한 뒤 브라우저를 돌려보낼 주소입니다. 등록한 URL을 확인하는 방식으로 승인 결과가 잘못된 목적지로 전달되는 것을 제한합니다. URL은 나중에 Manage application에서 변경할 수 있습니다.
Client credentials grant를 활성화하면 애플리케이션용 서비스 사용자를 생성합니다. 서비스 사용자는 처음에는 리소스 접근 권한이 없으므로, 관리자가 필요한 역할과 권한을 별도로 부여해야 합니다.
Client secret은 등록 직후 한 번만 표시됩니다. 화면을 떠난 뒤 다시 볼 수 없으므로 안전한 비밀 저장소에 보관합니다. 분실하면 secret 교체가 필요합니다.
등록만으로는 사용할 수 없습니다. 등록한 조직도 별도로 조직별 활성화를 수행해야 하며, 프로젝트 범위와 보안 표지 제한은 활성화 단계에서 설정합니다.
등록 정보 변경
애플리케이션 오른쪽 Actions > Manage application에서 이름, 설명, 로고, 승인 방식과 발견 가능성을 관리합니다. 이 화면은 관리 조직의 권한 있는 구성원에게만 제공됩니다. 관리 조직은 발견 가능성을 설정해 다른 어떤 조직이 애플리케이션을 보고 사용할 수 있게 할지 정합니다.
Client secret 교체
Manage application 하단의 Danger zone에는 되돌릴 수 없는 작업이 있습니다. Secret 교체는 Confidential client에서만 사용할 수 있습니다. 기존 secret을 사용하는 클라이언트가 모두 작동을 멈추므로, 유출되었거나 더 이상 접근할 수 없는 경우에 교체하고 애플리케이션 설정을 다시 배포해야 합니다.
- Control Panel의 대상 애플리케이션에서
Actions > Manage application을 엽니다. - 하단의
Rotate secret을 선택합니다. - 경고에서 영향 범위를 검토한 뒤 확정합니다.
- 한 번만 표시되는 새 secret을 안전하게 저장하고 이를 사용하는 애플리케이션 설정을 교체합니다.
등록 삭제
같은 화면의 Delete application에서 경고를 검토한 뒤 확정하면 등록이 영구 삭제됩니다. 모든 사용자가 그 애플리케이션을 사용할 수 없게 되며 되돌릴 수 없습니다.
다시 등록하더라도 새 등록으로 취급하므로 사용자가 접근을 다시 승인해야 합니다. 특정 사용자 한 명의 승인만 철회하려면 등록을 삭제하지 않고 사용자 승인 관리를 사용합니다.
OAuth 요청과 토큰은 클라이언트 구현 규약을, 안전한 API 활용은 사용자 간 데이터 격리와 외부 저장의 책임을 다룹니다.