로그인하는 소비자 앱 배포
Foundry 계정으로 로그인하는 소비자 앱은 사용자별 권한을 적용할 수 있습니다. Low-code로 만드는 Workshop, Slate와 Carbon 또는 Foundry에 호스팅하는 pro-code OSDK 앱을 선택합니다. 먼저 소비자 조직과 역할을 구성해야 합니다.
플랫폼 내부 앱
Workshop은 대화형 데이터 화면, 복잡한 시각화, 분석과 액션을 결합하는 의사결정 도구에 사용할 수 있습니다. 아래 구성에는 Workshop 앱을 만드는 경험이 필요합니다. 플랫폼 내부 앱의 로그인은 대화형 인증이며 호스트의 기본 IdP로 자동 이동하도록 구성할 수 있습니다.
배포에는 두 경로가 있습니다.
- 권장되는 경로는 Marketplace와 분리된 개발, 시험 및 운영 환경을 사용하는 것입니다.
- 소비자 공간에서 직접 만들고 편집할 수도 있습니다. 이 경우 운영 리소스에 대한 변경 영향을 직접 관리해야 합니다.
앱과 데이터 구성
- 소비자 프로젝트 템플릿으로 프로젝트를 만들고 기본 Consumer 및 Builder/Administrator 역할이 적용되는지 확인합니다.
- 소비자에게 필요한 속성의 객체 유형과 최소 권한의 액션을 구성합니다.
- 기반 데이터소스에도 소비자 접근 요건을 적용합니다.
- 이 객체와 액션을 사용하는 Workshop 앱을 프로젝트에 만듭니다.
- Control Panel의 Platform experience에서 소비자 조직의 Home page URL을 앱으로 지정합니다.
프로젝트, 데이터와 액션 권한
프로젝트 Access에서 소비자 조직을 접근 요건으로 적용하고 소비자 그룹에 Consumer 역할을 부여하거나 템플릿의 적절한 기본 역할을 사용합니다. 조직 요건과 역할 부여는 별개입니다.
객체 유형의 소비자용 기반 데이터가 다른 공간에 있다면 소비자 공간의 프로젝트에 배치합니다. 이동할 대상이 내부 원본인지, 소비자에게 제공하도록 준비한 출력인지 먼저 구분해야 합니다. 내부 원본을 넓게 공개하는 결과가 되지 않도록 역할과 표지를 함께 확인합니다.
행별 제한이 필요하면 제한 뷰를 만들고 객체의 기반 데이터소스를 그 뷰로 바꿉니다. 소비자가 원본을 직접 읽는 경로도 제한해야 합니다.
함수는 액션으로 감싸면 제출 조건을 관리하기 쉽습니다. 앱에서 쓰는 모든 액션의 submission criteria에 해당 소비자 그룹을 포함하고 함수 및 기반 데이터의 권한도 별도로 확인합니다.
소비자 경험 확인
담당자는 시험 소비자 계정으로 로그인해 자동 이동, 필요한 기능, 내부 리소스 차단과 제한된 데이터만 표시되는지를 확인합니다. 관리자는 프로젝트 Access > Check access에서 소비자 프로젝트와 기반 데이터의 조건을 조사합니다.
접근하지 못하면 조직 자동 배정과 프로젝트 역할을 확인합니다. 기능 일부가 실패하면 객체 유형, 액션 제출 조건과 기반 데이터셋 권한을 확인합니다. 플랫폼 화면이 너무 넓게 열리면 Application access, 홈 URL과 사용자 정의 도메인을 확인합니다.
소비자, Builder와 Administrator의 역할을 분리하고 조직 및 앱 권한을 정기적으로 검토합니다. 사용자 발견 제한은 업무에 필요한 협업 기능과 함께 결정합니다.
Foundry 호스팅 OAuth 앱
이 방식은 Foundry 하위 도메인에서 제공하는 OSDK 프런트엔드입니다. 사용자가 하위 도메인에 접속하면 OAuth 승인 흐름으로 로그인하고, 앱은 그 사용자의 권한으로 Foundry API를 호출합니다. 사용자마다 다른 접근 범위가 필요한 맞춤형 웹 앱에 적합합니다.
필요한 조건은 소비자 기반 설정, Developer Console 앱 생성 및 웹 호스팅 권한과 프런트엔드 개발 역량입니다.
생성, 개발과 배포
- Developer Console에서 새 Frontend application을 만듭니다.
- 사용자 인증에는 Public client의 Authorization code 구성을 사용합니다. Public client는 PKCE를 사용하며 브라우저에 client secret을 넣지 않습니다.
- 앱이 접근할 프로젝트와 작업의 제한을 구성합니다.
- 앱에 필요한 온톨로지 리소스로 생성한 OSDK를 사용해 프런트엔드를 개발합니다.
- Foundry 웹 호스팅에 배포하고 제공된 하위 도메인을 기록합니다.
앱은 https://subdomain-for-app.your-foundry-domain.com/ 같은 전용 하위 도메인에서 제공됩니다. 실제 주소는 호스팅 설정에서 얻습니다. OAuth의 동의 화면은 앱 설정에 따라 관리합니다.
소비자 접근 부여
배포한 앱에 소비자 규칙 기반 그룹의 접근을 부여합니다. Developer Console에서 소비자의 접근 상태를 확인하고 필요한 소비자 공간 프로젝트의 권한을 연결합니다. 앱 파일만 열 수 있어도 모든 데이터와 액션이 사용 가능한 것은 아닙니다.
권한 오류는 Check access로 앱이 쓰는 모든 리소스를 확인합니다. Scope 오류는 Developer Console의 OAuth scope를 확인합니다. 로그인 화면이 반복되면 호스트의 기본 IdP와 realm 지정 및 소비자 홈 구성을 확인합니다.
OAuth 요청 필드와 토큰 처리는 OAuth 2.0 클라이언트를 참조합니다. 최종 사용자 로그인 없이 하나의 서비스 신원으로 처리하는 앱은 외부 서비스 사용자 모델과 권한 책임이 다릅니다.