KR20230035260A - 보안 발견 프레임워크를 통한 임시 클라우드 제공자 크리덴셜들 - Google Patents

보안 발견 프레임워크를 통한 임시 클라우드 제공자 크리덴셜들 Download PDF

Info

Publication number
KR20230035260A
KR20230035260A KR1020227045927A KR20227045927A KR20230035260A KR 20230035260 A KR20230035260 A KR 20230035260A KR 1020227045927 A KR1020227045927 A KR 1020227045927A KR 20227045927 A KR20227045927 A KR 20227045927A KR 20230035260 A KR20230035260 A KR 20230035260A
Authority
KR
South Korea
Prior art keywords
tenant
access
policy
cloud provider
credentials
Prior art date
Application number
KR1020227045927A
Other languages
English (en)
Inventor
프라부 팔라니사미
Original Assignee
일루미나, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 일루미나, 인코포레이티드 filed Critical 일루미나, 인코포레이티드
Publication of KR20230035260A publication Critical patent/KR20230035260A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Emergency Alarm Devices (AREA)

Abstract

클라우드 제공자 계정들은 SaaS(software-as-a-service) 플랫폼에 통합될 수 있다. 상이한 클라우드 제공자 계정들이 상이한 테넌트들, 워크그룹들, 사용자들, 애플리케이션들 등에 제공될 수 있도록 다양한 레벨들의 입도를 지원하기 위해 구성 옵션들이 제공될 수 있다. 사용자 관점에서, 데이터가 클라우드 제공자 계정에서 저장되고 있다는 사실은, 동일한 특징들 및 인증 프로세스가 상이한 클라우드 제공자 유형들에 걸쳐 지원될 수 있다는 점에서 명료할 수 있다. 실제로, 제한된 임시 유래 크리덴셜들은 관리 오버헤드를 회피시키면서 클라우드 제공자 계정 리소스들에 대한 액세스의 미세한 미립화된 제어를 제공하기 위해 기본 크리덴셜들로부터 생성될 수 있다.

Description

보안 발견 프레임워크를 통한 임시 클라우드 제공자 크리덴셜들
관련 출원의 상호 참조
본 출원은 2020년 10월 2일자로 출원된 미국 가출원 제63/087,155호, 및 2020년 6월 29일자로 출원된 미국 가출원 제63/045,736호에 대한 이익을 주장하며, 이들 둘 모두는 이로써 전체적으로 본 명세서에 참고로 포함된다.
기술분야
본 분야는 대체적으로, 다중-테넌트 SaaS(software-as-a-service) 시나리오에서 클라우드 제공자 리소스들에 대한 보안 액세스를 지원하는 것에 관한 것이다.
게놈 데이터의 연구는 시간 경과에 따라 상이한 전문지식을 가진 다양한 당사자들이 협력하는 것에 의한 복잡한 분석을 수반할 수 있다. 연구는 전형적으로, 다양한 소스들로부터 유래할 수 있는 게놈 데이터로 시작된다. 이어서, 데이터는 매우 다양한 기법들을 사용하여 분석될 수 있다. 오늘날의 연구 프로젝트들은 데이터를 공유하고/하거나 데이터 분석에 협력하는, 세계에 걸쳐 퍼져 있는 당사자들을 수반할 수 있다. 본 분야에서 진보가 이루어졌고 게놈 데이터를 공유하기 위한 국제 표준들이 개발되었지만, 게놈 데이터를 공유하는 것에 대한 유의한 과제들은 여전히 남아 있다.
이러한 발명의 내용은 상세한 설명에서 하기에 추가로 기술되는 개념들의 선택을 단순화된 형태로 도입하기 위해 제공된다. 이러한 발명의 내용은 청구된 주제의 핵심 특징들 또는 필수 특징들을 확인하고자 하는 것도 아니고, 청구된 주제의 범주를 제한하기 위해 사용되도록 의도되지도 않는다.
하나의 실시 형태에서, 방법은, 정책 기반 액세스 제어를 통해 게놈 디지털 데이터 리소스들에 대한 액세스를 조정하는 SaaS 플랫폼에서 게놈 컴퓨팅 서비스들에 액세스하는 복수의 테넌트들을 지원하는 컴퓨팅 시스템에서, SaaS 플랫폼에 액세스하는 아이덴티티에 대한 클라우드 제공자 계정을 발견하는 단계; 클라우드 제공자 계정에 대해 유효한 제한된 임시 유래 크리덴셜들에 대한 크리덴셜 매니지먼트 서비스에 요청을 전송하는 단계; 클라우드 제공자 계정에 대해 유효한 제한된 임시 유래 크리덴셜들을 수신하는 단계; 및 아이덴티티에 의한 사용을 위해 제한된 임시 유래 크리덴셜들을 제공하는 단계를 포함한다.
다른 실시 형태에서, 다중 테넌트 클라우드 기반 시스템은 하나 이상의 프로세서들; 하나 이상의 프로세서들에 커플링된 메모리; SaaS 플랫폼에 액세스하는 아이덴티티들과 클라우드 제공자 계정들 사이의 맵핑; 정책 기반 액세스 제어 정의들을 포함하는 정책 저장소; 및 역할 식별자에 링크되고 SaaS 플랫폼 외부의 주어진 클라우드 제공자 계정에 저장된 게놈 디지털 데이터 리소스를 포함하고, 메모리는 하나 이상의 프로세서들로 하여금, 동작들을 수행하게 하는 컴퓨터 실행가능 명령어들을 포함하고, 동작들은, 맵핑에 기초하여, SaaS 플랫폼에 액세스하는 아이덴티티에 대한 클라우드 제공자 계정을 발견하는 동작; 클라우드 제공자 계정에 대해 유효한 제한된 임시 유래 크리덴셜들에 대한 크리덴셜 매니지먼트 서비스에 요청을 전송하는 동작; 클라우드 제공자 계정에 대해 유효한 제한된 임시 유래 크리덴셜들을 수신하는 동작; 및 게놈 디지털 데이터 리소스에 액세스하기 위해 아이덴티티에 의한 사용을 위해 제한된 임시 유래 크리덴셜들을 제공하는 동작을 포함한다.
다른 실시 형태에서, 하나 이상의 컴퓨터 판독가능 매체들은, 정책 기반 액세스 제어를 통해 게놈 디지털 데이터 리소스들에 대한 액세스를 조정하는 SaaS 플랫폼에서 게놈 컴퓨팅 서비스들에 액세스하는 복수의 테넌트들을 지원하는 컴퓨팅 시스템에서, 컴퓨팅 시스템으로 하여금, SaaS 플랫폼에 액세스하는 아이덴티티에 대한 클라우드 제공자 계정을 발견하는 것; 클라우드 제공자 계정에 대해 유효한 제한된 임시 유래 크리덴셜들에 대한 크리덴셜 매니지먼트 서비스에 요청을 전송하는 것; 클라우드 제공자 계정에 대해 유효한 제한된 임시 유래 크리덴셜들을 수신하는 것; 및 정책 기반 액세스 제어에 따라 클라우드 제공자 계정에서의 게놈 디지털 데이터 리소스에 액세스하기 위해 아이덴티티에 의한 사용을 위해 제한된 임시 유래 크리덴셜들을 제공하는 것을 수행하게 할 수 있는 컴퓨터 실행가능 명령어들을 포함하고, SaaS 플랫폼은 테넌트마다 다수의 상이한 클라우드 제공자 계정 유형들을 지원하고, SaaS 플랫폼은 테넌트마다 다수의 상이한 클라우드 제공자 계정들을 지원한다.
도 1은 정책 기반 게놈 디지털 데이터 공유를 구현하는 예시적인 시스템의 블록도이다.
도 2는 정책 기반 게놈 디지털 데이터 공유를 구현하는 예시적인 방법의 흐름도이다.
도 3은 서명된 액세스 토큰을 통해 정책 기반 게놈 디지털 데이터 공유를 구현하는 플랫폼을 포함하는 예시적인 시스템의 블록도이다.
도 4는 서명된 액세스 토큰을 통해 정책 기반 게놈 디지털 데이터 공유를 구현하는 예시적인 방법의 흐름도이다.
도 5는 액세스 요청 및 정책 문서에 기초하여 서명된 액세스 토큰을 생성하는 예시적인 시스템의 블록도이다.
도 6은 액세스 요청 및 정책 문서에 기초하여 서명된 액세스 토큰을 생성하는 예시적인 방법의 흐름도이다.
도 7은 지원된 시나리오들의 시각화이다.
도 8은 예시적인 정책 문서의 블록도이다.
도 9는 예시적인 서명된 액세스 토큰의 블록도이다.
도 10은 액세스 요청의 속성들 및 정책 문서의 조건들에 기초하여 액세스 토큰을 생성하는 예시적인 시스템의 블록도이다.
도 11은 액세스 요청의 속성들 및 정책 문서의 조건들에 기초하여 액세스 토큰을 생성하는 예시적인 방법의 흐름도이다.
도 12는 정책 기반 공유를 위해 게놈 콘텐츠를 공개하는 시스템의 블록도이다.
도 13은 정책 기반 공유를 위해 게놈 콘텐츠를 공개하는 예시적인 방법의 흐름도이다.
도 14는 공개되고 공유된 게놈 콘텐츠에 액세스하는 예시적인 방법의 흐름도이다.
도 15는 외부 서비스 제공자를 등록하는 예시적인 방법의 흐름도이다.
도 16은 외부 서비스 제공자를 정책 기반 공유 플랫폼에 통합시키는 예시적인 방법의 흐름도이다.
도 17은 서명된 액세스 토큰을 검증하는 예시적인 시스템의 블록도이다.
도 18은 정책 기반 공유 플랫폼으로의 스마트 계약의 통합을 보여주는 블록도이다.
도 19는 정책 기반 공유 플랫폼에서 스마트 계약을 구현하는 예시적인 방법의 흐름도이다.
도 20은 예시적인 공개 유스케이스(publishing use case)의 흐름도이다.
도 21은 등록을 수반하는 예시적인 외부 서비스 제공자 유스케이스의 흐름도이다.
도 22는 통합을 수반하는 예시적인 외부 서비스 제공자 유스케이스의 흐름도이다.
도 23은 임시 제한된 유래 크리덴셜(temporary limited derived credential)들을 구현하는 예시적인 컴퓨팅 시스템의 블록도이다.
도 24는 임시 제한된 유래 크리덴셜들을 제공하는 예시적인 전체 방법의 흐름도이다.
도 25는 임시 제한된 유래 크리덴셜들을 제공하기 위해 클라우드 제공자 계정들을 매니징하는 예시적인 방법의 흐름도이다.
도 26은 임시 제한된 유래 크리덴셜들을 제공하기 위해 클라우드 제공자 계정들을 매니징하는 방법의 예시적인 구현예의 순서도이다.
도 27은 제한된 임시 유래 크리덴셜들을 제공하는 예시적인 방법의 흐름도이다.
도 28은 제한된 임시 유래 크리덴셜들을 제공하는 방법의 예시적인 구현예의 순서도이다.
도 29는 예시적인 클라우드 제공자 맵핑의 블록도이다.
도 30은 제한된 임시 유래 크리덴셜들을 제공하는 예시적인 사용자 인터페이스의 스크린샷이다.
도 31은 기본 크리덴셜들에 대한 예시적인 크리덴셜 객체의 블록도이다.
도 32는 예시적인 아이덴티티 계층구조의 블록도이다.
도 33은 설명된 실시 형태들이 구현될 수 있는 예시적인 컴퓨팅 시스템의 블록도이다.
도 34는 본 명세서에 설명된 기술들과 함께 사용될 수 있는 예시적인 클라우드 컴퓨팅 환경의 블록도이다.
실시예 1 - 개요
게놈 데이터의 계속 증가하는 이용가능성은 연구 및 분석을 위한 새로운 기회들을 제시한다. 오늘날의 서열분석 플랫폼들은 전체 게놈 서열분석(whole-genome sequencing, WGS)을 포함한, 매우 다양한 서열분석된 출력을 생성할 수 있다. 또한, 유전학 및 건강을 위한 국제 연맹(Global Alliance for Genomics & Health)과 같은 다양한 조직들은 게놈 데이터를 공유하기 위한 표준들을 개발해 왔다. 그러나, 실제로, 오늘날의 게놈 정보 생태계는 때때로 균열된(fractured) 것처럼 보일 수 있다. 데이터는 기술적, 보안상, 법적 및 재정적 이유들을 포함한, 다양한 고려사항들로 인해 분리되거나 저장고(silo) 내로 세그먼트화될 수 있다. 그리고 심지어 데이터가 공개적으로 이용가능할 때에도, 그것은 그가 즉각적으로 유용한 그러한 방식으로는 충분히 통합되지 않을 수도 있다.
하나의 큰 난관은 당사자들 간에 정보를 공유하는 것이다. 모든 참가자들이 모든 다른 참가자의 모든 데이터를 공유할 수 있게 하는 완전 오픈 플랫폼은 현실적이거나 바람직하지 않다. 그러나, SaaS 테넌트들 간에 게놈 디지털 데이터를 공유하는 것에 대한 정책 기반 접근법은 당사자들이 당사자들 간의 협력을 장려하는 제어된 방식으로 데이터를 공유할 수 있게 할 수 있다. 공개 데이터가 포함될 수 있고, 외부 서비스 제공자들도 또한 참여할 수 있다. 액세스 제어는 길고 복잡한 보안 관리에 수동으로 관여할 필요 없이 자동화되고 더 용이하게 제어될 수 있다.
그 결과, 클라우드 기반 플랫폼은, 혁신적인 통찰력들에 수렴하고 새로운 솔루션들에 도달하기 위해, 매우 다양한 배경들 및 기관들로부터의 당사자들이 협력하여, 데이터, 지식, 툴들, 워크플로우들, 및 애플리케이션들을 공유할 수 있는 가상 공간으로서의 역할을 할 수 있다.
덧붙여, 본 명세서에 설명된 기술들은, 용이하게 유지되고 사용자들에게 명료한 방식으로 클라우드 제공자 계정들을 지원할 수 있다. 본 명세서에 설명된 바와 같이, 다수의 클라우드 제공자 유형들은 단일 플랫폼에서 그리고 단일 테넌트를 위해 지원될 수 있다. 교차 테넌트 시나리오들이 또한 지원될 수 있다. 적절한 클라우드 제공자 계정에 액세스하기 위해 제한된 임시 유래 크리덴셜들이 제공될 수 있다.
기술적 제한사항들로부터 해제되면, 데이터는 그것이 필요한 곳으로 이동할 수 있고, 보다 협력적인 생태계가 생성될 수 있다. 기술들이 대체적으로 게놈 디지털 데이터에 적용되기 때문에, 그들은 게놈 디지털 데이터 저장, 회수(retrieval), 및 분석을 수반하는 다수의 유스케이스들에 걸쳐 적용될 수 있다.
실시예 2 - 정책 기반 게놈 디지털 데이터 공유를 구현하는 예시적인 시스템
도 1은 정책 기반 게놈 디지털 데이터 공유를 구현하는 예시적인 시스템(100)의 블록도이다. 본 실시예에서, 연관된 사용자 식별자들(120)을 갖는 복수의 테넌트들(110A 내지 110N)은 데이터 센터(130) 상에서 실행되는 플랫폼 인스턴스(135)를 호스팅하는 애플리케이션에 액세스한다. 플랫폼 인스턴스(135)는 플랫폼 인증 서비스(140), 복수의 호스팅된 애플리케이션들(150A 내지 150N), 관리 서비스(158), 정책 저장소(160)(예컨대, 본 명세서에 설명된 바와 같은 정책 문서들이 있음), 및 인증 토큰들(170)을 포함한다. 본 명세서에 설명된 바와 같이, 일부 시나리오들은 게놈 디지털 데이터에 대한 정책 기반 액세스에 영향을 줄 수 있는 신뢰 문서들(도시되지 않음)을 수반할 수 있다.
프로세싱의 일부로서의 애플리케이션들(150A 내지 150N)은, 전형적으로 게놈 디지털 데이터를 제공하는 하나 이상의 게놈 데이터 서비스들(190A 내지 190N)에 액세스할 수 있다.
실제로, 시스템(100)과 같은, 본 명세서에 도시된 시스템들은 추가적인 기능, 보다 복잡한 컴포넌트들 등에 따라 복잡도가 달라질 수 있다. 예를 들어, 복수의 데이터 센터들(130)이 구현될 수 있고, 그러한 데이터 센터들은 플랫폼 인스턴스들(135)을 호스팅하는 복수의 애플리케이션을 구현할 수 있다. 보안, 리던던시, 로드 밸런싱, 리포트 설계 등을 구현하기 위해 추가적인 컴포넌트들이 포함될 수 있다.
설명된 컴퓨팅 시스템들은 인터넷을 포함한, 유선 또는 무선 네트워크 접속들을 통해 네트워킹될 수 있다. 대안적으로, 시스템은 (예컨대, 회사 환경, 정부 환경 등에서) 인트라넷 접속을 통해 접속될 수 있다.
본 명세서에 설명된 시스템(100) 및 다른 시스템들 중 임의의 시스템은 후술되는 컴퓨팅 시스템들(예를 들어, 프로세싱 유닛들, 메모리 등)과 같은 본 명세서에 설명된 하드웨어 컴포넌트들 중 임의의 하드웨어 컴포넌트들과 함께 구현될 수 있다. 본 명세서의 실시예들 중 임의의 실시예에서, 게놈 디지털 데이터, 정책 문서들, 인증 토큰들 등은 하나 이상의 컴퓨터 판독가능 저장 매체들 또는 컴퓨터 판독가능 저장 디바이스들에 저장될 수 있다. 본 명세서에 설명된 기술들은 운영 체제들 또는 하드웨어의 세부사항들에 대해 포괄적일 수 있고, 설명된 특징들을 이용하기 위해 임의의 다양한 환경들에서 적용될 수 있다.
실시예 3 - 정책 기반 게놈 디지털 데이터 공유를 구현하는 예시적인 방법
도 2는 정책 기반 게놈 디지털 데이터 공유를 구현하는 예시적인 방법(200)의 흐름도이고, 예를 들어, 도 1의 시스템(예컨대, 플랫폼 인스턴스(135)를 호스팅하는 애플리케이션)에 의해 수행될 수 있다.
210에서, 새로운 테넌트(210)가 온-보딩된다. 그 결과, 테넌트에는 테넌트 식별자가 배정되고, 테넌트 식별자를 통해 게놈 디지털 데이터를 공유하는 능력이 제공된다. 실제로, 그러한 온-보딩은 공유를 위해 데이터를 공개하라는 요청들을 수신하기에 앞서 언제든 수행될 수 있고, 공개/액세스 시나리오의 일부로 간주될 필요가 없다.
220에서, 플랫폼은 시스템 내에서 게놈 디지털 데이터를 공개하라는 요청을 테넌트로부터 수신하고, 요청은 공유를 제어하는 정책 문서를 포함한다. 정책 기반 액세스 제어를 통해 게놈 디지털 데이터 리소스들에 대한 액세스를 조정하는 SaaS 플랫폼에서 하나 이상의 게놈 데이터 서비스들에 의해 제공된 게놈 디지털 데이터 리소스들에 대한 액세스를 모색하는 복수의 테넌트들을 포함하는 컴퓨팅 시스템에서, 주어진 게놈 디지털 데이터 리소스에 대한 테넌트들 중 제1 테넌트에 대한 정책 기반 액세스 제어 정의(예컨대, 정책 문서)가 수신될 수 있다. 정의는 (예컨대, 외부 서비스 제공자 시나리오에서) 테넌트들 중 제1 테넌트 또는 다른 당사자로부터 수신될 수 있다.
240에서, 공유된 게놈 디지털 데이터에 액세스하라는 요청이 다른 테넌트로부터 수신된다. 주어진 게놈 디지털 데이터 리소스에 대한 액세스를 모색하는 테넌트들 중 제2 테넌트로부터, 주어진 게놈 디지털 데이터 리소스에 대한 액세스에 대한 요청이 수신된다.
250에서, 공유된 게놈 디지털 데이터에 액세스하라는 요청은 소유 중인 테넌트(예컨대, 데이터를 공유한 테넌트)에 의해 구성된 바와 같은 정책 문서에 기초하여(예컨대, 정책 문서에 따라) 승인된다. 정책 기반 액세스 제어 정의에 기초하여 액세스가 승인된다. 본 명세서에 설명된 바와 같이, 액세스 요청에 대한 요청 시에 토큰들이 제공될 수 있다. 토큰은 관련 정책에 기초하여 생성되고, 이어서, (예컨대, 본 명세서에 설명된 바와 같은 역할 식별자들을 사용하여) 데이터에 대한 액세스를 제어하는 데 사용될 수 있다. 주어진 게놈 디지털 데이터 리소스에 대한 액세스는 정책 기반 액세스 제어 정의에 링크된 역할 식별자에 의해 제어될 수 있다.
실제로, 단일 당사자(예컨대, 플랫폼을 동작시킴)가 나타낸 모든 작용들을 수행할 수 있지만; 또한, 하나의 당사자만이 일부 액션들(예컨대, 온-보딩)을 수행하는 반면, 다른 당사자가 다른 액션들(예컨대, 승인)을 수행하는 것이 가능하다. 태스크들의 분할은 또한, 도메인 라인들을 따라 발생할 수 있다(예컨대, 하나의 당사자는 공개와 관련된 기능들을 수행하고, 다른 당사자는 액세스를 승인하는 것과 관련된 기능들을 수행함).
예시된 액션들은, 여전히 기술들을 구현하면서, 대안적인 관점들로부터 해석될 수 있다. 예를 들어, "요청을 수신하는 것"은 또한, 테넌트의 관점으로부터 "요청을 전송하는 것"으로 해석될 수 있다.
본 명세서에 설명된 방법(200) 및 다른 방법들 중 임의의 방법은 하나 이상의 컴퓨터 판독가능 매체들(예컨대, 저장소 또는 다른 유형적(tangible) 매체들)에 저장되거나 하나 이상의 컴퓨터 판독가능 저장 디바이스들에 저장된 컴퓨터 실행가능 명령어들에 의해 수행될 수 있다(예컨대, 컴퓨팅 시스템이 방법을 수행하게 함). 그러한 방법들은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합들로 수행될 수 있다. 그러한 방법들은 컴퓨팅 시스템(예컨대, 하나 이상의 컴퓨팅 디바이스들)에 의해 적어도 부분적으로 수행될 수 있다.
컴퓨터 판독가능 매체들에서 구현될 때, 기술들은 컴퓨팅 시스템이 방법 단계들 각각을 수행하게 할 수 있는 컴퓨터 실행가능 명령어들을 포함할 수 있다.
실시예 4 - 예시적인 게놈 디지털 데이터
본 명세서의 실시예들 중 임의의 실시예에서, 게놈 디지털 데이터는 정책 기반 공유의 대상일 수 있다. 그러한 데이터는 서열분석된 DNA, RNA 등의 형태(예컨대, DNA의 경우, 전형적으로, 4개의 유형들의 뉴클레오티드들, 즉 아데닌(A), 시토신(C), 구아닌(G), 및 티민(T)으로 이루어진 가닥들의 디지털 표현의 형태를 취하는 서열분석기의 출력)를 취할 수 있다. 뉴클레오티드들은 다양한 방식들 및 인코딩들로 디지털 방식으로 표현될 수 있지만, 전형적으로, 설명의 편의를 위해 사용되는 A들, C들, G들 및 T들의 동등한 스트링 표현을 갖는다. DNA 실시예들이 주어지지만, RNA 서열분석도 또한 사용될 수 있다. 유사하게, 용어 "게놈"은 게놈들, 엑솜(exome)들 및 전사체들로부터의 정보를 포괄한다.
실제로, 서열 정보는 DNA의 소스(예컨대, 대상체의 인구통계, 대상체의 병리적 측면들 등)와 같은 실질적인 데이터를 포함한, 연구를 위한 다른 유용한 정보와 함께 동반된다. 질환 및 표현형(phenotype) 정보가 게놈 디지털 데이터에 포함되고/되거나 그와 연관될 수 있다. 서열분석 메타데이터(예컨대, DNA를 서열분석하는 데 사용되는 기계/기구 및 기술, 서열분석이 행해졌던 날짜, 서열분석 수율, 품질 메트릭들, 서열분석 실행 기록들에 대한 포인터 등)도 또한 포함될 수 있다. 유래 당사자의 명칭, 법적 제약들 등과 같은 다른 메타데이터가 또한 포함될 수 있다.
공유를 용이하게 하기 위해, 데이터는 분석 및 워크플로우들이 테넌트들에 걸쳐 사용될 수 있게 하는 공통 포맷으로 제공될 수 있다. 그러한 포맷들은 공유 시나리오들에서 정보의 개방형 교환을 용이하게 하기 위한 독점적 또는 개방형 포맷들일 수 있다.
정책 기반 공유는 게놈 디지털 데이터 등과 관련된 실행가능 워크플로우 정의들과 같은 다른 게놈 데이터로 확장될 수 있다. 따라서, 테넌트는, 본 명세서에 설명된 정책 기반 공유 기술들을 통해, 기본 데이터 자체뿐만 아니라 게놈 디지털 데이터를 프로세싱하기 위한 실행가능 워크플로우 둘 모두에 액세스할 수 있다.
공유된 실행가능 워크플로우 정의는 하나의 소스(예컨대, 테넌트)로부터 나올 수 있는 반면, 기본 데이터는 동일한 또는 상이한 소스(예컨대, 동일한 또는 상이한 테넌트)로부터 나온다. 그러한 실행가능 워크플로우들은 신뢰성, 결과들의 일관성 등을 위해 확립되었던 프로토콜들과 관련될 수 있다. 따라서, 특정 연구 프로젝트를 위해, 주어진 실행가능 워크플로우가 참가자들에 걸쳐 공유될 수 있다. 맞춤형 실행가능 워크플로우들은 테넌트들에 의해 개발될 수 있고, 또한 공유될 수 있다.
실행가능 워크플로우는 서열분석 기구들과 인터페이싱하여, 이에 의해, 서열분석 프로세스의 신뢰성 및 반복성을 크게 단순화하고 자동화하고 증가시키는 엔진 또는 서비스에 의해 실행(예컨대, 해석)될 수 있다. 에러 복구 및 다른 특징들은 그러한 실행가능 워크플로우들에 통합될 수 있다. 워크플로우들은 디멀티플렉싱, 맵핑 및 정렬, 포지션 분류, 중복 마킹, 변이체 호출 등과 같은 다양한 서열분석 및 관련 분석 태스크들을 목표로 할 수 있다. 종양 전용 또는 종양 표준 모드들에 전념하는 특화된 워크플로우들은 종양 샘플들에서 체세포 변이체들을 검출하기 위해 설계될 수 있다. 많은 다른 시나리오들이 가능하다.
긴 계산 시간들 및 대량의 데이터로 인해, 그러한 워크플로우들은 신속성, 유연성, 및 비용 효율성을 전달하여, 다양한 크기들 및 규율들의 실험실들이 그들의 게놈 데이터를 더 많이 이용할 수 있게 하도록 채용될 수 있다. 본 명세서에 설명된 공유 기술들은 테넌트들 사이에서 그러한 데이터를 더 잘 레버리징할 수 있다.
편의를 위해, 공유된 게놈 디지털 데이터는 때때로, 데이터가 본 명세서에 설명된 바와 같은 정책을 통해 액세스가 제어되는 리소스임을 표시하기 위해, "리소스" 또는 "보호된 리소스"로 불린다.
게놈 디지털 데이터는 게놈 데이터 서비스에 의해 제공될 수 있다. 그러한 서비스들은 액세스 토큰들을 확인응답하고 검증하기 위해 액세스 제어를 강제하고 본 명세서에 설명된 바와 같은 플랫폼과 협력할 수 있다.
실시예 5 - 예시적인 소프트웨어 테넌트들
본 명세서의 실시예들 중 임의의 실시예에서, 다양한 소프트웨어 테넌트들이 지원될 수 있다. 소프트웨어 테넌트는 때때로, 편의를 위해 "테넌트"로 불린다. 그러한 테넌트들은 전형적으로, 법인, 정부 기관, 연구 기관 또는 그룹, 교육 기관 또는 그룹, 사용자들의 조직 등과 같은 기업 테넌트의 형태를 취한다. 본 명세서에 설명된 기술들을 이용함으로써, 그러한 테넌트들은 정책 기반 공유로부터 크게 이익을 얻을 수 있다.
플랫폼의 임의의 주어진 사용자가 테넌트에 배정될 수 있다. 다중 테넌트 클라우드 시스템에서, 사용자들은 컴퓨팅 리소스들을 공유할 수 있지만, 개별화된 맞춤가능 사용자 경험들 및 개별 저장된 데이터를 가질 수 있다. 실제로, 테넌트는 플랫폼 제공자와 별도의 협정(agreement)을 갖는 별도의 법적 엔티티를 표현하는 경향이 있다. 따라서, 사용자 식별자는 전형적으로, 단일 테넌트와 연관되고, 서비스들은 클라우드 제공자와 테넌트 사이의 협정에 기초하여 사용자에게 제공된다.
테넌트들은 클라우드 서비스 제공자에 의해 관리되는 컴퓨팅 리소스들을 공유할 수 있지만, 테넌트들 사이의 구별 인자는 상이한 테넌트들이 상이한 가입들, 상이한 저장소 제약들, 및 플랫폼의 게놈 디지털 데이터 및 서비스들에 대한 액세스 레벨들을 가질 수 있다는 것이다. 다양한 다른 맞춤화(customization)들이 행해질 수 있다. 테넌트들이 반드시 애플리케이션 소유자들인 것은 아닌데, 그 이유는 애플리케이션 소유자가 클라우드 제공자 또는 제3자일 수 있기 때문이다. 그러나, 일부 테넌트들은 그들 자체의 애플리케이션들을 개발할 수 있다.
클라우드 기반 시나리오에서, 테넌트들 사이에서 기능 및 프로세스의 리던던시를 레버리징하기 위해 사용자들에게 프레임워크가 명료하게 제공된다. 그러나, 테넌트들 사이의 경계들은 테넌트의 데이터가 하나의 테넌트에 의해 다른 테넌트에 액세스되는 것을 방지하도록 강제될 수 있다. 각각의 테넌트의 데이터는 분리될 수 있고, 다른 테넌트들에게는 비가시적인 채로 유지될 수 있다. 그러한 배열은 전형적으로, 다중 테넌트 시스템들의 기본 특성이다. 그러나, 그러한 분리가 전형적으로 바람직하지만, 일부 데이터의 경우, 본 명세서에 설명된 바와 같이, 테넌트들 사이의 정책 기반 공유를 허용하는 것에 큰 이점들이 있다.
따라서, 설명된 플랫폼이 전통적인 클라우드 기반 다중 테넌트 시스템의 특성을 보유할 수 있지만, 그것은 또한, 본 명세서에서 설명된 바와 같은 프록시 테넌트들을 포함한 테넌트들 사이의 그리고 그들 간의 제어된 공유를 허용할 수 있다.
실시예 6 - 예시적인 프록시 테넌트들
본 명세서의 실시예들 중 임의의 실시예에서, 프록시 테넌트가 구현될 수 있다. 프록시 테넌트는 테넌트로서 등록될 수 있고 테넌트 식별자를 가질 수 있지만, 테넌트 식별자는, 표현된 엔티티가 플랫폼의 실제 테넌트이든 아니든, 통상의 테넌트 기능으로서 사용되지 않는다. 예를 들어, 공개 공유 시나리오에서, 데이터가 공개용이기 때문에, 데이터의 소스(예컨대, 소유자)가 실제로 수반되든 아니든(예컨대, 웹사이트, 정부 기관, 재단 등), 공개 데이터를 위해 프록시 테넌트가 셋업될 수 있다. 프록시 테넌트는 테넌트 식별자를 가지며, 디지털 게놈 디지털 데이터는 테넌트 식별자 아래에 공개될 수 있다. 이러한 방식으로, 공개 공유 시나리오들은 플랫폼에 의해 지원될 수 있다. 실제로, 데이터 소유 프록시 테넌트가 또한 실제 테넌트 식별자를 가질 수 있다. 따라서, 조직은 다수의 테넌트 식별자들, 즉 공개 게놈 디지털 데이터의 소스로서의 하나의 테넌트 식별자, 통상의 테넌트 기능을 이용하는 연구 기관으로서의 다른 테넌트 식별자 등을 가질 수 있다.
유사하게, 외부 서비스 제공자 시나리오에서, 프록시 테넌트는 외부 서비스 제공자를 위해 셋업될 수 있다. 외부 서비스 제공자에게는, 테넌트 식별자 아래에서 공유하기 위해 데이터에 액세스하는 데 그리고 이를 플랫폼에 업로드하는 데 사용될 수 있는 테넌트 식별자가 배정될 수 있다. 이러한 방식으로, 외부 서비스 제공자들은 시스템에 의해 지원될 수 있다. 다시, 외부 서비스 제공자는, 외부 서비스 제공자가 통상의 테넌트로서 작용하고 있을 때 사용되는 실제 테넌트 식별자를 또한 가질 수 있다.
마지막으로, 플랫폼 관리자 또는 다른 유사한 당사자는 본 명세서에 설명된 테넌트 기반 기능 중 임의의 것을 제공하기 위해 테넌트 또는 테넌트 위임자로서 동작할 수 있다. 그러한 배열은, 테넌트가 플랫폼에 수반되게 되기를 원하지 않거나 또는 그렇게 하기에는 이용불가능하거나 그렇게 할 수 없을 때 도움이 될 수 있다.
따라서, 본 명세서의 실시예들 중 임의의 실시예에서, 테넌트는 프록시 테넌트일 수 있고, 그러한 테넌트에 대한 테넌트 식별자는 정책 기반 공유를 달성하도록 본 명세서에 설명된 기술들에 따라 프로세싱될 수 있다.
실시예 7 - 예시적인 역할들
본 명세서의 실시예들 중 임의의 실시예에서, 역할들은 공유가능 게놈 디지털 데이터에 대한 액세스를 제어하는 데 사용될 수 있다. 본 명세서에 설명된 바와 같이, 역할은 역할 식별자에 의해 고유하게 식별될 수 있다. 그러한 역할 식별자는, 테넌트가 주어진 리소스에 대한 정책 문서를 공유하기 위한 리소스들을 공개하고 그 정책 문서에 링크되기를 원할 때 생성될 수 있다.
실시예 8 - 예시적인 역할 결합
본 명세서에 설명된 기술들을 달성하기 위해, 사용자에 대한 역할의 후기 결합(late binding)이 구현될 수 있다. 후기 결합 시나리오에서, 사용자 식별자(또는 사용자 식별자의 테넌트 식별자)는 미리 하지 않고 실행 시간(예컨대, 리소스들에 대한 액세스가 요청될 때, 이용가능한 리소스들의 목록이 요청될 때, 등등)에 역할 식별자에 결합될 수 있다. 이러한 방식으로, 역할 배정은, 정책이 변화하는 경우, 역할 배정이 또한 자동으로 변경될 수 있다는 점에서 동적일 수 있다. 따라서, 역할들은 특정 사용자를 명시적으로 특정함이 없이, 시간 경과에 따라 변경될 수 있다. 테넌트 또는 워크그룹 내의 사용자의 멤버십은 정책이 그러한 속성들을 참조하는 경우에 역할 배정이 변경되게 할 수 있다. 본 명세서에 설명된 바와 같이, 결합은 요청 시에 발생할 수 있고, 요청의 사용자 식별자 또는 테넌트 식별자에 기초할 수 있다.
유사하게, 정책 기반 공유는, 정책에 대한 임의의 변경들이 공유(예컨대, 역할 배정)에 대해 변경들을 초래할 수 있음을 의미한다. 다른 요인들(예컨대, 협정 상태, 협정 레벨, 가입 상태, 가입 레벨 등)에 추가로 의존하는 정책들은 그러한 요인들이 변경되는 경우에 역할 배정에 대한 변경을 야기할 수 있다. 예를 들어, 테넌트가 새로운 가입 레벨을 취득하는 경우, 테넌트의 사용자들에게는 추가적인 액세스가 자동으로 승인될 수 있는데, 그 이유는 역할이 실행 시간에 배정될 - 그 다음 시간에, 테넌트의 사용자가 액세스를 요청함 - 수 있기 때문이다.
따라서, 역할의 후기 결합 및 역할 배정의 동적 특성은 특정 사용자들에 대한 개별 역할 배정을 미리 회피시키는 매우 다양하고 유연한 자동 시나리오들을 지원할 수 있다. 따라서, 그러한 풍부한 기능을 제공하면서 시스템을 관리하는 데 필요한 리소스들이 크게 감소된다.
애플리케이션 레벨(예컨대, 애플리케이션에 의해 강제됨)에서 추가적인 역할들이 제공될 수 있고; 그러한 역할들은 초기 또는 후기 결합을 가질 수 있다. 예를 들어, 애플리케이션 역할 식별자는 실험실 매니저, 주임(principal), 어시스턴트 등을 특정할 수 있다. 애플리케이션 역할 식별자 자체는 정책 기반 역할에 대한 액세스를 제어하는 조건문(condition statement)에서 사용될 수 있다. 그러한 경우, 액세스 요청이 정책 문서에 특정된 조건을 충족시키는 역할 식별자를 나타내는 속성들을 갖는다고 결정한 것에 응답하여, 역할은 서명된 액세스 토큰에 적절한 퍼미션(permission)들(예컨대, 역할에 대해 특정된 바와 같음)과 함께 포함된다.
실시예 9 - 예시적인 퍼미션들
본 명세서의 실시예들 중 임의의 실시예에서, 리소스를 공유하기 위한 퍼미션은 서비스 유형, 리소스 유형, 및 퍼미션 유형(예컨대, "GDS.FILES.UPDATE", "GSS.LIBRARYPOOLS.READ" 등)을 특정함으로써 특정될 수 있다.
퍼미션 유형들은 매니징, 아카이브, 생성, 삭제, 파괴, 다운로드, 은닉, 로킹, 판독, 업데이트, 기록, 관리, 실행, 승인 등을 포함할 수 있다. 리소스 유형들은 가입들, 파일들, 서열분석 실행들, 라이브러리 풀(pool)들, 라이브러리 준비 키트들, 분석 버전들, 태스크 버전들, 태스크들, 실행들, 워크플로우들 등을 포함할 수 있다.
서비스 유형들은 게놈 데이터 서비스들, 워크플로우 실행 서비스들 등을 포함할 수 있다.
실시예 10 - 예시적인 플랫폼
본 명세서의 실시예들 중 임의의 실시예에서, 정책 기반 공유를 제공하는 인프라구조는 때때로 "플랫폼"으로 불린다. 그러한 플랫폼은 테넌트들에 의해 복수의 애플리케이션들에 대한 액세스를 제공하는 다중 테넌트 클라우드 기반 플랫폼에 통합될 수 있다. 본 명세서에 설명된 바와 같이, 그러한 플랫폼은 테넌트들이 본 명세서에 설명된 공유 기능을 통해 협력할 수 있는 가상 장소가 될 수 있다.
플랫폼은 본 명세서에 설명된 정책 기반 액세스 제어 기술들을 통해 게놈 디지털 데이터 리소스들에 대한 액세스를 조정하는 SaaS 플랫폼으로서 구현될 수 있다.
기능의 다양한 부분들은 플랫폼의 내부 또는 외부에 있는 것으로 언급될 수 있지만, 양쪽 모두의 배열도 구현될 수 있다. 예를 들어, 일부 기능은 다른 서비스 제공자들에게 위임될 수 있거나, 또는 원하는 대로 플랫폼으로 가져올 수 있다. 일부 경우들에 있어서, 기능은 전체 다중 테넌트 클라우드 기반 플랫폼으로부터 분리되거나 그에 통합될 수 있는 인증 서비스 플랫폼에 있는 것으로 설명될 수 있다.
실시예 11 - 정책 기반 공유를 구현하는 플랫폼을 갖는 예시적인 시스템
도 3은 서명된 액세스 토큰(372)을 통해 정책 기반 게놈 디지털 데이터 공유를 구현하는 플랫폼(350)을 포함하는 예시적인 시스템(300)의 블록도이다.
애플리케이션이 도시되어 있지 않지만, 실제로, 실제 공유 기능은, 테넌트를 대신하여 실행되고 플랫폼(350)을 통해 게놈 디지털 데이터(397)에 대한 액세스를 요청하고 소프트웨어를 지원하는 애플리케이션들에 의해 호출될 수 있다.
본 실시예에서, 소유 중인 테넌트(310A)는 게놈 디지털 데이터(397)에 대한 액세스를 제어한다. 그러한 제어는 정책 문서(360)를 (예컨대, 관리 사용자 인터페이스에 의해) 구성함으로써 달성된다. 구성은 정책 문서(360)에 포함하기 위한 맞춤형 역할 식별자(374)를 생성하는 것을 포함할 수 있다. 그러한 구성은 테넌트(310A)가 공유를 위해 데이터(397)를 공개하기를 원할 때 공개 프로세스의 일부로서 포함될 수 있다. 도시되어 있지 않지만, 공개는 또한, 본 명세서에 설명된 바와 같은 서명된 승인 토큰의 생성을 포함할 수 있다.
후속적으로, 테넌트(310B)가 데이터(397)에 액세스하기를 원할 때, 그것은 요청(320)을 플랫폼(350)으로 전송함으로써 그렇게 할 수 있다. 정책 문서(360)는 본 명세서에 설명된 바와 같이, 서명된 액세스 토큰(372)(예컨대, 이는 또한 역할 식별자(374)를 포함할 수 있음)의 생성을 제어한다.
이어서, 테넌트(310B)는 토큰(372)에 기초하여 게놈 디지털 데이터(397)에 대한 액세스를 제공하는 게놈 디지털 데이터 서비스로 역할 식별자(374)를 갖는 액세스 토큰(372)을 전송할 수 있다.
실시예 12 - 정책 기반 공유를 구현하는 예시적인 방법
도 4는 서명된 액세스 토큰을 통해 정책 기반 게놈 디지털 데이터 공유를 구현하는 예시적인 방법(400)의 흐름도이며, 예를 들어, 도 3에 도시된 것과 같은 시스템에 의해(예컨대, 플랫폼(350)에 의해) 구현될 수 있다.
본 명세서의 실시예들 중 임의의 실시예에서, 액세스에 대한 요청을 수신한 것에 응답하여, 정책 기반 액세스 제어 정의(예컨대, 정책 문서)에 특정된 역할 식별자가 액세스에 대한 요청에 대해 제공될 수 있다. 이어서, 역할 식별자는 서명된 액세스 토큰에 포함될 수 있다.
본 실시예에서, 410에서, 역할 식별자를 갖는 정책의 구성이 제어용 (예컨대, 소유자 또는 위임자) 테넌트로부터 수신된다.
420에서, 정책 구성에 의해 제어되는 데이터에 대한 액세스를 위해 다른 테넌트로부터 요청이 수신된다. 본 명세서에 설명된 바와 같이, 그러한 요청은 토큰에 대한 요청을 수반할 수 있다.
430에서, 요청은 구성된 바와 같은 정책(예컨대, 제어용 테넌트에 의해 구성된 바와 같은 정책 문서)에 기초하여 승인된다. 예를 들어, 440에서, 정책에 기초하여, 서명된 액세스 토큰(예컨대, 역할 식별자를 가짐)이 제공될 수 있다. 450에서, 액세스 요청은 서명된 액세스 토큰에 기초하여(예컨대, 역할 식별자에 대한 적절한 범주의 존재에 기초하여) 승인될 수 있다.
실시예 13 - 예시적인 소유 중인 테넌트
본 명세서의 실시예들 중 임의의 실시예에서, 용어 "소유 중인 테넌트"는 정책 기반 공유가 본질적으로 테넌트-테넌트 기반 공유임을 표현하는 데 사용될 수 있다. 소유 중인 테넌트는 게놈 디지털 데이터에 대한 액세스를 승인할 수 있으며, 그러한 게놈 디지털 데이터에 대해 그것은 이미 액세스 권한들을 갖고 있다. 데이터를 공개하고 정책 문서를 구성함으로써, 이어서, 소유 중인 테넌트의 데이터에 다른 테넌트들이 액세스할 수 있다.
실제로, 소유 중인 테넌트는 공유 목적들을 위해 그 테넌트를 흉내 낼 수 있는 다른 테넌트에 공유 관리를 위임할 수 있다. 따라서, 소유 중인 테넌트는 때때로 "1차 테넌트"로 불린다.
실시예 14 - 예시적인 액세스 요청
본 명세서의 실시예들 중 임의의 실시예에서, 액세스 요청은 다양한 형태들을 취할 수 있다. 예를 들어, 액세스 요청은 (예컨대, 식별자를 사용하여) 공유되기를 원하는 게놈 디지털 데이터를 특정할 수 있다. 대안적으로, 일반적인 요청이 전송될 수 있고, 이용가능한 리소스들 및 연관된 식별자들의 목록이 선택을 위해 제공될 수 있다. 이어서, 액세스 요청은 원하는 특정 리소스의 식별자를 제공함으로써 완료될 수 있다.
실제로, 액세스 요청은 애플리케이션과 정책 기반 공유 서비스들을 제공하는 플랫폼 사이의 통신을 통해 제공될 수 있다.
서명된 액세스 토큰은 요청에 응답하여 수신될 수 있고, 토큰은 보호된 리소스에 대한 액세스를 실제로 제어하는 데 사용된다.
세션 기반 시스템에서, 세션이 시작될 때(예컨대, 사용자가 인증할 때) 액세스 요청이 전송될 수 있고, 액세스 토큰은 사용자 아이덴티티에 기초하여 생성될 수 있다. 이어서, 세션으로부터 발생된 애플리케이션들은 액세스 토큰에서 역할들에 의해 표시된 리소스들에 액세스한다.
실시예 15 - 예시적인 초대
본 명세서의 실시예들 중 임의의 실시예에서, 공유를 위한 테넌트들을 초대하기 위해 초대 프로세스가 사용될 수 있다. 예를 들어, 새롭게 온-보딩된 테넌트가 디폴트로 소정 초대들을 수신할 수 있다. 다른 테넌트들은 특정 애플리케이션 또는 서비스를 위해 서명할 시에 초대를 수신할 수 있다. 예를 들어, 애플리케이션들에 대한 가입 모델은 애플리케이션에의 가입 시에 애플리케이션(예컨대, 및 본 명세서에 설명된 바와 같이 공유되는 임의의 연관된 공개 데이터)에 대한 액세스를 제공할 수 있다. 다른 테넌트들은 정책 문서에 추가되는 것의 일부로서 초대를 수신할 수 있다.
실제로, 공유가 개시될 때를 나타내는 정책 문서들 또는 다른 리소스들에 의해 초대들이 제어될 수 있다.
초대 프로세스는 법적 준수, 아이덴티티 검증, 키 교환, 신뢰 위임 등을 포함할 수 있다.
실시예 16 - 서명된 액세스 토큰을 생성하는 예시적인 시스템
도 5는 액세스 요청(520) 및 정책 문서(560)에 기초하여 서명된 액세스 토큰(572)을 생성하는 예시적인 시스템(500)의 블록도이다.
본 실시예에서, 주어진 테넌트의 사용자 식별자(505)가 기본 게놈 디지털 데이터(597)에 대한 액세스를 요청하는 애플리케이션(510)에 액세스하고 있다.
액세스 요청(520)은 복수의 속성들을 포함할 수 있고, 본 실시예에서는, 워크그룹 식별자(535), 테넌트 식별자(537), 및 애플리케이션 식별자(540)를 포함하는 사용자 아이덴티티 세트(530)를 포함한다.
(예컨대, 도 1의 인증 서비스(140) 또는 도 3의 플랫폼(350)의) 플랫폼 인증 서비스 토큰 생성기(platform authentication service token generator)는 입력으로서 액세스 요청(520)을 수신하고, 정책 문서(560)에 기초하여 서명된 액세스 토큰(572)을 생성한다. 본 실시예에서, 사용자 아이덴티티 세트(530) 및 애플리케이션 식별자(540)는 액세스를 지원하며, 따라서, 토큰(572)은 해당 테넌트(예컨대, 이의 연관된 사용자가 사용자임)의 역할 식별자(574) 및 테넌트 식별자(576)를 포함한다.
게놈 데이터 서비스(590)는, 서명된 액세스 토큰(572)을 제공받을 때, 토큰을 검증할 수 있고, 기본 데이터(597)에 대한 액세스를 제공하는 게놈 데이터 서비스(590)의 액세스 제어 목록(595)에서 또한 사용될 수 있는 역할 식별자(574)의 존재에 기초하여 액세스를 제공할 수 있다.
추가 보안은 본 명세서에 설명된 바와 같은 승인 토큰을 통해 제공될 수 있다.
실시예 17 - 서명된 액세스 토큰을 생성하는 예시적인 방법
도 6은 서명된 액세스 토큰을 생성하는 예시적인 방법(600)의 흐름도이며, 예를 들어, 도 5에 도시된 것과 같은 시스템에 의해(예컨대, 토큰 생성기(550)에 의해) 구현될 수 있다.
610에서, 액세스에 대한 요청이 사용자 아이덴티티 세트로부터 수신된다. 실제로, 사용자 아이덴티티 세트를 갖는 사용자에 의해 사용되는 애플리케이션은 실제로, 사용자의 사용자 아이덴티티를 대신하여 요청을 전송할 수 있다.
620에서, 보호된 리소스와 연관된 정책 문서 및 액세스 요청의 하나 이상의 속성들에 기초하여 서명된 액세스 토큰에 역할 식별자가 포함된다. 예를 들어, 특정 애플리케이션을 사용하는 모든 테넌트들이 액세스를 승인받는 시나리오에서, 액세스 요청이 애플리케이션의 인스턴스로부터 나오고 있다고 결정하는 것에 응답하여 역할 식별자가 포함될 수 있다. 애플리케이션을 갖는 모든 테넌트들에게 그러한 액세스가 승인되는 경우, 사용자 아이덴티티는 결정 시에 일정 역할을 하지 않을 수 있다. 그러나, 테넌트-테넌트 공유 시나리오에서, 테넌트 아이덴티티는 제어용 인자일 수 있다(예컨대, 요청용 테넌트의 테넌트 식별자는 정책 문서에서 특정된 조건과 매칭해야 함). 요청의 워크그룹 식별자는 정책 문서에서 특정된 조건들에 따라 제어용 인자일 수 있거나 또는 그렇지 않을 수 있다.
단계(640)에서, 역할 식별자를 갖는 서명된 액세스 토큰이 게놈 데이터 서비스로 전송된다.
이어서, 액세스는 역할 식별자에 기초하여 게놈 디지털 데이터에 승인될 수 있다.
실시예 18 - 예시적인 애플리케이션들
도 5에 도시된 바와 같이, 애플리케이션(510)은 사용자 식별자(505) 대신하여 액세스 요청들을 전송할 수 있다. 본 명세서의 실시예들 중 임의의 실시예에서, 요청이 테넌트 또는 사용자 식별자로부터 나오는 것으로 설명될 수 있지만, 실제로, 애플리케이션은 그러한 테넌트 또는 사용자 식별자를 대신하여 동작하고 있을 수 있다. 애플리케이션 인스턴스는 인증된 사용자 식별자 및/또는 테넌트 식별자와 연관될 수 있으며, 이는 보안 목적들(예컨대, 요청들을 인증하는 것, 테넌트 식별자를 결정하는 것, 워크그룹 식별자를 결정하는 것 등)을 위해 사용된다.
그러한 애플리케이션들은 다양한 형태들을 취할 수 있고, 본 명세서에 설명된 바와 같은 게놈 디지털 데이터의 취득, 매니지먼트 및 분석에 사용될 수 있다.
실시예 19 - 예시적인 지원된 시나리오들
도7은 본 명세서에 설명된 기술들을 통해 구현될 수 있는 지원된 시나리오들(710)의 시각화(700)이다.
공개 액세스 공유(720)는 (예컨대, 모든 사용자들, 주어진 애플리케이션의 모든 사용자들, 또는 일부 다른 기준들에게) 데이터가 이용가능함을 설명하는 정책 문서를 구성하는 데 사용되는 테넌트 식별자 아래에서 공개되거나 공개되기를 원하는 게놈 디지털 데이터를 공개함으로써 본 명세서에 설명된 바와 같이 구현될 수 있다.
공개 액세스 공유의 실시예는 애플리케이션과 관련하여 구현될 수 있다. 따라서, 예를 들어, 특정 애플리케이션에 가입하는 임의의 테넌트는 애플리케이션과 호환가능한 포맷으로 공개 데이터의 집합에 액세스하도록 승인받을 수 있다. 그러한 경우, 정책 문서는 모든 테넌트들(예컨대, "tid:*")에 대한 애플리케이션(예컨대, "application:Olympia")으로부터의 요청들이 공유된 공개 데이터에 대한 액세스를 승인받음을 명시할 수 있다.
테넌트-테넌트 공유(730)는 공유를 제어하는 조건들(예컨대, 어느 다른 테넌트들이 데이터에 액세스할 수 있는지)을 특정하는 정책 문서를 구성하는 테넌트 식별자 아래에서 게놈 디지털 데이터를 공개함으로써 본 명세서에 설명된 바와 같이 구현될 수 있다. 초대 프로세스가 수반될 수 있지만, 다른 테넌트들은 역할 식별자를 구성할 필요가 없는데, 그 이유는 제어용 테넌트가 그렇게 할 수 있기 때문이다.
워크그룹 기반 공유(740)는 공유를 제어하는 조건들(예컨대, 어느 하나 이상의 워크그룹들이 데이터에 액세스할 수 있는지)을 특정하는 정책 문서를 구성하는 테넌트 식별자 아래에서 게놈 디지털 데이터를 공개함으로써 본 명세서에 설명된 바와 같이 구현될 수 있다. 초대 프로세스가 수반될 수 있지만, 워크그룹의 구성원들은 역할 식별자를 구성할 필요가 없는데, 그 이유는 제어용 테넌트가 그렇게 할 수 있기 때문이다. 워크그룹은 인트라- 또는 인터-테넌트일 수 있다(예컨대, 복수의 테넌트들에 걸쳐 있음).
외부 서비스 제공자(750)로의/로부터의 공유는 또한, 외부 서비스 제공자를 위해 특수 테넌트 식별자를 생성함으로써, 이들이 적절하게 테넌트로서 작용하고 있지 않더라도, 본 명세서에 설명된 바와 같이 구현될 수 있다. 이러한 방식으로, 외부 서비스 제공자들은 플랫폼 상의 게놈 디지털 데이터에 액세스할 수 있고, 이에 대한 분석을 수행할 수 있고, (예컨대, 외부 서비스 제공자가 분석을 수행할 것을 요청했던) 테넌트에 의한 액세스를 위해 결과들을 그 플랫폼에 다시 공개할 수 있다.
정책 문서들이 공유를 허용하는 조건들의 풍부한 세트를 포함할 수 있기 때문에 다른 시나리오들이 가능하다. 실행 시간에서의 정책 문서의 평가는, 테넌트 관리자들에 의한 개별 사용자 역할들의 대규모 재구성이 회피될 수 있도록 사용될 수 있다.
실시예 20 - 예시적인 워크그룹들
본 명세서의 실시예들 중 임의의 실시예에서, 임의의 수의 사용자들에게 플랫폼 내의 워크그룹 식별자에 의해 식별된 워크그룹의 구성원들인 것이 배정될 수 있다. 그러한 사용자들은 동일한 테넌트의 사용자들이거나 테넌트들에 걸쳐 있을 수 있다. 워크그룹 내의 멤버십은 관리자 또는 프로그램 프로세스에 의해 제어될 수 있다.
실시예 21 - 예시적인 토큰 서명들
본 명세서의 실시예들 중 임의의 실시예에서, 액세스 또는 승인 토큰은 인증을 위해 제어용 테넌트에 의해 디지털 방식으로 서명될 수 있다. 실제로, 공개-개인 키 암호화 접근법이 사용될 수 있으며, 여기서 토큰은 테넌트의 개인 키로 서명되고, 테넌트의 공개 키로 인증된다.
실제로, 플랫폼 관리자 또는 위임자의 키들은 관리를 단순화하기 위해 테넌트의 키 대신에 사용될 수 있다. 플랫폼에 의해 신뢰되고 검증가능한 임의의 키들은 테넌트들 사이의 비인가 공유를 방지하도록 강제되는 신뢰 관계를 달성하는 데 사용될 수 있다.
실시예 22 - 예시적인 정책 문서
본 명세서의 실시예들 중 임의의 실시예에서, 공유를 제어하기 위해 정책 문서가 사용될 수 있다. 따라서, 그러한 정책 문서는 정책 기반 액세스 제어 정의의 역할을 할 수 있다. 본 명세서에 설명된 바와 같이, 정책 기반 액세스 제어 정의는 액세스에 대한 요청이 수신될 때 평가될 수 있다.
도 8은 본 명세서의 실시예들 중 임의의 실시예에서 사용될 수 있는 예시적인 정책 문서(860)의 블록도이다. 실제로, 정책 문서(860)는 플랫폼에서 정책 문서(860)가 연관되는 리소스(예컨대, 게놈 디지털 데이터)를 제어하는 테넌트에 의해 구성(예컨대, 생성, 판독, 업데이트 또는 삭제)된다. 예를 들어, 관리 사용자 인터페이스는 테넌트의 관리자 사용자에 의한 액세스를 위해 제공될 수 있거나, 또는 원하는 경우에 구성이 프로그램에 따라 수행될 수 있다.
본 명세서에 설명된 바와 같이, 정책 문서(860)는 애플리케이션 식별자 또는 명칭, 아이덴티티(예컨대, 테넌트 식별자, 워크그룹 식별자 등) 등에 기초하여 액세스 요청들을 필터링할 수 있다. 도시되어 있지 않지만, 정책 문서(860)는 역할 식별자(예컨대, 구성용 테넌트에 의해 제어됨)에 링크(예컨대, 맵핑)될 수 있고, 따라서, 정책 문서(860)는 보호된 공유가능 리소스에 대한 액세스를 인가하기 위해 궁극적으로 사용될 수 있는 역할 식별자에 대한 게이트키퍼(gatekeeper)로서 역할을 함으로써 액세스를 통한 제어를 달성한다.
필터링을 달성하기 위해 다양한 포맷들이 사용될 수 있다. 본 실시예에서, 정책 문서(860)는 메타데이터(861)(예컨대, 날짜, 버전 등) 및 하나 이상의 진술문들(862)을 포함할 수 있다. 진술문들은 효과, 테넌트 아이덴티티 파라미터(863) 및 0개 이상의 조건들(864)의 형태를 취할 수 있다. 효과는, 아이덴티티 파라미터(863) 및 조건들(864)(존재하는 경우)이 충족되는 경우에 효과가 효력을 발휘함을 명시할 수 있다. 그러한 효과는 공유가 허용되는 것(예컨대, "허용됨"), 또는 특정 유형들의 공유가 허용되는 것(예컨대, 판독 전용, 판독-기록 등) 또는 본 명세서에 설명된 바와 같은 퍼미션들이 승인되는 것일 수 있지만; 그 유형의 공유는 대안적으로, 상이한 레벨들의 액세스를 갖는 상이한 역할 식별자들을 생성함으로써 달성될 수 있다.
실제로, 아이덴티티(863)는, 테넌트 아이덴티티 파라미터가 전형적으로 정책 문서(860)의 일부로서 특정되고 효과적으로 조건으로서의 역할을 함을 강조하기 위해 별개로 열거된다. 예를 들어, 특정 테넌트, 테넌트들의 목록, 또는 와일드카드가 테넌트 아이덴티티 파라미터로서 열거될 수 있다. 요청이 테넌트 아이덴티티 파라미터를 만족시키는 테넌트 식별자로부터 나오는 경우, 파라미터는 만족되는 것으로 간주되고, 임의의 조건들(864)이 또한 만족되는 경우에 진술문들이 실행될 것이다.
본 명세서에 설명된 바와 같이, 주어진 조건(864)은 애플리케이션 식별자, 워크그룹 식별자, 애플리케이션 역할 식별자 등과 같은 필터 파라미터를 포함할 수 있다. 조건을 만족시키는 속성들을 갖는 요청은 (예컨대, 액세스를 가능하게 하는) 진술문의 실행을 야기한다. 따라서, 기본 역할에 대한 액세스는 그러한 속성들에 기초하여 필터링될 수 있다.
정책 문서가 만족되는 경우, 링크된 역할 식별자는 본 명세서에 설명된 바와 같은 생성된 액세스 토큰에 포함된다.
추가적인 기능 또는 구성은 공유 기능을 확장하기 위해 원하는 대로 정책 문서(860)에 통합될 수 있다. 예를 들어, 정책 문서(860)는 본 명세서에 설명된 바와 같은 스마트 계약들과 같은 신뢰받는 외부 리소스들을 통합하거나 참조할 수 있다.
실시예 23 - 예시적인 서명된 액세스 토큰
본 명세서의 실시예들 중 임의의 실시예에서, 공유된 액세스 토큰은 (예컨대, 역할 식별자를 통해) 정책 문서에 링크된 리소스에 대한 액세스를 제어하라는 인입 액세스 요청 및 정책 문서에 기초하여 생성될 수 있다.
도 9는 본 명세서의 실시예들 중 임의의 실시예에서 사용될 수 있는 예시적인 서명된 액세스 토큰(972)의 블록도이다. 실제로, 실제 토큰(972)은 그 안에 더 많은 또는 더 적은 필드들을 갖는 상이한 형태들을 취할 수 있다.
대상체(974)는 시스템 사용자 식별자일 수 있다.
발행자(976)는 플랫폼 인증 시스템의 어느 인스턴스가 토큰을 발행했는지를 나타낼 수 있다. 대안적으로, 발행자는 제어용 테넌트일 수 있다.
테넌트 식별자(978)는 사용자(예컨대, 리소스를 요청하는 애플리케이션과 연관된 사용자)의 테넌트 식별자를 나타낼 수 있다.
멤버십은 사용자가 정책 기준들을 만족하는 경우뿐만 아니라 사용자 역할들 및 퍼미션들에 기초하여 액세스 토큰(972) 내에 인코딩될 수 있다. 액세스 토큰 생성 동안, 정책 기준들을 이행하는 사용자 식별자는 액세스를 승인할 때 정책 세트에 따라 멤버십으로서 연관된 역할 식별자를 자동으로 얻는다. 980은 사용자가 액세스하는 멤버십들의 목록을 포함할 수 있다. 멤버십은 역할 식별자(982) 및/또는 워크그룹 식별자(984)에 의해 나타내질 수 있다. 퍼미션 인덱스(또는 모두에 대해서 "*")가 포함될 수 있다. 예를 들어, 사용자는 역할과 워크그룹 둘 모두에서 멤버십을 가질 수 있다.
액세스 제어 목록(990)은 연관된 리소스들에 대한 승인된 퍼미션들과 함께 테넌트 식별자 및 사용자 식별자를 포함할 수 있다. 토큰(972) 내의 액세스 제어 목록은 (예컨대, 별개의 액세스 제어 목록이 체크될 필요가 없도록) 효율성 목적들을 위해 포함될 수 있거나, 또는 그것은 이미 제자리에 있는 액세스 제어 목록(예컨대, 승인 토큰의 일부로서 게놈 데이터 서비스에 이미 발송된 액세스 제어 목록)에 대한 이중 체크로서의 역할을 할 수 있다.
승인 유형(992)은 사용자가 토큰(972)을 어떻게 획득했는지에 대한 승인 유형 또는 인증 흐름을 나타낼 수 있다.
청중(994)은 사용자가 어느 클라우드 제공자 서비스에 액세스하려고 시도하고 있는지를 결정할 수 있다.
서비스(996)는 토큰(972)을 생성하기 위해 사용자가 사용하고 있던 애플리케이션 또는 서비스를 나타낼 수 있다.
범주(998)는 승인된 퍼미션 목록(예컨대, 서비스 유형, 리소스 유형, 및 퍼미션 유형(예컨대, "GDS.FILES.UPDATE", "GSS.LIBRARYPOOLS.READ" 등)을 특정함으로써 액세스의 승인된 유형을 나타내는 식별자들)을 포함할 수 있다.
실제로, 서명된 액세스 토큰(972)은 JSON 웹 토큰 또는 관련 필드들의 저장을 지원하는 다른 포맷으로서 구현될 수 있다. 그것은 서명자의 개인 키로 서명되어, 서명자의 공개 키를 통한 인증을 허용할 수 있다.
실시예 24 - 예시적인 액세스 토큰 생성 시스템
도 10은 액세스 요청(1020)의 속성들 및 정책 문서(1060)의 조건들에 기초하여 액세스 토큰(1072)을 생성하는 예시적인 시스템(1000)의 블록도이다.
본 실시예에서, 액세스 요청(1020)은 하나 이상의 속성 명칭들(1040A 내지 1040N) - 속성 값(1042A 내지 1042N) 쌍들의 세트를 포함할 수 있다. 예를 들어, 속성들은 액세스를 요청하는 사용자 식별자의 테넌트, 워크그룹, 요청과 연관된 애플리케이션 등을 나타낼 수 있다.
정책 문서(1060)는 문서(1060)에 명시적으로 저장되지 않을 수 있지만, 그 대신, (예컨대, 역할 식별자들과 정책 문서들 사이의 맵핑으로) 그에 링크될 수 있는 역할 식별자(1074)를 포함할 수 있다. 정책 문서(1060)는 각자의 필터 속성(1064A) - 필터 파라미터(1066A) 쌍들을 포함한 복수의 조건들(1064A 내지 1064N)을 포함할 수 있다. 필터 속성(1064A)은 명칭 또는 식별자에 의한 속성을 특정할 수 있고, 필터 파라미터(1066A)는 어느 속성 값들이 역할 식별자(1074)의 배정에 적합한지를 나타내는 파라미터를 특정할 수 있다. 실제로, 파라미터(1066A)는 단일 값, 목록, 와일드카드 등의 형태를 취할 수 있다.
액세스 토큰 생성기(1050)는 정책 파라미터를 (예컨대, 인입 요청의) 속성에 매칭시킬 수 있다. 외부 조건들(예컨대, 액세스 요청(1020)의 일부가 아닌 조건들)이 또한 포함될 수 있다.
액세스 요청(1020)이 조건들(1064A 내지 1064N)에 의해 나타내진 바와 같은 역할 배정에 적합한 경우, 역할 식별자(1074)는 (예컨대, 요청 중인 사용자의) 테넌트 식별자와 함께, 액세스 토큰(1072)에 포함될 수 있다.
토큰(1072)은 (예컨대, 제어용 테넌트 또는 클라우드 서비스 제공자의) 개인 키를 사용하여 서명될 수 있다. 그러한 서명은 종래의 또는 다른 공개-개인 키 암호화 방법들을 사용하여 달성될 수 있고, 토큰 생성기(1050)와는 별개의 기능일 수 있다. 서명되는 경우, 서명자의 공개 키는 토큰(1072)을 인증하는 데 사용될 수 있다.
실시예 25 - 예시적인 액세스 토큰 생성 방법
도 11은 액세스 요청의 속성들 및 정책 문서의 조건들에 기초하여 액세스 토큰을 생성하는 예시적인 방법(1100)의 흐름도이며, 예를 들어, 도 10의 시스템(1000)(예컨대, 본 명세서에 설명된 액세스 토큰 생성기(1050) 또는 다른 액세스 토큰 생성 시스템들)에 의해 구현될 수 있다.
1110에서, 공유된 게놈 디지털 데이터에 대한 액세스에 대한 요청이 수신되고, 요청은 하나 이상의 속성들을 포함한다. 그러한 속성들은 속성 명칭-속성 값 쌍들의 형태를 취할 수 있지만, 속성 명칭들은 (예컨대, 요청 내의 포지션 등에 기초하여) 암시될 수 있다.
1120에서, 공유된 게놈 디지털 데이터에 대한 정책 문서가 액세스되고, 정책은 하나 이상의 조건들을 갖는다.
1140에서, 액세스 토큰은 요청의 하나 이상의 속성들 및 정책의 하나 이상의 조건들에 기초하여 생성된다. 예를 들어, 속성들이 요청이 정책의 조건들을 충족시킴을 나타내는 경우, 역할 식별자가 포함될 수 있다. 외부 속성들은 또한, (예컨대, 요청자의 테넌트가 증가된 가입 레벨 등을 갖든 아니든) 토큰의 생성에 영향을 주도록 포함될 수 있다.
본 명세서에 설명된 바와 같이, 생성된 토큰이 서명될 수 있다.
실시예 26 - 예시적인 게놈 디지털 데이터 공개 시스템
도 12는 정책 기반 공유를 위한 기본 데이터(예컨대, 게놈 디지털 데이터)(1297)를 공개하는 시스템(1200)의 블록도이다. 실제로, 시스템(1200)은 본 명세서에서 정책 기반 공유 실시예들 중 임의의 실시예에 통합될 수 있고, 공유를 구성(예컨대, 셋업)하도록 호출될 수 있다.
본 실시예에서, 제어용 테넌트(1210)는 게놈 데이터 서비스(1290)에 의해 제공되는 공유된 기본 데이터(1297)에 대한 액세스를 제공하기 위해 워크그룹 관리 콘솔(1220)에 액세스한다.
데이터(1297)에 대한 제약들을 강제하기 위해 액세스 제어 목록(1292)이 생성될 수 있다. 액세스 제어 목록(1292)은 제어용 테넌트 식별자(1234), 주어진 정책 기반 공유 시나리오에 대해 생성된 역할 식별자(1236), 및 승인된 퍼미션들(1278)(예컨대, 리소스 유형, 액세스 유형 등을 나타냄)을 나타내는 엔트리를 포함할 수 있다.
테넌트(1210)는, 정책 저장소(1255)에 포함되고 테넌트(1210)의 테넌트 식별자, 역할 식별자(1236) 및 기본 데이터(1297)와 링크되는(예컨대, 그와 맵핑되는) 정책 문서(1260)를 생성한다.
본 실시예에서, 정책 문서(1260)는 버전에 관한 메타데이터, 및 애플리케이션 "Olympia"를 통해 데이터에 액세스하고 있는 모든 테넌트들(예컨대, "TID:*")에 대한 액세스를 허용하는 진술문을 포함한다. 공개 시나리오에 의해 지시된 하나 이상의 액세스 제어 목록들을 포함하는 서명된 승인 토큰(1230)이 생성된다. 이러한 방식으로, 액세스 제어 목록들은 게놈 데이터 서비스(1290)로 발송될 수 있으며, 여기서 이들은 미래의 참조를 위해 (예컨대, 역할 id(1236)와 연관된 요청들에 기초하여 퍼미션들을 승인하기 위해) 저장된다. 본 실시예에서, 제어용 테넌트의 테넌트 식별자(1234) 및 정책 기반 공유 시나리오에 대해 생성된 역할 식별자(1236)가 포함된다.
예시된 시나리오는 때때로, 데이터(예컨대, 데이터(1297))를 "공개하는 것"으로 불리는데, 그 이유는 테넌트(1210)가 (예컨대, 정책(1260)에서의 조건들을 충족하는 그러한 요청들에 의해) 데이터를 적격한 이들에게 이용가능하게 만들었기 때문이다.
실시예 27 - 예시적인 게놈 디지털 데이터 공개 방법
도 13은 정책 기반 공유에 대한 게놈 콘텐츠를 공개하는 예시적인 방법(1300)의 흐름도이며, 예를 들어, 도 12의 시스템(1200)(예컨대, 본 명세서에 설명된 정책 기반 공유를 지원하는 플랫폼들의 다른 부분 또는 워크그룹 관리 카운슬러(1220))에 의해 구현될 수 있다. 본 명세서에 설명된 바와 같이, 방법(1300)은 액세스를 승인하는 테넌트(예컨대, 워크그룹 관리자)에 의해 구동될 수 있다.
1320에서, (예컨대, 역할 식별자에 링크된 정책 문서와 함께) 맞춤형 역할 식별자가 생성된다. 그러한 역할 식별자는 플랫폼 내에서 고유할 수 있고, 공개 요청에 응답하여 할당된다.
1340에서, 액세스 제어 목록(access control list)들의 목록과 함께 서명된 승인 토큰이 생성된다. 승인 토큰은 본 명세서에 설명된 바와 같은 게놈 콘텐츠를 식별하는 리소스 식별자와 연관(예컨대, 그에 링크)될 수 있다.
1360에서, 콘텐츠는 승인 토큰을 사용하여 게놈 데이터 서비스에 공개된다. 예를 들어, 데이터는 이미 존재하지 않는 경우, 게놈 데이터 서비스에 업로드될 수 있다. 승인 토큰은 보호된 리소스에 대한 액세스를 제어하기 위해 검증될 수 있다.
실시예 28 - 예시적인 게놈 디지털 데이터 액세스 방법
도 14는 공개되고 공유된 게놈 콘텐츠에 액세스하는 예시적인 방법(1400)의 흐름도이며, 예를 들어, 본 명세서에 설명된 정책 기반 공유를 지원하는 시스템들 중 임의의 시스템에 의해 구현될 수 있다. 그러한 방법은 전형적으로, 리소스에 액세스하는 기업 사용자 식별자에 의해 구동된다.
1420에서, 액세스에 대한 요청이 (예컨대, 주어진 액세스 중인 테넌트의 액세스 중인 사용자 식별자로부터 플랫폼에 의해) 수신된다.
1440에서, 서명된 액세스 토큰이 (예컨대, 정책에 기초하여) 본 명세서에 설명된 바와 같이 생성된다.
1460에서, 서명된 액세스 토큰으로 게놈 디지털 데이터 리소스가 액세스된다. 예를 들어, 요청들은 게놈 데이터 서비스로 전송될 수 있고, 게놈 데이터 서비스는 데이터로 응답한다.
실시예 29 - 예시적인 외부 서비스 제공자 등록 방법
도 15는 외부 서비스 제공자를 등록하는 예시적인 방법(1500)의 흐름도이며, 예를 들어, 본 명세서에 설명된 정책 기반 공유를 지원하는 시스템들 중 임의의 시스템에 의해 구현될 수 있다. 그러한 방법(1500)은 전형적으로, 관리 사용자 식별자 또는 프로세스에 의해 구동된다. 본 명세서에 설명된 바와 같이, 다양한 외부 서비스 제공자 시나리오들이 지원될 수 있다.
1520에서, 플랫폼에의 외부 서비스 제공자의 등록이 (예컨대, 플랫폼에 의해) 수신된다. 그러한 등록은 액세스의 범주들 및 승인들을 포함할 수 있고, 관리 사용자에 의해 수행될 수 있다.
1540에서, 프록시 테넌트로서의 외부 서비스 제공자의 등록이 수신된다. 테넌트 식별자는, 외부 서비스 제공자가 테넌트로서 작용하고 있거나 플랫폼의 전체 테넌트로서 참여하지 못할 수 있더라도 프록시 테넌트를 위해 사용될 수 있다.
1560에서, 정책 기반 액세스 제어가 생성된다(예컨대, 외부 서비스 제공자의 프록시 테넌트 아래에서 생성된 역할을 통해 테넌트-테넌트 공유가 인에이블됨). 정책은 역할과 연관될 수 있다. 실제로, 데이터는 (프록시 테넌트 식별자를 통해) 외부 서비스 제공자에 의해 소유되는 것으로 간주되고, 데이터는 본 명세서에 설명된 바와 같이 정책 기반 공유를 통해 액세스 중인 테넌트들과 공유된다.
더 상세한 유스케이스가 하기의 도 21에 설명되어 있다.
실시예 30 - 예시적인 외부 서비스 제공자 통합 방법
도 16은 외부 서비스 제공자를 정책 기반 공유 플랫폼에 통합하는 예시적인 방법(1600)의 흐름도이며, 예를 들어, 본 명세서에 설명된 정책 기반 공유를 지원하는 시스템들 중 임의의 시스템에 의해 구현될 수 있다. 그러한 방법(1600)은 전형적으로, (예컨대, 다른 테넌트로부터의) 액세스 중인 사용자 식별자 또는 프로세스에 의해 구동된다.
1620에서, 외부 서비스 제공자와 통신하는 워크플로우가 개시된다. 그러한 워크플로우는 외부 서비스 제공자와 연관된 태스크들을 수행하기 위해 킥오프(kick off)될 수 있다. 예를 들어, 테넌트는 물리적 바이오샘플을 전송했을 수 있고 바이오샘플의 분석의 디지털 게놈 데이터 결과들을 수신하기를 원하거나, 테넌트는 서열분석 결과들과 같은 게놈 디지털 데이터를 생성했을 수 있고 외부 서비스 제공자에 의해 해석된 결과들을 갖기를 원할 수 있거나, 등등일 수 있다.
1640에서, (예컨대, 특정 공유 시나리오에 대해) 외부 서비스 제공자에 대한 승인 토큰이 생성된다. 실제로, 워크플로우를 실행하는 워크플로우 실행 서비스는 승인 토큰의 생성을 요청할 수 있다.
1660에서, 외부 서비스 제공자는 (예컨대, 관리 공개 키를 사용하여) 검증되는 승인 토큰을 사용하여 호출된다.
1660에서, (예컨대, 바이오샘플 분석, 데이터 분석 등의) 결과들이 외부 서비스 제공자로부터 수신되고, 게놈 데이터 서비스(예컨대, 여기서 그들은 외부 서비스 제공자를 수반하는 워크플로우를 개시한 테넌트의 사용자들에 의해 액세스될 수 있음) 내에 수용된다. 예를 들어, 외부 서비스 제공자는 요청 중인 테넌트에 의해 또는 그 대신에 제공되었던 서명된 액세스 토큰을 사용하여 게놈 데이터 서비스에 결과들을 업로드한다.
더 상세한 유스케이스 및 샘플 정책들이 하기의 도 22에 설명되어 있다.
실시예 31 - 예시적인 외부 서비스 제공자
본 명세서의 실시예들 중 임의의 실시예에서, 외부 서비스 제공자는 시스템의 테넌트들에 게놈 데이터 서비스를 제공하는 서비스 제공자일 수 있다. 따라서, 정책 기반 액세스 제어 정의가 수신되는 테넌트는 정책 기반 공유가 구현되는 외부 서비스 제공자를 표현하는 프록시 테넌트일 수 있다. 외부 서비스 제공자가 (예컨대, 시스템의 테넌트로서가 아니라) 시스템의 외부에서 동작하고 있기 때문에, 프록시 테넌트 식별자는 외부 서비스 제공자에 의한 사용을 위해 셋업될 수 있고, 외부 서비스 제공자는 프록시 테넌트 식별자와 연관된 바와 같은 플랫폼에 등록될 수 있다. 이어서, 본 명세서에 설명된 바와 같이, 외부 서비스 제공자는 본 명세서에 설명된 정책 기반 테넌트-테넌트 공유 기술들을 이용할 수 있다.
그러한 서비스 제공자들은 물리적 바이오샘플을 분석하고 업로드 분석 결과들(예컨대, 디지털 게놈 데이터)을 분석하는 것, (예컨대, 수학적 프로세스들, 기계 학습 등을 사용하여) 게놈 데이터를 분석하는 것 등과 같은 유용한 서비스들을 수행할 수 있다.
사용자 관점에서, 외부 서비스 제공자는 제3자 애플리케이션으로 보일 수 있는데, 그 서비스들은 사용자들에게 이용가능하다. 이러한 방식으로, 플랫폼이 플랫폼 조정자들 또는 다른 테넌트들에 의해 제공된 그러한 애플리케이션들만으로 제한되지 않도록 제3자 애플리케이션들이 플랫폼에 인터페이싱될 수 있는 풍부한 연구 생태계가 제공될 수 있다.
실시예 32 - 예시적인 토큰 검증
도 17은 본 명세서의 실시예들 중 임의의 실시예에서 토큰 인증을 달성하기 위해 구현될 수 있는 서명된 액세스 토큰을 검증(예컨대, 인증)하는 예시적인 시스템(1700)의 블록도이다. 본 실시예에서, 서명된 액세스 토큰(1772)(역할 식별자(1774) 및 테넌트 식별자(1776)를 가짐)은 제어용 테넌트(1710)의 개인 키로 서명된다. 실제로, 제어용 테넌트의 개인 키는 테넌트 또는 클라우드 서비스 제공자의 관리자(예컨대, 플랫폼 조정자)에 의해 관리될 수 있다.
인증자(1780)는 제어용 테넌트(1710) 및 서명된 토큰(1772)의 공개 키를 수용할 수 있고, 인증 결과(1790)(예컨대, 토큰(1772)이 제어용 테넌트(1710)의 개인 키에 의해 실제로 서명되었는지의 여부)를 출력할 수 있다. 인증자(1780)는 토큰(1772)의 검증을 달성하기 위해 종래의 공개-개인 키 암호화 알고리즘들(예컨대, 해싱 등을 포함함)의 형태를 취할 수 있다.
검증 후, (예컨대, 역할 식별자, 워크그룹 식별자 등과 같은 멤버십들에 기초하여) 퍼미션들이 주어진 리소스에 대해 이용가능한지의 여부를 결정하기 위해 추가 프로세싱이 수행될 수 있다. 멤버십들이 특정된 조건들을 만족시킨다(예컨대, 액세스 제어 목록을 만족시킨다)고 결정한 것에 응답하여, (예컨대, 액세스 제어 목록 내의) 연관된 퍼미션들은 토큰과 연관된 요청자에게 승인된다.
서명된 액세스 토큰(1772)이 도시되어 있지만, 시스템(1700)은 또한, 본 명세서에 설명된 서명된 승인 토큰들에 사용될 수 있다.
실시예 33 - 예시적인 게놈 데이터 구현예들
본 명세서의 실시예들 중 임의의 실시예에서, 게놈 데이터는 게놈 파일 유형들의 형태를 취할 수 있다. 그러한 파일 유형들은 상이한 게놈 데이터와 연관되어, 게놈의 서열분석 동안 취득된 것(예컨대, 서열분석 기구로부터의 원시 데이터, 조립된 게놈 등)과 조립 동안 보조를 위한 데이터(예컨대, 참조 게놈)뿐만 아니라 비교 게놈 분석의 결과들을 나타내는 데이터 사이를 구별할 수 있다. 비교 게놈 분석은 게놈들 사이의 또는 게놈들 간의 비교를 포함할 수 있다(예컨대, 참조 게놈과 비교하여, 게놈 내의 단일 뉴클레오티드 다형성(polymorphism), 삽입, 결실, 구조 변이체, 및 유전자 복제수 변이(copy number variation)를 나타내는 파일 유형들).
그러한 파일 유형의 일 실시예는 VCF(SNP) 파일 유형이다. VCF는 "변이체 호출 포맷(Variant Call Format)"을 의미한다. 그것은 SNP, INDEL, SV 및 CNV 변이 호출들을 표현하기 위한 표준화된 텍스트 파일 포맷이다. SNP(Single Nucleotide Polymorphism)들은 사람들의 게놈들 중에서 가장 보편적인 유형의 유전자 변이이다. 각각의 SNP는 단일 DNA 빌딩 블록(예컨대, 뉴클레오티드)에서의 차이를 표현한다. 실제로, 이는 널리 사용되는 VCF이다.
파일 유형의 다른 실시예는 VCF(INDEL) 파일 유형이다. INDEL은 DNA에서의 삽입 또는 결실에 대한 분자 생물학 용어이다. 인간 게놈들에서의 INDEL들의 수는 SNP들의 수에 버금간다. INDEL들은 유전학에서 핵심 역할을 할 수 있다.
다른 실시예는 VCF(SV) 파일 유형이다. SV(또는 구조적 변이체(Structural Variant))들은 게놈들 내에서 삽입, 반전, 결실 또는 복제되는 큰 DNA 서열들이다.
다른 실시예는 VCF(CNV) 파일 유형이다. CNV(또는 유전자 복제수 변이)는 특정 유전자의 복제수가 개체마다 달라질 때 나타난다. 일부 암들은 특정 유전자들의 상승된 복제수와 관련이 있는 것으로 여겨진다.
다른 실시예는 BAM 파일 유형이다. 이진 정렬 맵(Binary Alignment Map, BAM)은 게놈 서열분석의 포괄적인 원시 데이터일 수 있고; 그것은 서열 정렬 맵의 무손실 압축된 이진 표현을 포함할 수 있다. BAM 파일은 크기가 약 90 내지 100 기가바이트인 경향이 있다. 그들은 FASQ 파일들을 참조 게놈에 정렬시킴으로써 생성될 수 있다. BAM 파일(.bam)은 SAM 파일의 이진 버전이다. SAM 파일(.sam)은 서열 정렬 데이터를 포함하는 탭-한정 텍스트 파일이다.
다른 실시예는 FASTQ 파일 유형이다. FASTQ 파일들은 수십억 개의 엔트리들을 포함하고, 크기가 약 90 내지 100 기가바이트여서, 그들을 정상적인 텍스트 편집기에서 열기에는 너무 크다. FASTQ 파일들은 궁극적인 원시 데이터일 수 있다.
다른 실시예는 품질 제어 메트릭 파일 유형(예컨대, 리포트)이다. 임의의 정렬 또는 조립을 실행하기 전, 기본 데이터의 품질을 체크하는 것이 가능하다. 품질은 서열분석 프로그램 내에서 체크될 수 있다. 품질 제어 분석은 다수의 상이한 메트릭들을 테스트할 수 있고, 통합된 리포트를 생성할 수 있다. 리포트는 결과들이 불량인지 아니면 중간인지 아니면 양호인지를 나타내기 위해 간단한 카테고리화(예컨대, 적색, 황색, 녹색)를 포함할 수 있다.
실시예 34 - 예시적인 특화된 퍼미션들
본 명세서의 실시예들 중 임의의 실시예에서, 게놈 콘텍스트에 대한 특화된 퍼미션들이 구현될 수 있다. 예를 들어, 퍼미션 입도는 정책 진술문들에서 파일 유형으로 확장될 수 있다. 따라서, 정책은 상이한 테넌트들, 워크그룹들, 사용자들, 또는 애플리케이션 역할들이 상이한 게놈 파일 유형들 또는 상이한 게놈 파일 유형 카테고리들(예컨대, 원시 서열분석 데이터, 조립된 게놈, 참조 게놈, 비교 게놈 분석 등)에 대해 상이한 퍼미션들을 가질 수 있음을 명시할 수 있다.
특화된 소위 "배경" 퍼미션은 판독 액세스를 승인하지 않고서(예컨대, 따라서, 그것은 직접 판독될 수 없음) 애플리케이션들 또는 다른 인프라구조에 의한 리소스(예컨대, 파일 유형)의 활용을 허용할 수 있다. 예를 들어, 참조 게놈에 대한 배경 퍼미션을 승인하는 것은, 참조 게놈 자체에 대한 판독 액세스를 승인하지 않고서, 참조 게놈이 원시 데이터를 조립하거나 단일 뉴클레오티드 다형성들을 결정하거나 또는 다른 상대적 유전체학 분석을 수행하는 데 사용될 수 있게 한다.
덧붙여, 실행가능한 워크플로우들에 대해 특화된 퍼미션들이 특정될 수 있다. 예를 들어, "하이 레벨 실행 전용" 퍼미션은 워크플로우의 세부사항들(예컨대, 기본 해석된 코드)을 드러내거나 워크플로우의 수정을 허용하지 않고서, 워크플로우의 하이 레벨 가시성(예컨대, 단계들, 단계들의 진행, 에러 메시지들 등)을 허용할 수 있다. 따라서, 워크플로우는 그 내부의 모든 사소한 기술적 세부사항들을 드러내지 않고서 테넌트들 간에 공유될 수 있다.
실시예 35 - 예시적인 애플리케이션 구현예들
본 명세서의 실시예들 중 임의의 실시예에서, 애플리케이션이 임상 유전체들과 같은 유전체학 유스케이스들을 용이하게 하는 것에 전념할 수 있다. 예를 들어, 종양학에 대한 클라우드 기반 체외 진단 솔루션이, 샘플 액세스, 해중 실험실(wet lab) 프로토콜(예컨대, 추출, 라이브러리 준비, 인덱싱/풀링), 서열분석, 디멀티플렉싱, 서열분석 품질 대조군, 및 이어서 2차 분석을 지원하여, 결국 리포트를 생성하는 애플리케이션에 구축될 수 있다. 2차 분석은 단일 뉴클레오티드 변이체 등을 검출하는 것과 같은 비교 게놈 분석을 포함할 수 있다.
그러한 애플리케이션은 게놈 데이터의 효율적이고 정확한 수집 및 분석을 허용하기 위해 다양한 서비스들을 조정하고 게놈 데이터의 매니지먼트를 통합할 수 있다. 예를 들어, 게놈 실험실 서비스, 워크플로우 서비스, 이벤트 통지 서비스, 태스크 서비스, 및 게놈 데이터 저장소는 본 명세서에 설명된 공유 환경에서 동작하는 애플리케이션의 조정 하에서 협력하여 작동할 수 있다.
따라서, 테넌트들 또는 외부 서비스 제공자들로서 작동하는 상이한 관계자(actor)들은 본 명세서에 설명된, 설명된 정책 기반 게놈 데이터 공유 기술들을 사용하여 정보를 공유하고 협력할 수 있다.
실시예 36 - 예시적인 스마트 계약 통합
도 18은 본 명세서의 실시예들 중 임의의 실시예에서 정책 문서 기능을 확장하기 위해 구현될 수 있는 정책 기반 공유 플랫폼에의 스마트 계약(1865)의 통합을 보여주는 블록도이다. 정책은 계약을 만족시키는 누구든지 정책을 통해 데이터에 액세스하도록 하는 계약을 지칭할 수 있지만; 반대로, 계약 만족도의 위반 또는 부재는 당사자가 정책을 통해 데이터에 액세스하지 않음을 의미한다. 당사자는 테넌트, 워크그룹 등으로 특정될 수 있다.
본 실시예에서, 플랫폼 인증 서비스 토큰 생성기(1850)는 서명된 액세스 토큰(1872)을 역할 식별자(1874) 및 테넌트 식별자(1876)로 어떻게 생성할지를 결정하기 위해 정책(1860)을 상의한다. 본 명세서에 설명된 바와 같이, 생성기(1850)는 또한, 인입 요청의 하나 이상의 속성들(예컨대, 테넌트 식별자, 애플리케이션 식별자 등)을 상의할 수 있다.
도시된 바와 같이, 정책 문서(1860)는 스마트 계약(1865)을 포함하거나 참조할 수 있다. 스마트 계약(1865) 자체는 하나 이상의 테넌트들(1810A 내지 1810N)에 대한 협정들을 기념하는 블록체인 서비스(1897)를 참조할 수 있다. 그러한 협정들은 테넌트들 사이, 테넌트와 클라우드 서비스 제공자 사이, 테넌트와 제3자 사이, 또는 이들의 일부 조합에 있을 수 있다. 그러한 블록체인 서비스는 협정들의 컨센서스 기반 불변 기록(예컨대, 협정 존재, 협정 레벨, 서비스 레벨 등)과 같은 블록체인 기술들을 이용할 수 있고, 다양한 제공자들 또는 기술들(예컨대, 이더리움(Ethereum) 기반 기능 등) 중 임의의 것으로부터 블록체인 인프라구조에 구축될 수 있다.
플랫폼과 서비스, 테넌트-테넌트 등의 사이의 신뢰 관계들은 서비스(1897)에 의해 나타내진 협정들에 기초하여 정책 문서(1860)의 자동화된 진화를 용이하게 할 수 있는 신뢰 문서들을 통해 확립될 수 있다.
이러한 방식으로, 계약 조건들을 만족시키는 어느 테넌트든 연관된 정책에 특정된 데이터에 액세스하게 된다. 따라서, 자동화된 계약 관리가 제공되어, 계약 조건들(예컨대, 결제, 가입, 또는 다른 조건들)의 만족 시에 계약에 의해 특정된 바와 같은 데이터에 대한 즉각적 액세스를 용이하게 한다.
승인 토큰은 계약의 완료에 기초하여 생성될 수 있고, 액세스 토큰은 연관된 정책을 고려하여 액세스가 요청될 때 생성될 수 있다.
추가 특징으로서, 데이터에 대한 액세스들은 후속 감사 기능을 위해 로깅될 수 있다. 그러한 로그들은 액세스의 날짜 및 시간, 요청 당사자의 식별자, 승인 당사자의 식별자, 및 액세스를 허용하는 정책을 나타낼 수 있으며, 그 자체에는 준수 또는 법적 이유들(예컨대, "당사자 X와 당사자 Y 사이의 2017년 12월 15일의 협정") 등이 주석으로 달릴 수 있다.
실시예 37 - 예시적인 신뢰 문서들
본 명세서의 실시예들 중 임의의 실시예에서, 정책 기반 공유 플랫폼은 신뢰 문서들로서 테넌트들 사이의 신뢰 관계들을 문서화할 수 있다. 예를 들어, 신뢰 문서는 (예컨대, 원점 테넌트, 목적지 테넌트, 동의된 협정 날짜, 및 동의된 메타데이터를 저장함으로써) 신뢰가 다른 테넌트와 확립되었음을 반영하는, 하나의 테넌트에 대한 동의된 협정을 저장할 수 있다.
그러한 신뢰 문서는 테넌트와 데이터를 공유하기 위한 전제 조건으로 강제될 수 있다. 예를 들어, 그러한 시나리오에서, 신뢰 문서에 의해 지원되는 경우에만 정책이 효과를 발휘한다.
실시예 38 - 예시적인 스마트 계약 방법
도 19는 본 명세서의 실시예들 중 임의의 실시예에서 정책 문서 기능을 확장하기 위해 구현될 수 있는 정책 기반 공유 플랫폼에서 스마트 계약을 구현하는 예시적인 방법(1900)의 흐름도이다.
1920에서, 테넌트 협정들은 블록체인 서비스(예컨대, 이더리움 또는 다른 블록체인 인프라구조에 따라 제공됨)에서 반영된다.
1940에서, 협정들 중 하나 이상의 협정에 의해 제어되는 데이터에 액세스하라는 요청이 수신된다. 예를 들어, 협정을 참조하는 정책은 데이터에 대한 준비가 되어 있을 수 있다.
1960에서, 데이터에 액세스하라는 요청은 블록체인 서비스를 참조하여 정책에 기초하여 승인된다.
후속 시점에서, 블록체인 서비스는 테넌트에 대한 협정 변경을 반영하도록 업데이트될 수 있다. 그 결과, 요청은 더 이상 승인되지 않을 수 있거나, 새롭게 승인될 수 있거나, 또는 등등일 수 있다. 다시 말해, 협정에 대한 변경들은 협정을 참조하는 정책에 기초하여 액세스가 승인되는지의 여부에 대한 변경들을 초래할 수 있다.
실시예 39 - 예시적인 공개 유스케이스
도 20은 본 명세서의 실시예들 중 임의의 실시예에서 구현될 수 있는 예시적인 공개 유스케이스(2000)의 흐름도이다. 본 실시예가 "public_access"를 보여주지만, 그러한 사용은 공개 및 테넌트-테넌트 공유 둘 모두를 커버할 수 있고, 도 13 및 도 14의 방법들의 설명과 유사할 수 있다.
액세스 제어 목록들을 갖는 공개 리소스들의 초기 페이즈는 관리 사용자 식별자 또는 프로세스에 의해 구동될 수 있다. 제어용 테넌트(2010)는 공개 콘텐츠(2060)의 공개를 달성하기 위해 아이덴티티 및 액세스 매니지먼트 콘솔(2050), 플랫폼(2052), 및 게놈 데이터 서비스(2054)와 상호작용할 수 있다.
리소스들을 회수하는 후속 페이즈는 다른 테넌트(2020)로부터 사용자 식별자에 의해 구동될 수 있다. 액세스 토큰은 멤버십을 포함할 수 있다(예컨대, 역할 식별자는 멤버십을 나타낼 수 있음). 액세스를 수신하는 것은 실제 액세스를 위해 선택이 이루어질 수 있는 리소스들의 목록을 수신하는 형태를 취할 수 있다.
실시예 40 - 예시적인 승인 토큰
본 명세서의 실시예들 중 임의의 실시예에서, 승인 토큰은 역할 식별자를 리소스(예컨대, 리소스 식별자)와 연관시킬 수 있다. 역할 식별자는 연관된 리소스에 대한 데이터 액세스를 위한 정책 또는 규칙들을 포함하는 정책 아이덴티티로서의 역할을 한다.
예를 들어, 리소스 식별자는 승인 토큰에 포함되거나, 승인 토큰을 리소스 식별자에 맵핑시키는 테이블에서 연관되거나, 또는 다른 방식으로 승인 토큰에 링크될 수 있다.
실시예 41 - 예시적인 외부 서비스 제공자 유스케이스
도 21 및 도 22는 본 명세서의 실시예들 중 임의의 실시예에서 구현될 수 있는 예시적인 외부 서비스 제공자 유스케이스 방법(2100, 2200)의 흐름도들이다. 그러한 유스케이스는 도 15 및 도 16의 방법들의 설명과 유사할 수 있다. 먼저, 외부 서비스 제공자가 (예컨대, 프록시 테넌트로서) 등록되고, 이어서, 외부 서비스 제공자가 시스템에 통합된다(예컨대, 정책 기반 공유는, 판독 액세스든 기록 액세스든 또는 둘 모두이든, 시스템에 대한 외부 서비스 제공자 액세스를 허용하는 데 사용됨).
외부 서비스 제공자 시나리오에서, 단일 정책은 본 명세서에 설명된 바와 같이 공유를 달성할 수 있다. 그러한 정책은 외부 서비스 제공자를 플랫폼 내에 등록하는 동안 정의될 수 있다. 그러한 정책은 외부 서비스 제공자가 어느 테넌트들과 데이터를 공유할 수 있는지와 같은 정보를 포함할 수 있다. 예를 들어, 외부 서비스 제공자가 데이터를 업로드하는 시나리오에서, 정책은 외부 서비스 제공자가 데이터를 업로드할 수 있게 하는 것, 및 액세스 중인 테넌트가 외부 서비스 제공자에 의해 업로드된 데이터에 액세스할 수 있게 하는 것 둘 모두를 할 수 있다.
외부 서비스 제공자에 의해 생성된 데이터는 전용 테넌트(예컨대, "tenant_ESP")로 이동할 수 있고, 플랫폼 관리자는 전용 테넌트가 외부 서비스 제공자 공유를 사용하기를 원하는 테넌트와 데이터를 공유하도록 하기 위한 정책을 정의할 수 있다. 액세스 중인 테넌트가 액세스 토큰을 생성할 때, 토큰은 그들의 액세스 권리들에 기초하여 멤버십들로 인코딩되고, 정책에 특정된 역할 식별자는 테넌트가 정책 기준들을 이행하는 경우에 멤버십들 중 하나로서 동적으로 채워진다.
공유 시나리오들은 외부 서비스 제공자를 수반하는 워크플로우들을 지원하는 데 사용될 수 있다. 개시될 수 있는 전형적인 워크플로우들은 외부 서비스 제공자가 (예컨대, 물리적 바이오샘플의) 분석으로부터 게놈 결과들을 업로드하는 것, 외부 서비스 제공자가 게놈 데이터를 다운로드하고 게놈 데이터를 분석한 결과들을 업로드하는 것(예컨대, 게놈 데이터를 다운로드하고, 게놈 데이터를 외부적으로 프로세싱하고, 분석 결과들을 업로드함) 등이다. 예를 들어, 테넌트는 서열분석 프로세스로부터의 출력(예컨대, FASTQ 파일들과 같은, 판독물 통과 필터링을 위한 품질 정보 및 염기 호출을 포함하는 샘플 파일들)에 기초하여 변이체 리포트를 생성하는 외부 서비스 제공자를 이용하기를 원할 수 있다. 테넌트는 외부 서비스 제공자에 샘플 파일들을 업로드하기 위해 외부 서비스 제공자와 함께 워크플로우를 실행할 수 있다. 업로드 후, 외부 서비스 제공자는 그들의 프로세스를 실행할 수 있고, 테넌트가 이어서 액세스하는 변이체 파일을 생성할 수 있다.
플랫폼은 외부 서비스 제공자의 내부 작업들을 인식할 필요가 없다. 입력 파일이 전송될 수 있고, 외부 서비스 제공자는 파일이 초기에 업로드되었을 때 유래 정책(예컨대, rid:<>)과 공유되는 출력 파일을 생성한다. 본 실시예에서, 외부 서비스 제공자는 리소스(예컨대, 파일 저장 영역)에 대해 판독 및 기록 둘 모두를 할 수 있다.
외부 서비스 제공자를 플랫폼에 등록하는 초기 페이즈는 도 21에 도시되어 있고, 워크그룹 관리자 식별자 또는 프로세스에 의해 구동될 수 있다. 관리자 사용자 식별자(2110)는 플랫폼(2152) 및 외부 서비스 제공자(2156)와 상호작용할 수 있다. 워크플로우 실행 서비스(2153) 및 게놈 데이터 서비스(2154)는 나중에 참가(예컨대, 통합, 액세스, 또는 둘 모두)할 수 있다. 관리자 사용자 식별자(2110)가 플랫폼의 관리자의 것에 대한 것일 수 있지만, 테넌트 관리자 식별자는 원하는 경우 (예컨대, 외부 서비스 제공자들을 등록하고 통합하기 위해) 그러한 권한을 부여받을 수 있다.
후속적으로, 등록 후, 외부 서비스 제공자(2156)의 통합은 외부 서비스 제공자(2156)의 서비스들을 수반하는 워크플로우의 일부로서 제공될 수 있다. 실제로, 데이터는 외부 서비스 제공자(2156)에 대한 프록시 테넌트에 의해 소유될 수 있고, 다른 테넌트들과 공유될 수 있다.
본 실시예에서, 플랫폼 관리자 사용자 식별자(2110)는 외부 서비스 제공자(2156)(예컨대, 외부 서비스 제공자(2156)에 대한 범주들 및 승인들)를 플랫폼(2152)에 등록한다.
이어서, 관리자 사용자 식별자(2110)는 외부 서비스 제공자(2156)를 전용 테넌트(예컨대, 외부 서비스 제공자(2156)에 대한 "Tenant_ESP"와 같은 프록시 테넌트)에 등록한다. 데이터 기록 시나리오에서, 외부 서비스 제공자 프로세싱된 데이터는, 외부 서비스 제공자가 시스템의 완전한 테넌트가 아닐 수 있더라도, 전용 테넌트로 스트리밍될 수 있다.
이어서, 플랫폼 관리자 사용자 식별자(2110)는 테넌트-테넌트 데이터 공유를 가능하게 하는 정책 기반 액세스 제어를 생성할 수 있다. 예를 들어, 프록시 테넌트는 하나 이상의 특정 테넌트들과 데이터를 공유할 수 있다.
외부 서비스 제공자("Tenant_ESP")가 Tenant1과 그의 데이터를 공유할 수 있게 하는 예시적인 정책은 하기와 같다:
Figure pct00001
정책은 역할 식별자 "tenantESP_tenant1_GUID"와 연관된다.
외부 서비스 제공자(tenant_ESP)가 Tenant1_Clinical_Workgroup과 그의 데이터를 공유할 수 있게 하는 예시적인 정책은 하기와 같다:
Figure pct00002
정책은 역할 식별자 "tenantESP_tenant1_GUID"와 연관된다.
등록의 완료 후, 통합은 도 22에 도시된 바와 같이 구현될 수 있는데, 이는 외부 서비스 제공자(2256)에 의해 제공되는 서비스들을 이용하기를 원하는 액세스 중인 테넌트(예컨대, Tenant1)로부터의 사용자 식별자(2220) 및 동일한 당사자들을 수반한다. 예시적인 방법(2200)에서, 액세스 중인 테넌트로부터의 사용자 식별자(2220)는 워크플로우 실행 서비스(2253)로 (예컨대, 외부 서비스 제공자(2256)와 통신하는) 워크플로우 실행 태스크를 개시한다. 예를 들어, 태스크는 제목이 "해석의 수행"일 수 있다. 본 실시예에서, 외부 서비스 제공자(2256)는 액세스 중인 테넌트에 결과들을 제공하며, 여기서 결과들을 제공하는 것은 액세스 중인 테넌트가 그들에 액세스할 수 있는 게놈 데이터 서비스(2254)에 결과들을 업로드하는 것을 포함한다.
워크플로우 실행 서비스(2253)는 프록시 테넌트 식별자(예컨대, "Tenant_ESP")를 사용하여 외부 서비스 제공자(2256)에 대한 승인 토큰을 생성하라는 요청을 전송한다. 토큰은 정책에 따른 액세스 제어 목록들을 포함한다. 플랫폼(2252)은 승인 토큰으로 응답하는데, 이는 하기의 일반적인 형태를 취할 수 있다:
발행자 = 플랫폼
청중 = esp
액세스 제어 목록 = [rid:<>]
테넌트 id = tenant1
멤버십 = {}
이어서, 워크플로우는, 플랫폼 조정자 또는 등록을 수행하기 위해 인가되는 다른 엔티티의 공개 키를 사용하여 외부 서비스 제공자(2256)(토큰의 의도된 청중)에 의해 검증될 수 있는 승인 토큰을 갖는 외부 서비스 제공자(2256)를 호출할 수 있다.
이어서, 외부 서비스 제공자(2256)는 게놈 데이터 서비스(2254)에 대한 액세스 토큰을 생성하라는 요청을 플랫폼(2252)으로 전송하여, 승인 토큰의 액세스 제어 목록 청구로부터 액세스 제어 목록들을 복사할 수 있다. 플랫폼(2252)은 액세스 토큰으로 응답하는데, 이는 하기의 일반적인 형태를 취할 수 있다:
발행자 = 플랫폼
청중 = gds
액세스 제어 목록 = [rid:<>]
멤버십 = {"rid":<>}
테넌트 id = tenant_ESP
이어서, 외부 서비스 제공자(2256)는 액세스 토큰을 사용하여 게놈 데이터 서비스(2254)에 결과들을 업로드할 수 있는데, 이는 게놈 데이터 서비스(2254)(토큰의 의도된 청중)에 의해 검증될 수 있다.
후속적으로, 업로드된 데이터는 사용자 id가 다른 테넌트의 관리자 사용자에 의한 정책을 통해 인에이블된 적절한 멤버십(예컨대, rid:<tenantESP_tenant1_GUID>)을 갖는 경우, 액세스 중인 테넌트(tenant1)의 사용자 id(2220) 또는 액세스 중인 테넌트의 임의의 다른 사용자에 의해 액세스될 수 있다.
액세스 중인 테넌트(tenant1)의 모든 사용자들이 외부 서비스 제공자로부터 프로세싱된 데이터를 볼 수 있게 하는 예시적인 정책은 하기와 같다:
Figure pct00003
정책은 역할 식별자 tenant1_ESP_data_read_access_GUID와 연관된다.
따라서, 외부 서비스 제공자에 의해 업로드된 데이터에 대한 액세스는 본 명세서에 설명된 테넌트-테넌트 정책 기반 공유 기술들을 사용함으로써 달성되며, 여기서 외부 서비스 제공자에게는 프록시 테넌트 식별자가 배정된다.
따라서, 리소스들에 대한 퍼미션 권리들을 갖는 정책의 생성자는 아이덴티티들 및 리소스들의 목록에 대한 임의의 내부 또는 외부 테넌트들에 대한 액세스를 가능하게 할 수 있다.
실시예 42 - 정책의 예시적인 버전 필드
본 명세서의 실시예들 중 임의의 실시예에서, 정책의 버전 필드는 이전 버전에 대한 감사 추적 및 롤백 정책들을 용이하게 하는 데 사용될 수 있다.
실시예 43 - 예시적인 정책들
본 명세서의 실시예들 중 임의의 실시예에서, 공유를 제어하기 위해 정책들이 사용될 수 있다. 상이한 공유 목적들을 달성하기 위해 상이한 정책들이 사용될 수 있다. 하기의 실시예에서, 플랫폼 조정자 "Illumina"는 다양한 정책 기반 공유 시나리오들을 지원하는 플랫폼을 유지한다.
정책들은 공유 리소스들에 대한 액세스를 궁극적으로 제어하는 역할 식별자들과 연관될 수 있다. 정책은 하나 이상의 아이덴티티들(예컨대, 사용자 식별자, 애플리케이션 식별자, 워크그룹 식별자, 그룹 식별자), 범주들(예컨대, 퍼미션들), 및 역할 식별자를 포함할 수 있다(예컨대, 하나의 정책이 다른 정책을 끼워 넣을 수 있음). 정책(rid)은 리소스들에 대한 액세스를 허용하기 위해 리소스들 또는 아이덴티티들과 연관될 수 있다.
예를 들어, 하기의 정책은 특정 애플리케이션("Olympia")을 사용하고 있는 임의의 사용자가 콘텐츠에 액세스할 수 있게 하는 애플리케이션-인에이블된 콘텐츠를 달성할 수 있다:
Figure pct00004
정책은 해당 애플리케이션의 애플리케이션 식별자를 특정하는 필터를 포함함으로써 애플리케이션-인에이블된 콘텐츠를 달성한다. 다른 필터는 액세스를 파일유형 필터에 특정된 소정 파일유형들(예컨대, sam, vcf, bam)로 제한한다. 도시된 바와 같이, 정책은 역할 식별자 "illumina_app_enabled_data"와 연관된다.
다른 실시예에서, 정책은 공개 콘텐츠가 특정된 애플리케이션을 사용하고 있는 익명의 사용자들과 공유될 수 있게 한다:
Figure pct00005
정책은 판독 전용 범주를 특정하고 테넌트 식별자에 대한 와일드카드를 포함함으로써 임의의 사용자와의 판독 전용 공유를 달성한다. 본 실시예에서, 액세스는 정책의 애플리케이션 식별자 필터에서 특정된 애플리케이션("olympia")을 사용하는 사용자들로 제한된다. 그러나, 정책에서 애플리케이션 필터를 제거하는 것은 임의의 사용자에 의한 판독 전용 액세스를 허용할 것이다. 도시된 바와 같이, 정책은 역할 식별자 "illumina_public_data"와 연관된다.
다른 실시예에서, 개인 콘텐츠는 실험실들(워크그룹) lab001 및 Lab002와 공유된다:
Figure pct00006
정책은, 판독 전용 범주를 특정하고 하나 이상의 워크그룹들의 명시적 목록을 포함함으로써 2개의 워크그룹들에서 임의의 사용자와의 판독 전용 공유를 달성한다. 도시된 바와 같이, 정책은 역할 식별자 "illumina_private_shared_data"와 연관된다.
다른 실시예에서, 테넌트 사용자 1은 사용자 식별자 "2"를 갖는 테넌트 2 사용자들과 데이터를 공유한다:
Figure pct00007
본 실시예에서, 정책은 판독 전용 범주를 특정함으로써 그리고 아이덴티티 필드에서 사용자 식별자를 특정함으로써, 특정 사용자 식별자와의 판독 전용 공유를 달성한다. 도시된 바와 같이, 정책은 역할 식별자 "tenant1_private_shared_data"와 연관된다.
다른 실시예에서, tenant1 내의 워크그룹은 제한된 퍼미션들(즉, 판독 파일들 및 기록 파일들만)을 갖는 tenant2 내의 사용자와 데이터를 공유한다:
Figure pct00008
본 실시예에서, 정책은 역할 식별자 "tenant1_workgroup1_private_shared_data"와 연관된다.
또 다른 실시예에서, tenant1 내의 워크그룹은 tenant2 내의 다른 워크그룹과 데이터를 공유한다:
Figure pct00009
본 실시예에서, 정책은 역할 식별자 "tenant1_workgroup1_private_shared_data"와 연관되는데, 이는 이전 실시예로부터 재사용된다. 따라서, 하나 초과의 정책은 역할 식별자와 연관되어, 실제로 액세스를 확장하는 데 사용될 수 있는 적층된 정책들을 허용할 수 있다(예컨대, 정책은 상이한 리소스들에 대한 액세스를 유사한 사용자들에게 승인하기 위해 역할 식별자들에 걸쳐 재사용될 수 있음).
도시된 바와 같이, 다양한 정책들이 다양한 공유 시나리오들을 지원할 수 있다.
실시예 44 - 예시적인 보안 콘텍스트
본 명세서의 실시예들 중 임의의 실시예에서, 역할 식별자(예컨대, 역할 ID, rid 등)는 대안적으로, 보안 콘텍스트 식별자(예컨대, 콘텍스트 ID, cid 등)로서 구현될 수 있다.
실시예 45 - 예시적인 협력 중인 당사자들
본 명세서의 실시예들 중 임의의 실시예에서, 당사자들은 게놈 디지털 데이터를 공유함으로써 플랫폼 상에서 협력할 수 있다. 본 명세서에 설명된 바와 같이, 그러한 당사자들은 워크그룹들, 테넌트들 또는 둘 모두일 수 있다. 협력 중인 워크그룹들은 인트라-테넌트 워크그룹들(예컨대, 하나의 테넌트) 또는 인터-테넌트 워크그룹들일 수 있다(예컨대, 테넌트의 하나 이상의 워크그룹들은 다른 상이한 테넌트의 하나 이상의 워크그룹들과 협력함). 당사자들은 환자, 연구 실험실, 임상 실험실(예컨대, Quest Diagnostics, LabCorp 등), 계약 실험실, 의료 클리닉, 병원, 대학, 전공자, 상담사(예컨대, 유전학 상담사 등), 회사, 게놈 서비스 회사(예컨대, 23AndMe, Ancestry 등), 에이전시(예컨대, 미국 질병관리예방본부, 미국 식품의약국, 유럽 의약청, 중국 식품의약품관리총국, 세계보건기구 등) 등을 포함할 수 있다.
실시예 46 - 예시적인 유스케이스들
본 명세서에 설명된 기술들은 게놈 정보 프로세싱 환경들 및 플랫폼들 상에서 구현되는 매우 다양한 시나리오들 중 임의의 시나리오에서 사용될 수 있다. 예를 들어, 기술들은 협력 중인 당사자들 내에 또는 이들에 걸쳐서 1차 분석, 2차 분석, 및 3차 분석 워크플로우들을 지원할 수 있다. 인트라-분석 협력에 더하여, 교차 분석 협력이 또한 지원될 수 있고, 이에 의해, 3차 분석 결과들의 피드백 루프가 3차 분석 결과들에 기초하여 2차 분석의 재계산을 위해 2차 분석을 수행했던 당사자에게 다시 제공될 수 있다. 본 명세서에 설명된 기술들은 또한, 연구 전용 제약들을 강제하기 위해 또는 입증된 임상 사용들에 대한 진단 목적들을 위한 사용을 제한하기 위해 사용될 수 있다. 또한, 기술들은 프라이버시 및/또는 건강 데이터 레지던시 요건들(예컨대, 미국 건강 보험 이동 및 책임 법령, 유럽 일반 개인정보 보호법, 캘리포니아 소비자 개인정보 보호법 등)의 준수를 보장하도록 구현될 수 있다.
협력 및 공유는 본 명세서에서 설명된 바와 같이, 상기를 지원하는 다양한 워크플로우들 중 임의의 워크플로우에서 게놈 디지털 데이터에 대한 정책 기반 액세스 제어에 의해 용이해질 수 있다. 예를 들어, 테넌트들은 워크플로우에 대해 협력할 수 있고, 워크플로우의 결과들은 하나의 테넌트로부터 다른 테넌트로 전달될 수 있고, 등등일 수 있다.
실시예 47 - 예시적인 유스케이스들: 1차, 2차, 및 3차 분석들
서열분석은 대량의 게놈 디지털 데이터를 생성하며, 그러한 데이터와 연관된 분석 프로세스는 복잡할 수 있다. 시기적절한 방식으로 데이터에서 유의미한 정보를 드러내기 위해 다양한 분석 툴들이 사용될 수 있다. 본 명세서에 설명된 기술들은 분석 툴들 및 관련 워크플로우들의 사용 동안 협력을 가능하게 할 수 있을 뿐만 아니라, 하나의 테넌트로부터의 하나의 워크플로우의 결과들을 다른 테넌트에 제공할 수 있다. 게놈 디지털 데이터 분석 프로세스를 설명하는 한 가지 방식은 분석 프로세스를 3개의 주요 페이즈들, 즉 1차, 2차 및 3차 데이터 분석으로 나눈다. 일부 액션들은 서열분석 기구 상에서 자동으로 수행될 수 있는 반면, 다른 액션들은 서열분석이 완료된 후에 발생한다.
1차 데이터 분석은 서열분석 화학 및 이미징의 사이클들 동안 수행된 분석을 포함할 수 있는데, 이는 염기 호출들, 및 뉴클레오티드 가닥들의 1차 구조를 표현하는 연관된 품질 점수들을 제공한다. 하나의 실시예에서, 1차 데이터 분석의 출력은 뉴클레오티드 가닥들의 클러스터들의 염기 호출들을 나타내는 BCL 염기 호출 파일들이다. 실제로, 그러한 분석은 서열분석 시스템들에 대해 자동으로 수행될 수 있다. 1차 분석의 결과들은, 파일들로 구현되고 2차 분석 동안 추가 프로세싱을 위해 클라우드에 업로드되는 게놈 디지털 데이터의 형태를 취할 수 있다. 협력 및 공유는 본 명세서에 설명된 바와 같은 그러한 게놈 디지털 데이터에 대한 정책 기반 액세스 제어에 의해 용이해질 수 있다. 예를 들어, 하나의 테넌트는 1차 분석을 수행할 수 있고, 2차 분석을 위해 하나 이상의 테넌트들에 결과들에 대한 액세스를 제공할 수 있다.
2차 분석은, 비-정렬된 뉴클레오티드 단편들의 염기 호출들을 표현하는 1차 분석의 결과들을 취할 수 있고, 샘플에 대한 뉴클레오티드 단편들의 염기 호출들의 분석 및 정렬에 의해 전체 서열 또는 서열 범위(예컨대, 유전자)의 결정을 제공할 수 있으며, 이로부터 유전자 변이체들이 결정될 수 있다. 예를 들어, 2차 분석의 출력은 서열 정보 및 품질 점수를 포함하는 FASTQ 파일들의 형태일 수 있다. 그러한 분석은 전형적으로, 뉴클레오티드 단편들의 정렬 및 조립을 수반한다. 전체 서열 또는 서열 범위를 고려하여, 변이체들이 결정될 수 있다. 서열 정렬, 변이체 호출, 데이터 시각화, RNA 서열분석 실험들, 유전자 융합 검출, 총 RNA 발현 프로파일링, 및 메틸화된 염기들의 결정이 또한 수행될 수 있다. 2차 분석 동안 게놈 데이터의 협력 및 공유는 본 명세서에 설명된 바와 같은 게놈 디지털 데이터에 대한 정책 기반 액세스 제어에 의해 용이해질 수 있다. 예를 들어, 하나의 테넌트는 2차 분석을 수행할 수 있고, 3차 분석을 위해 하나 이상의 테넌트들에 결과들에 대한 액세스를 제공할 수 있다.
3차 데이터 분석은 서열 데이터 상의 매우 다양한 생물학적 데이터 마이닝 및 해석 툴들 중 임의의 것을 사용하여 데이터를 지식으로 변환하는 것을 포함할 수 있다. 예를 들어, 변이체 해석 및 진단은 2차 분석의 결과들에 대해 수행될 수 있다. 3차 분석 동안 게놈 데이터의 협력 및 공유는 본 명세서에 설명된 바와 같은 게놈 디지털 데이터에 대한 정책 기반 액세스 제어에 의해 용이해질 수 있다. 예를 들어, 3차 데이터 분석은, 게놈 데이터가 소정 의학적 요법(예컨대, 약물, 방사선 등)에 환자가 반응할 것임을 나타내는지의 여부에 대한 권고를 포함할 수 있다.
실시예 48 - 예시적인 유스케이스들: 인트라-분석 협력
본 명세서의 실시예들 중 임의의 실시예에서, 정책 기반 액세스 제어 기술들은 인트라-분석 협력에 사용될 수 있으며, 여기서 하나 초과의 당사자(예컨대, 테넌트, 워크그룹, 또는 둘 모두)는 일정 페이즈 내에서 분석을 수행하도록 협력한다.
실시예 49 - 예시적인 유스케이스들: 교차-분석 협력
본 명세서의 실시예들 중 임의의 실시예에서, 정책 기반 액세스 제어 기술들은 인트라-분석 협력에 사용될 수 있으며, 여기서 하나 이상의 당사자들(예컨대, 테넌트, 워크그룹, 또는 둘 모두)은 상이한 페이즈에서 후속 분석을 수행하기 위해 하나 이상의 다른 당사자들에 이어서 제공되는 분석을 수행한다.
그러한 경우, 3차 분석 결과들의 피드백 루프는 2차 분석의 재실행에 대한 수정들을 위해 2차 분석을 수행했던 당사자에게 다시 제공될 수 있다. 이어서, (예컨대, 동일한 또는 하나 이상의 다른 당사자들에 의해) 3차 분석이 수정되거나 재실행되도록 2차 분석 결과들이 업데이트될 수 있다.
실시예 50 - 예시적인 유스케이스들 : 정부 기관 승인 기구들 및 테스트들
본 명세서의 실시예들 중 임의의 실시예에서, 정책 기반 액세스 제어 기술들은 정부 기관 승인된 진단 기구들 및/또는 테스트들을 위해 테넌트들에 걸쳐 진단 프로세싱을 구현하는 데 사용될 수 있다. 예를 들어, FDA 승인된 기구들 및/또는 테스트들은 다수의 테넌트들이 수반되고 테스트의 일부로서 데이터를 공유하는 시나리오들에서 이행될 수 있다.
실시예 51 - 예시적인 유스케이스들: 연구 프로세싱
본 명세서에 설명된 바와 같은 액세스 제어는 연구 전용 프로세싱을 강제할 수 있다. 예를 들어, 연구 전용은 데이터의 보안을 보존하면서 게놈 디지털 데이터 공유 시나리오에서 기관 및 지리적 경계들을 가로질러 협력하는 테넌트들 또는 테넌트들 내의 워크그룹들에 의해 이행될 수 있다. 예를 들어, 개별 환자 식별자들에 대한 액세스는 데이터의 프로세싱이 특정 개체와 상관될 수 없도록 제한될 수 있다.
실시예 52 - 예시적인 유스케이스들: 프라이버시 및 데이터 레지던시
또한, 액세스 제어는 프라이버시 및/또는 건강 데이터 레지던시(예컨대, 지리적 위치) 요건들의 준수를 보장하도록 구현될 수 있다. 예를 들어, 연구 시나리오에서, 직접 식별 정보를 갖는 개별 건강 데이터는 차단되거나 제한될 수 있는 한편, 식별용 정보를 갖는 집적된 건강 데이터 세트들은 분석을 위해 제3자 제공자 또는 다른 테넌트에 공개되거나 푸시될 수 있다.
진단 시나리오에서, 직접 식별 정보를 갖는 개별 건강 데이터가 허용될 수 있다.
예를 들어, 액세스 토큰은 토큰이 만료되거나 취소될 때 다른 당사자들(제3자 분석 제공자들)이 더 이상 공유된 데이터에 액세스하지 않음을 보장하기 위해 사용될 수 있다. 취소는 프로세싱의 결론으로 인해 또는 환자 명령들에 의해 수행될 수 있다.
예를 들어, 액세스 토큰은 데이터가 소정 지리적 위치 또는 영역에 상주함을 보장하기 위해 사용될 수 있다.
실시예 53 - 예시적인 이점들
정책 기반 공유 기술들은 다수의 이점들을 초래할 수 있다. 예를 들어, 정책 기반 공유 환경에서 공유가 달성될 수 있는 용이성은 대체적으로 테넌트들 사이의 공유를 장려할 수 있다. 역할 식별자들의 후기 결합 특성으로 인해, 역할들에 대한 사용자들 또는 테넌트들의 포괄적인 맵핑을 저장할 필요가 없다. 대신, 역할들이 실행 시간에 결합될 수 있다. 따라서, 보안 데이터에 대한 전체 저장 요건들이 감소된다.
유사하게, 정책 기반 역할 배정의 유연성은 플랫폼을 재설계하거나 테넌트에 의한 관리를 복잡하게 할 필요 없이 새로운 기준들의 통합을 허용한다.
실행 시간에 역할들을 결합하는 것은 또한 더 정확한 역할 배정을 제공한다. 예를 들어, 테넌트의 상태 또는 서비스 레벨의 변경은 사전-맵핑된 역할들이 재배정되는 일부 기간 이후가 아니라 즉시 반영될 수 있다.
다른 이점은, 실행가능한 워크플로우들이 그러한 워크플로우들이 실행되는 기본 데이터와 함께 공유될 수 있다는 것이다. 따라서, 테넌트는 기본 데이터를 공유할 수 있고, 그러한 기본 데이터에 대해 공유된 워크플로우를 실행할 수 있고, 분석 결과들을 수신할 수 있다. 워크플로우는 외부 서비스 제공자들을 추가로 호출하여, 그러한 기술들 없이는 가능하지 않은 포괄적인 협력 시나리오로 이어질 수 있다.
신뢰 관계들은 본 명세서에 설명된 바와 같이, 서명된 토큰들을 통해 강제될 수 있다. 따라서, 기본 데이터의 보안이 보장되어, 기본 데이터의 보안을 보존하면서 테넌트-테넌트 공유를 가능하게 할 수 있다. 액세스의 감사가 또한 달성될 수 있고, 감사 로그들은 테스트, 보안 또는 준수 목적들을 위해 사용될 수 있다.
소프트웨어 테스트는 또한, 테스트 테넌트를 용이하게 셋업하고 테스트 테넌트와 데이터를 공유함으로써 더 용이하게 달성되어, 테스트 시나리오들 이외의, 이어서 실제 테넌트들로 확장될 수 있는 공유 시나리오들에 대한 개념 증명(proof-of-concept) 및 품질 보증 테스트를 제공할 수 있다.
실시예 54 - 보안 발견 프레임워크를 통한 예시적인 임시 클라우드 제공자 크리덴셜들
도 23은 본 명세서의 실시예들 중 임의의 실시예에서 구현될 수 있는 보안 발견 프레임워크를 통해 임시 클라우드 제공자 크리덴셜들을 제공하는 예시적인 시스템(2300)이다. 본 실시예에서, 하나 이상의 데이터 센터들(2330)에서의 SaaS 플랫폼은 본 명세서에 설명된 바와 같이, 네트워크(2305)를 통한 정책 기반 액세스 제어를 통해 게놈 디지털 데이터 리소스들에 대한 액세스를 조정한다. 도시된 바와 같이, 시스템(2300)은 (예컨대, 애플리케이션들(2350)에 의해) 게놈 컴퓨팅 서비스들에 액세스하는 복수의 테넌트들(2310)을 지원한다. 본 실시예에서, 테넌트들(2310)은 테넌트 식별자들에 의해 식별되고, 사용자 식별자들(2320)에 의해 식별된 사용자들을 포함할 수 있다.
도시되어 있지 않지만, 시스템(2300)은 본 명세서에 설명된 바와 같은 정책 기반 액세스 제어 정의들을 포함하는 정책 저장소를 포함할 수 있다.
플랫폼 인증 서비스(2335)는 플랫폼에 액세스하는 아이덴티티들과 클라우드 제공자들(2390A 내지 2390N)의 클라우드 제공자 계정들 사이의 저장된 맵핑에 액세스할 수 있는 클라우드 제공자 발견 서비스(2340)를 포함한다. 인가 체커(2345)는 본 명세서에 설명된 바와 같이, 보안 액세스를 제공하기 위해 맵핑을 강제할 수 있다.
크리덴셜 매니지먼트 서비스는 클라우드 제공자 계정들의 기본 크리덴셜들로부터 제한된 임시 유래 크리덴셜들을 도출하는 데 사용될 수 있다.
기본 크리덴셜들이 매니징될 수 있게 하고 그리고 정책들이 제한된 임시 유래 크리덴셜들에 대한 액세스를 제어하기 위해 적용될 수 있게 하는 관리 서비스(2358)가 제공된다. 관리 서비스(2358)는 또한, 클라우드 제공자 발견 서비스(2340) 및 인가 체커(2345)에 제공되는 아이덴티티-대-클라우드 제공자 계정 맵핑들을 매니징할 수 있다.
발견 서비스(2340)는 인입 아이덴티티에 기초하여 클라우드 제공자의 세부사항들을 결정할 수 있다. 클라우드 제공자들(2390)에 대한 액세스를 위한 인입 요청들은 관리 서비스(2358)를 통해 구성된 맵핑들에 액세스할 수 있는 인가 체커(2345)에 의해 핸들링될 수 있다.
본 실시예가 사용자 식별자들(2320)을 대신하여 클라우드 제공자들(2390A 내지 2390N)에 액세스하는 애플리케이션들(2350A)을 보여주지만, 실제로, 다른 아이덴티티들은 본 명세서에 설명된 바와 같이 클라우드 제공자들(2390A 내지 2390N)에 액세스할 수 있다.
명시적으로 도시되어 있지 않지만, 크리덴셜 매니지먼트 서비스(2380)는 클라우드 제공자들(2390A 내지 2390N)과 상호작용하여, 크리덴셜들을 얻고 크리덴셜 매니지먼트 기능들을 제공할 수 있다.
실제로, 게놈 디지털 데이터 리소스는 역할 식별자에 링크될 수 있고, 주어진 클라우드 제공자 계정에서 저장될 수 있다. 제한된 임시 유래 크리덴셜들은 게놈 데이터 리소스에 액세스하기 위한 액세스 중인 아이덴티티에 의해 사용될 수 있다.
단일 데이터 센터(2330)가 도시되어 있지만, 실제로, 플랫폼은 컴퓨팅 시스템들을 갖는 복수의 데이터 센터들 간에 분산될 수 있다. 보안, 리던던시, 로드 밸런싱, 리포트 설계 등을 구현하기 위해 추가적인 컴포넌트들이 포함될 수 있다.
실시예 55 - 예시적인 클라우드 제공자들
본 명세서의 실시예들 중 임의의 실시예에서, 다양한 클라우드 서비스 제공자들(또는 간단히 "클라우드 제공자들")이 지원될 수 있다. 실제로, 특정 클라우드 제공자 계정은 제공자 유형과 연관된다. 특정 계정에 대한 기본 크리덴셜들은 액세스를 요청하는 아이덴티티들에 의한 사용을 위해 제한된 임시 유래 크리덴셜들을 생성하기 위해 저장되고 레버리징될 수 있다. 이어서, 저장소와 같은 클라우드 리소스들은 본 명세서에 설명된 바와 같이 플랫폼에 통합될 수 있다.
클라우드 제공자들은, 그들이 클라우드 제공자에 의해 유지되는 하드웨어 및 소프트웨어 인프라구조를 통해 제공되는 리소스들(예컨대, 데이터, 서비스들 등)에 액세스할 수 있게 하는 계정들을 그들의 고객에게 제공한다. 상이한 클라우드 제공자들은 상이한 기술적 이점들, 구성 옵션들, 라이센싱 배열들 등을 갖는 상이한 배열들을 제공할 수 있다. 본 명세서의 실시예에서, 리소스들은 본 명세서에 설명된 게놈 디지털 데이터와 같은 게놈 디지털 데이터 리소스들을 포함할 수 있다.
본 명세서에 설명된 플랫폼은 아이덴티티마다(예컨대, 테넌트마다) 복수의 상이한 클라우드 제공자들 또는 제공자 유형들(예컨대, Amazon Web Services, Microsoft Azure, Bitbucket, GitHub, GitLab, Google Cloud 등)을 지원할 수 있다. 이러한 방식으로, 테넌트들은 플랫폼에 의해 제공되는 게놈 컴퓨팅 서비스들 자체에 여전히 도움이 되면서 그들의 바람직한 클라우드 제공자 계정들을 이용할 수 있다.
그러한 배열은 때때로, "자신의 계정 가져오기(bring your own account)"로 불리는데, 그 이유는 플랫폼이 테넌트들에게 임의의 지원되는 외부 클라우드 제공자를 선택하는 자유를 부여하기 때문이다. 설명된 기술들은 하나 이상의 외부 클라우드 제공자들, 하나 이상의 내부 클라우드 제공자들(예컨대, 플랫폼을 제공하는 동일한 제공자에 의해 제공됨) 또는 외부 및 내부 클라우드 제공자들의 혼합을 지원할 수 있다.
실시예 56 - 예시적인 지원된 아이덴티티들
본 명세서의 실시예들 중 임의의 실시예에서, 임의의 아이덴티티는 본 명세서에 설명된 임시 클라우드 제공자 크리덴셜들을 이용할 수 있다. 아이덴티티는 SaaS 플랫폼에 의해 지원되는 복수의 상이한 아이덴티티 유형들 중 하나일 수 있다. 예를 들어, 지원되는 아이덴티티 유형들은 사용자, 테넌트, 워크그룹, 애플리케이션, 프로젝트 등을 포함할 수 있다. 아이덴티티는 다른 아이덴티티들을 포함하는 멤버십들을 가질 수 있다. 예를 들어, 사용자는 특정 테넌트의 구성원일 수 있다. 아이덴티티들은 지리적 영역과 연관될 수 있다. 예를 들어, 애플리케이션이 호스팅될 때, 그것은 홈 지리적 영역과 연관될 수 있다.
워크그룹 아이덴티티는 클라우드 제공자 계정들에 대한 교차-테넌트 액세스를 용이하게 하기 위해 SaaS 플랫폼의 복수의 테넌트들에 걸쳐 있을 수 있다.
아이덴티티는 전형적으로, 일정 범주 내에서 고유한 식별자에 의해 나타내진다.
상이한 테넌트들에서의 사용자들 사이의 협력은 본 명세서에 설명된 바와 같은 워크그룹들을 구현함으로써 달성될 수 있다. 그러한 교차-테넌트 워크그룹들은 본 명세서에 설명된 바와 같이 단일 클라우드 제공자 계정에 대한 액세스를 공유할 수 있다.
실시예 57 - 예시적인 기본 크리덴셜들
본 명세서의 실시예들 중 임의의 실시예에서, 클라우드 제공자 계정은 본 명세서에 설명된 바와 같은 기본 크리덴셜들을 통해 액세스될 수 있다. 기본 크리덴셜들은 전형적으로, 요구에 따라 추가 크리덴셜들의 생성을 허용하는 루트(root) 크리덴셜들이다. 본 명세서에 설명된 바와 같이, 크리덴셜 매니지먼트 서비스는 지속된 기본 크리덴셜들을 레버리징함으로써 제한된 임시 유래 크리덴셜들을 제공하는 세부사항들을 구현할 수 있다. 실행계획(logistics) 및 프로세스는 상이한 클라우드 제공자 유형들마다 상이할 수 있지만, 계정에 액세스하는 아이덴티티에 대해 여전히 명료할 수 있는데, 그 이유는 세부사항들이 크리덴셜 매니지먼트 서비스에 의해 핸들링되기 때문이다.
본 명세서의 실시예들 중 임의의 실시예에서, 크리덴셜들은 사용자명들, 패스워드들, 토큰들, 서명된 디지털 인증서들 등과 같은 형태들을 취할 수 있다.
실시예 58 - 예시적인 제한된 임시 유래 크리덴셜들
본 명세서의 실시예들 중 임의의 실시예에서, 제한된 임시 유래 크리덴셜들은 클라우드 제공자 계정에 대한 액세스를 제공하기 위해 기본 크리덴셜들로부터 도출될 수 있다. 실제로, 그러한 유래 크리덴셜들은 기본(예컨대, 루트) 크리덴셜들보다 더 제한된 액세스를 제공한다. 예를 들어, 계정에 대한 모든 가능한 액세스 권리들 대신, 제한된 수의 리소스들, 제한된 권리들(예컨대, 판독 전용) 등이 액세스될 수 있다. 유래 크리덴셜들은 또한 일시적으로 만들어질 수 있다(예컨대, 24시간 동안 등에 유효함). 만료 시, 갱신된 크리덴셜이 얻어질 수 있다.
따라서, 본 명세서에 설명된 기술들에 의해 지원되는 입도 레벨은 권리 관점 및 아이덴티티 관점 둘 모두에서 달라질 수 있다. 권리 관점에서, 리소스들에 대한 액세스를 제어하기 위해 상이한 제한된 크리덴셜들이 제공될 수 있다(예컨대, 판독 전용 크리덴셜은 하나의 아이덴티티에 의한 기록들을 방지하고, 상이한 판독-기록 크리덴셜은 다른 아이덴티티에 의한 기록을 허용함). 아이덴티티 측에서는, 상이한 크리덴셜들이, 동일한 제한들을 갖는 경우에도, 제공될 수 있다. 예를 들어, 크리덴셜들 둘 모두가 동일한 레벨의 권리들(예컨대, 판독 전용)을 제공하더라도, 2개의 상이한 유래 크리덴셜들이 2개의 상이한 아이덴티티들에 제공될 수 있다. 그러한 시나리오의 이점은, 하나의 아이덴티티가 손상되는 경우, 크리덴셜들 중 하나의 크리덴셜이 취소되는 한편 다른 크리덴셜을 유지할 수 있다는 것이다. 그리고, 기본 크리덴셜들은 손상되지 않은 채로 유지되는데, 그 이유는 그들이 액세스 중인 아이덴티티들에 제공될 필요가 없기 때문이다.
특정 아이덴티티에 대한 유래 크리덴셜들에서 제공된 권리들의 번들은 (예컨대, 아이덴티티, 아이덴티티 멤버십들 등에 기초하여) 본 명세서에 설명된 정책 기반 액세스 제어 기술들에 의해 제어될 수 있다. 영역 태그들과 같은 특징부들이 특정된(지리적) 영역들에 대한 액세스를 제한하도록 지원될 수 있다.
다른 유스케이스는 사물 인터넷(Internet-of-things, IoT) 시나리오이다. 상이한 유래 크리덴셜들은, 그것이 손상되는 경우에 위험이 단일 디바이스로 제한되도록, 상이한 IoT 디바이스들에 제공될 수 있다. 이러한 방식으로, 기본 크리덴셜들의 기밀성을 유지하면서 다양한 아이덴티티들에 대해 액세스가 제공될 수 있다.
따라서, 판독, 기록, 실행과 같은 권리들은 원하는 대로 제어되고 매니징될 수 있다.
실제로, 유래 크리덴셜들은, 하나 초과의 기관에 의해 생성되고 인식될 수 있는 연합된 토큰(예컨대, 하나의 기관이 다른 신뢰받는 기관으로부터의 인가와 함께 생성함)의 형태를 취할 수 있다.
실시예 59 - 예시적인 크리덴셜 매니지먼트 서비스
본 명세서의 실시예들 중 임의의 실시예에서, 크리덴셜 매니지먼트 서비스는 클라우드 제공자 계정들의 기본 크리덴셜들을 매니징하는 데 사용될 수 있다. 그러한 서비스는 (예컨대, 마이크로서비스(microservice)로서) SaaS 플랫폼에 대해 내부적인 것일 수 있거나, 또는 (예컨대, Vault 서비스, Centrify 서비스 등으로서) 외부적으로 구현될 수 있다.
크리덴셜 매니지먼트 서비스는 기본 크리덴셜들을 저장할 수 있고, 이어서, 본 명세서에 설명된 바와 같은 인가 체커에 의해 요청된 바와 같이(예컨대, 정의된 정책들에 따라), 제한된 임시 유래 크리덴셜들을 생성할 수 있다.
실시예 60 - 임시 클라우드 제공자 크리덴셜들을 제공하는 예시적인 방법
도 24는 임시 제한된 유래 크리덴셜들을 제공하는 예시적인 전체 방법(2400)의 흐름도이다.
2410에서, 클라우드 제공자 계정들이 매니징되고; 매니지먼트는 클라우드 제공자 계정들에 대한 기본 크리덴셜들을 저장하는 것(2420)을 포함한다. 본 명세서에 설명된 바와 같이, 그러한 기본 크리덴셜들은 추가 (유래) 크리덴셜들을 생성하는 데 사용될 수 있다.
후속적으로, 2430에서, 클라우드 제공자는 기본 크리덴셜들로부터 도출된 제한된 임시 유래 크리덴셜들을 통해 액세스될 수 있다. 예를 들어, 게놈 디지털 데이터는 클라우드 제공자 계정으로부터 판독되고 그에 저장될 수 있다. 일부 경우들에 있어서, 클라우드 제공자 계정은 클라우드 제공자에 의해, 사용자 아이덴티티가 구성원이지만 다른 아이덴티들이 지원될 수 있는 테넌트에 제공될 수 있다. 이러한 방식으로, 서비스들은 저장된 기본 크리덴셜들을 레버리징하여, 설명된 기술들을 구현하는 플랫폼에 클라우드 제공자 계정들을 통합할 수 있다.
그 결과, 플랫폼은 네트워크 보안을 유지하면서 사용자에게 명료하게 클라우드 제공자 유형들에 걸쳐 매끄럽게 작동할 수 있다.
실시예 61 - 플랫폼을 위한 클라우드 제공자 계정들을 매니징하는 예시적인 방법
도 25는 임시 제한된 유래 크리덴셜들을 제공하기 위해 클라우드 제공자 계정들을 매니징하는 예시적인 방법(2500)의 흐름도이다. 본 실시예에서, 2520에서, 관리 사용자 아이덴티티는 크리덴셜 매니저에 액세스하여 플랫폼 내의 클라우드 제공자 계정들을 매니징한다.
2540에서, 크리덴셜 매니저는 클라우드 제공자 계정에 대한 기본 크리덴셜들을 수신한다. 클라우드 제공자 계정의 다른 세부사항들은 본 명세서에 설명된 바와 같이 수신될 수 있다.
2550에서, 기본 크리덴셜들은 크리덴셜 매니지먼트 서비스로 지속된다. 지속성은 계정의 세부사항들을 저장하는 것, 및 본 명세서에 설명된 바와 같이 계정과 아이덴티티 사이에 맵핑을 저장하는 것을 포함할 수 있다. 크리덴셜 매니지먼트 정책들은 저장되어 크리덴셜들과 연관될 수 있고, 회전, 임대차 기간 등으로서 구현하는 데 사용될 수 있다.
실시예 62 - 플랫폼을 위한 클라우드 제공자 계정들을 매니징하는 예시적인 세부사항들
도 26은 임시 제한된 유래 크리덴셜들을 제공하기 위해 클라우드 제공자 계정들을 매니징하는 방법(2600)의 예시적인 구현예의 순서도이다. 본 실시예에서, 테넌트 관리자 아이덴티티는 클라우드 제공자 크리덴셜들을 구성하고 매니징하기 위해 관리 콘솔(IAM)(2650)에 액세스한다. 기본 레벨에서, 특정 클라우드 제공자 계정의 크리덴셜들은 관리 콘솔(2650)에 제공될 수 있다.
관리자들은 테넌트 이외의 레벨들로부터 나올 수 있다. 예를 들어, 워크그룹 관리자는 관리 콘솔(2650)에 액세스할 수 있다. 관리자들은 계층구조(예컨대, platform.tenant.credmgmt, platform.workgroup.credmgmt 등) 내의 그룹에 의해 식별될 수 있고; 그룹의 구성원들은 기본 크리덴셜들을 매니징하도록 허용된다. 본 명세서에 설명된 바와 같이, 임의의 수의 클라우드 제공자 유형들이 지원될 수 있고, 유형을 포함한 세부사항들이 매니지먼트의 일부로서 수집될 수 있다.
관리 콘솔(2650)은 플랫폼 인증 서비스(2660)에 대한 보안 애플리케이션 프로그래밍 인터페이스(API) 호출을 행하여, 인가 체크(2665)의 대상체인 크리덴셜 매니지먼트 서비스(2670)와 함께 기본 크리덴셜들을 저장할 수 있다. API 호출은, 나중에 클라우드 제공자 발견을 위해 사용될 수 있는 클라우드 제공자의 유형(예컨대, "/Credentials?type=<AWS>")을 나타내는 정보를 포함할 수 있다.
이어서, 크리덴셜들은 본 명세서에 설명된 바와 같은 크리덴셜 매니지먼트 정책들과 함께 크리덴셜 매니지먼트 서비스(2670)로 지속될 수 있다.
실시예 63 - 예시적인 크리덴셜 매니지먼트 정책들
본 명세서의 실시예들 중 임의의 실시예에서, 크리덴셜 매니지먼트 정책들은 크리덴셜들이 기본 크리덴셜들로부터 도출되는 방법을 구성하도록 기본 크리덴셜들과 함께 저장될 수 있다. 그러한 정책들은 (예컨대, 크리덴셜 수명을 감소시키기 위한) 회전, 임대차 기간(예컨대, 임시 크리덴셜의 유효 기간) 등을 포함할 수 있다.
예를 들어, 유래 크리덴셜들은 제한된 기간 후(예컨대, 24시간 후 등) 자동으로 만료되도록 설정될 수 있다.
실시예 64 - 제한된 임시 유래 크리덴셜들을 제공하는 예시적인 방법
도 27은 제한된 임시 유래 크리덴셜들을 제공하는 예시적인 방법(2700)의 흐름도이다. 기본적으로, 방법(2700)은 상기에서 설명된 클라우드 제공자 계정 매니지먼트를 통해 제공된 기본 크리덴셜들을 레버리징하여, 클라우드 제공자들에 액세스하는 아이덴티티들에 의한 사용을 위해 제한된 임시 유래 크리덴셜들을 생성한다. 본 방법(2700)은 정책 기반 액세스 제어를 통해 게놈 디지털 데이터 리소스들에 대한 액세스를 조정하는 SaaS 플랫폼에서 게놈 컴퓨팅 서비스들에 액세스하는 복수의 테넌트들을 지원하는 컴퓨팅 시스템에서 수행될 수 있다.
방법(2700)은 액세스를 위해 특정 요청에 응답하여 수행되거나 액세스 전에 미리 셋업될 수 있다.
일부 지점에서, 클라우드 제공자 계정의 리소스들에 대한 액세스를 승인하기 위해 아이덴티티 대신에 요청이 수신된다. 예를 들어, 아이덴티티는, 아이덴티티에 맵핑되는 클라우드 제공자 계정에 의해 제어되는 클라우드 제공자에서의 리소스들에 대한 액세스를 모색할 수 있다. 실제로, 아이덴티티는 클라우드 제공자 리소스들에 대한 액세스를 수반하는 태스크 또는 애플리케이션을 개시할 수 있으며, 아이덴티티를 대신하여 액세스가 모색되거나 또는 태스크 또는 애플리케이션의 아이덴티티를 사용하여 액세스가 모색될 수 있다.
본 실시예에서, 2740에서, SaaS 플랫폼에 액세스하는 아이덴티티에 기초하여 클라우드 제공자 세부사항들(예컨대, 계정)이 발견된다. 예를 들어, 계정 식별자, 클라우드 제공자 식별자, 클라우드 제공자 유형, 클라우드 제공자 액세스 정보 등은 플랫폼 인증 서비스의 일부로서 제공되는 마이크로서비스 또는 보안 API를 통해 발견될 수 있다. 본 명세서에 설명된 바와 같이, SaaS 플랫폼은 복수의 클라우드 제공자 유형들에 대한 제한된 임시 크리덴셜들을 지원한다. 리소스 기반 접근법에서, 어느 클라우드 서비스 세부사항들이 사용될 것인지를 결정하기 위해 리소스 식별자가 (예컨대, 아이덴티티와 협력하여) 사용될 수 있다.
제한된 임시 유래 크리덴셜들에 대한 요청이 수신될 수 있다. 본 명세서에 설명된 바와 같이, 그러한 크리덴셜들은 클라우드 서비스 계정의 기본 크리덴셜들을 통해 도출될 수 있고, 클라우드 서비스 계정의 리소스들에 대한 액세스를 제공할 수 있다. 그러한 액세스는 구성 동안 셋업된 역할 기반 정책들에 따라 제한될 수 있다. 예를 들어, 요청 중인 아이덴티티는 제한된 권리들을 갖는 역할과 연관될 수 있다. 단일 클라우드 서비스 계정이 (예컨대, 아이덴티티로부터 클라우드 서비스 계정으로의 맵핑을 통해) 요청 중인 아이덴티티에 기초하여 나타내질 수 있지만, 리소스 기반 접근법은 아이덴티티 기반 접근법 대신에 또는 이에 더하여 사용될 수 있다. 예를 들어, 리소스 식별자가 요청의 일부로서 포함될 수 있고, 클라우드 서비스 계정들에 대한 리소스 식별자들의 맵핑이 유지될 수 있다. 따라서, 발견 프레임워크는 요청에서 특정된 리소스 식별자에 기초하여 어느 클라우드 서비스 세부사항들이 사용될 것인지를 결정할 수 있다.
2750에서, 클라우드 제공자 계정에 대해 유효한 제한된 임시 유래 크리덴셜들에 대한 요청은 크리덴셜 매니지먼트 서비스에 전송(예컨대, 위임)된다. 요청은 허용된 액세스 레벨(예컨대, 이는 정책 기반 액세스 제어를 강제하도록 구성된 정책들에 의해 허용되는 그러한 권리들로 제한될 수 있음)을 포함할 수 있다. 따라서, 정책 기반 액세스 제어는 (예컨대, 런타임에) 평가될 수 있는 정책들에 의해 특정된 제약들을 유지하면서, 본 명세서에 설명된 제한된 임시 유래 크리덴셜들을 지원하는 환경에서 액세스가 제어될 수 있게 하는 유연한 인프라구조로서의 역할을 할 수 있다.
이에 응답하여, 2760에서, 클라우드 제공자 계정에 대해 유효한 제한된 임시 유래 크리덴셜들이 구성 동안 설정된 크리덴셜 매니지먼트 정책들에 기초하여 크리덴셜 매니지먼트 서비스로부터 수신된다. 그러한 크리덴셜들은 클라우드 제공자 계정에 대해 유효하고, 구성된 바와 같은 허용된 액세스 레벨을 제공한다. 회전 및 임대차 기간과 같은 옵션들은 구성된 바와 같은 크리덴셜 매니지먼트 서비스에 의해 구현될 수 있다. 크리덴셜들은 정책 기반 액세스 제어를 강제하도록 구성된 정책들에 의해 허용되는 그러한 권리들로 제한될 수 있다. 본 명세서에 설명된 바와 같이, 크리덴셜들은 클라우드 제공자 계정에 대해 이전에 수신되었던 기본 크리덴셜들로부터 도출될 수 있다.
2770에서, 액세스 중인 아이덴티티에 의한 사용을 위해 클라우드 제공자 계정에 대해 유효한 제한된 임시 유래 크리덴셜들이 제공된다.
2780에서, 클라우드 제공자 계정의 리소스들은 (예컨대, 액세스 중인 아이덴티티에 의해 또는 이를 대신하여) 제한된 임시 유래 크리덴셜들을 통해 액세스된다. 그러한 액세스는 본 명세서에 설명된 정책 기반 액세스 제어에 따라 제한될 수 있다. 본 명세서에 언급된 바와 같이, 크리덴셜들은 전형적으로, 일시적으로 제공되고 결국 만료된다. 갱신된 크리덴셜들은 재인증함으로써 얻어질 수 있다.
본 명세서에 설명된 바와 같이, SaaS 플랫폼은 단일 테넌트마다 다수의 상이한 클라우드 제공자들을 지원할 수 있다. 또한, 플랫폼은 단일 테넌트마다 다수의 상이한 클라우드 제공자 계정들을 지원할 수 있다.
실시예 65 - 예시적인 리소스 입도 구현예
본 명세서의 실시예들 중 임의의 실시예에서, 리소스 식별자는 제한된 임시 유래 크리덴셜들에 대한 요청의 일부로서 제공될 수 있다. 리소스 식별자들과 클라우드 제공자 계정들 사이의 맵핑이 유지될 수 있다. 이어서, 리소스 식별자는 클라우드 제공자 계정에 맵핑될 수 있고, 클라우드 제공자 계정에 대한 제한된 임시 유래 크리덴셜들은 요청에 응답하여 제공될 수 있다. 그러한 구현예에서, 복수의 상이한 클라우드 제공자 계정들(및/또는 클라우드 제공자 유형들)은 리소스에 따라 단일 테넌트마다 지원될 수 있다.
실시예 66 - 제한된 임시 유래 크리덴셜들을 제공하는 예시적인 세부사항들
도 28은 제한된 임시 유래 크리덴셜들을 제공하는 방법(2800)의 예시적인 구현예의 순서도이다. 방법(2800)은 본 명세서에 설명된 클라우드 크리덴셜 기술들을 레버리징하기 위해 다양한 서비스들 중 임의의 서비스에 의해 사용될 수 있다.
본 실시예에서, 사용자 아이덴티티(2810)는 유전체학 분석 서비스(2850) 및 플랫폼 인증 서비스(2860)를 포함하는 SaaS 플랫폼에 액세스하고 있다. 본 실시예에서, 크리덴셜 매니지먼트 서비스(2870)는 플랫폼의 외부에 있지만, 대안적으로, 플랫폼의 내부로서 구현될 수 있다.
워크플로우 실행 서비스를 개시하는 것의 일부로서, 사용자 아이덴티티(2810)는 워크그룹, 테넌트, 프록시 테넌트(예컨대, 외부의 제3자 제공자), 프로젝트 등과 같은 멤버십들을 나타내는 서명된 액세스 토큰(2815)(예컨대, JSON 웹 토큰 등)을 제공할 수 있다. 본 실시예에서, 분석 서비스(예컨대, Illumina Analysis Pipeline 또는 다른 서비스)는 토큰(2815)을 수신하고, 클라우드 서비스 세부사항들에 대한 요청을 플랫폼 인증 서비스(2860)의 발견 서비스(2865)로 전송하도록 진행한다.
발견 서비스(2865)는 이에 응답하여 클라우드 제공자 세부사항들(2855)을 제공할 수 있다. 그러한 세부사항들(2855)은 클라우드 제공자 유형, 계정 명칭, 접속 세부사항들 등을 포함할 수 있다. 세부사항들(2855)은 테넌트, 워크그룹 등과 같은 사용자 아이덴티티(2810)의 멤버십들에 기초할 수 있다. 예를 들어, 발견 서비스(2865)는 테넌트와 클라우드 제공자 계정 사이의 맵핑을 상의하여, 테넌트가 특정 클라우드 제공자 계정을 사용한다고 결정할 수 있다. 그러나, 본 명세서에 설명된 바와 같이, 더 미세한 입도가 제공될 수 있다(예컨대, 워크그룹 또는 심지어 사용자로부터 특정 클라우드 제공자 계정으로의 맵핑). 따라서, 테넌트마다, 워크그룹마다, 또는 사용자마다의 클라우드 제공자 계정 구성이 지원될 수 있다. 상이한 클라우드 제공자 계정 유형들이 지원될 수 있고, 교차-테넌트 시나리오들이 지원될 수 있다(예컨대, 워크그룹은 2개의 상이한 테넌트들의 구성원들을 가지며, 워크그룹의 구성원들은 동일한 클라우드 제공자 계정에 액세스함).
이어서, 서비스(2850)는, 액세스가 허용되는지의 여부를 검증한 다음, 어떤 레벨의 액세스가 허용되는지를 나타내는 역할 기반 정책들에 따라 요청을 크리덴셜 매니지먼트 서비스(2870)에 위임하는 인가 체커(2868)로부터 크리덴셜들을 요청할 수 있다.
이어서, 크리덴셜 매니지먼트 서비스(2870)는 본 명세서에 설명된 바와 같이 제한된 임시 유래 크리덴셜들(2875)을 생성한다. 실제로, 크리덴셜 매니지먼트 서비스(2870)는 크리덴셜 매니지먼트 서비스(2870)에서 구성된 정책들에 따라 제한된 임시 유래 크리덴셜들을 생성하기 위해 클라우드 제공자(2890)와 함께 작동할 수 있다. 회전, 임대차 등과 같은 특징들은 크리덴셜 매니지먼트 서비스(2870)에 대해 구성된 정책들에 따라 지원될 수 있다. 이어서, 그러한 크리덴셜들(2875)은 이들을 요청 중인 서비스(2850)로 중계하는 플랫폼 인증 서비스(2860)에 다시 전달된다.
이어서, 제한된 임시 유래 크리덴셜들(2875)을 사용하여, 서비스(2850)는 클라우드 제공자(2890)에서 데이터 또는 다른 리소스들에 액세스할 수 있다.
본 실시예가 사용자 아이덴티티에 의한 요청을 보여주지만, 실제로, 테넌트들, 워크그룹들, 프로젝트들, 또는 애플리케이션들과 같은 아이덴티티들이 또한, 본 명세서에 설명된 바와 같이 지원될 수 있다.
실시예 67 - 예시적인 클라우드 제공자 맵핑
도 29는 예시적인 클라우드 제공자 맵핑(2900)의 블록도이다. 본 실시예에서, 아이덴티티들은 상이한 클라우드 제공자 유형들의 것일 수 있는 클라우드 제공자들(2990W 내지 2990Z)에 맵핑된다. 도시되어 있지 않지만, 맵핑은 클라우드 제공자 상의 특정 계정과 같은 추가 세부사항들을 제공할 수 있다.
도시된 바와 같이, 특정 테넌트 아이덴티티(2910N)는 특정 클라우드 제공자(2990Z)에 맵핑될 수 있다. 애플리케이션 아이덴티티(2920)는 특정 클라우드 제공자(2990X)에 맵핑될 수 있다.
입도의 레벨은 워크그룹 레벨에 있을 수 있으며, 따라서, 동일한 테넌트(2910A)의 상이한 워크그룹들(2915J, 2915K)은 상이한 클라우드 제공자들(2990W, 2990X)에 맵핑된다. 또한, 교차-테넌트 워크그룹 아이덴티티(2915K)가 클라우드 제공자(2990W)에 맵핑되도록 교차-테넌트 상황이 지원될 수 있다.
사용자들, 프로젝트들, 또는 프록시 테넌트들(예컨대, 본 명세서에 설명된 바와 같은 외부 제3자 테넌트들)과 같은 다른 아이덴티티들이 맵핑될 수 있다.
실제로, 맵핑(2900)은 식별자들을 클라우드 제공자들과 연관시키는 테이블로서 구현될 수 있다. 워크그룹 맵핑이 디폴트 테넌트 맵핑 등을 오버라이딩하도록 우선권이 관찰될 수 있다.
그러한 맵핑은 액세스를 요청하는 주어진 아이덴티티에 대한 추가 세부사항들 및 클라우드 제공자를 결정하기 위해 발견 동안 사용될 수 있다.
실시예 68 - 예시적인 사용자 인터페이스
도 30은 제한된 임시 유래 크리덴셜 매니지먼트를 제공하는 크리덴셜 매니지먼트 툴의 예시적인 사용자 인터페이스의 스크린샷(3000)이다. 본 실시예에서, 윈도우(3050)는 관리 사용자가 특정 테넌트(3015A)에 대한 클라우드 제공자 세부사항들을 제공할 수 있게 한다. 도시된 바와 같이, 클라우드 제공자 유형, 클라우드 제공자 명칭, 액세스 키, 및 비밀 키가 지원된다. 실제로, 상이한 배열들이 제공될 수 있고, 클라우드 제공자 유형별로 상이할 수 있다.
관례상, 특정 테넌트에 대한 디폴트 정보가 도시되어 있다. 그러나, 다른 제공자 정보는 (예컨대, 워크그룹 추가(3015B) 버튼을 사용하여) 워크그룹마다 제공될 수 있다.
실시예 69 - 예시적인 크리덴셜 객체
도 31은 기본 크리덴셜들에 대한 예시적인 크리덴셜 객체(3100)의 블록도이다. 그러한 객체(3100)는 플랫폼 인증 서비스에서 크리덴셜 정보를 지속시키는 데 사용될 수 있다. 본 실시예에서, 크리덴셜 객체(3100)는 크리덴셜들에 대한 클라우드 제공자의 유형을 나타내는 값을 갖는 클라우드 제공자 유형, 크리덴셜 객체(3100)의 인스턴스가 고유한(예컨대, 사용자 친화적) 식별자를 가질 수 있게 하는 크리덴셜 명칭(3120), 및 아이덴티티 클러스터(3130)를 포함한다. 아이덴티티 클러스터(3130)는 아이덴티티 유형 및 아이덴티티 식별자 둘 모두를 포함할 수 있다. 예를 들어, 아이덴티티 유형은 테넌트, 워크그룹, 프로젝트, 애플리케이션, 사용자 등을 나타낼 수 있고, 아이덴티티 식별자는 아이덴티티를 고유하게 식별할 수 있다.
기본 크리덴셜 저장소(3150)는 액세스 키(3155), 비밀 키(3157) 등과 같은 기본 크리덴셜들을 저장할 수 있다. 실제로, 저장소(3150)는 JSON 객체로서 구현될 수 있다.
간단한 구현예에서, 상이한 테넌트들에 대한 상이한 클라우드 제공자 계정들을 제공하기 위해 테넌트마다 크리덴셜 객체가 지속될 수 있다. 그러나, 테넌트당(예컨대, 워크그룹, 사용자 등당) 복수의 객체들(3100)을 허용하는 더 미세한 미립화된 입도가 구현될 수 있다. 본 명세서에 설명된 바와 같이, 애플리케이션은 그 자체의 크리덴셜 객체(3100)를 가질 수 있다.
예시적인 크리덴셜 객체(3100)는 하기의 형태를 취할 수 있다:
Figure pct00010
여기서,
유형 = 크리덴셜의 유형
명칭 = 용이한 룩업을 위한 사용자 정의된 크리덴셜 명칭
비밀 = 실제 크리덴셜 정보를 갖는 JSON 객체
아이덴티티 포맷 = tid:tenantID, wid:workgroupId, uid:userId, aid:appID
Figure pct00011
실시예 70 - 예시적인 유스케이스: 게놈 분석 파이프라인
본 명세서의 실시예들 중 임의의 실시예에서, 예시적인 유스케이스는 게놈 분석 파이프라인 애플리케이션이다. 실제로, 실행 파라미터들의 세트가 게놈 분석 파이프라인에 제출된다. 연합 층들은 플랫폼들에 걸쳐 이해되는 글로벌 이벤트들을 사용할 수 있다. 기본 유스케이스는 실행 파라미터들과 연관된 아이덴티티 정보를 보는 것이다. 따라서, 예를 들어, 클라우드 제공자 계정을 찾고 워크그룹과 연관된 계정의 루트 크리덴셜들로부터 도출된 제한된 임시 유래 크리덴셜들을 생성하기 위해, 그리고 워크그룹과 연관된 클라우드 제공자 계정에 액세스하도록 파이프라인 조정자에 의한 사용을 위해 그러한 크리덴셜들을 반환하기 위해, 실행과 연관된 워크그룹 아이덴티티 정보가 사용될 수 있다.
실제로, 접근법은 파이프라인에 파라미터들을 공급함으로써 게놈 분석 파이프라인을 개시할 수 있고, 그러한 파라미터들은 그 자체가 애플리케이션에 대한 입력들일 수 있다. 예시적인 파라미터는 리소스 명칭이다. 이어서, 애플리케이션은 입력 파라미터들에 특정된 리소스에 액세스하기 위한 크리덴셜들을 요청한다. 리소스는 일부 지리적 위치에 위치된 파일일 수 있다. 애플리케이션이 리소스에 대한 크리덴셜들을 요청할 때, 발견 프레임워크는 본 명세서에 설명된 바와 같이 제한된 임시 유래 크리덴셜들을 제공할 수 있고, 이에 의해 리소스가 액세스될 수 있게 한다. 그러한 크리덴셜들은 요청 시간에 (예컨대, 정책 기반 액세스 제어에 의해) 인가가 나타내지는 경우에만 제공된다. 지역적 제약들이 본 명세서에 설명된 바와 같이 부과될 수 있다.
본 명세서의 실시예들 중 임의의 실시예에서, 크리덴셜들에 대한 요청은 리소스 식별자를 포함할 수 있다. 따라서, 상이한 리소스들이 상이한 클라우드 서비스 계정들에 맵핑될 수 있고, 그에 따라 요청이 프로세싱될 수 있다.
기본 구현예는 워크그룹을 단일 클라우드 서비스 계정 및 단일 영역에 맵핑시킬 수 있다. 다수의 영역들은 법적 및 조직적 준수의 복잡도들을 추가시킬 수 있다.
실시예 71 - 예시적인 유스케이스: 하이브리드 데이터 소스들
본 명세서의 실시예들 중 임의의 실시예에서, 게놈 분석은 클라우드 제공자 계정들 및 로컬(예컨대, 온-프레미스(on-premises)) 계정들 둘 모두로부터의 디지털 리소스들로 진행될 수 있다.
하이브리드 영역들은 또한, 게놈 분석이, 요청이 유래된 곳 또는 2개의 상이한 영역들과는 상이한 영역에서 유지되는 디지털 리소스들로 진행할 수 있도록 지원될 수 있다. 비인가 또는 허용불가능한 영역들에 대한 액세스를 방지하기 위해 영역 제약들이 이행될 수 있다.
실시예 72 - 예시적인 아이덴티티 계층구조
도 32는 예시적인 아이덴티티 계층구조(3200)의 블록도이다. 계층구조의 상단에는 글로벌 관리자들(3215K)과 연관될 수 있는 플랫폼 글로벌 관리 콘솔 아이덴티티(3210)가 있다. 글로벌 관리 콘솔 아이덴티티(3210)는 새로운 아이덴티티들을 생성하는 것을 포함한, 매우 다양한 액션들을 수행할 수 있다.
테넌트 아이덴티티(3220A, 3220B)는 테넌트 관리자들(3225A, 3225B)과 연관되고, 테넌트(예컨대, 워크그룹들, 사용자들 등) 내에 새로운 아이덴티티를 생성하는 것을 포함하여 특정 테넌트에 대한 매우 다양한 액션들을 수행할 수 있다.
다음 레벨은 특정 워크그룹에 대한 액션들을 수행할 수 있는 워크그룹 관리자들(3235A 내지 3235N)과 연관된 워크그룹 아이덴티티(3230A 내지 3230N)이다.
이어서, 사용자 아이덴티티들(3240A 내지 3240N)이 있다.
별개로, 고객 대면 애플리케이션(3292A, 3292B), 내부 애플리케이션(3297) 등을 포함할 수 있는 플랫폼 아이덴티티들(3290)이 있을 수 있다. 그러한 아이덴티티들은 (예컨대, 애플리케이션을 개시하는 아이덴티티와 관계없이) 클라우드 제공자들에 액세스할 때 애플리케이션들에 의해 사용될 수 있다.
실제로, 특정 사용자는 워크그룹, 테넌트, 또는 글로벌 레벨에서의 관리자일 수 있다. 실제로, 특정 테넌트들의 데이터에 직접 액세스하지 않도록 글로벌 관리자들(3215K)(또는 이들 중 소정의 글로벌 관리자들)을 위해 특수한 보호들이 이행될 수 있다.
크리덴셜 특징들에 대한 액세스를 제어하기 위해 하기의 계층구조가 구현될 수 있다:
Figure pct00012
실시예 73 - 정책들과의 예시적인 통합
본 명세서의 실시예들 중 임의의 실시예에서, 본 명세서에 설명된 제한된 임시 유래 크리덴셜 특징들은 본 명세서에 설명된 정책 기반 액세스 제어 특징들과 통합될 수 있다. 예를 들어, 클라우드 제공자에서 저장된 리소스들을 식별하는 리소스 식별자들에 대한 액세스를 제어하기 위해 정책들이 생성될 수 있다.
사용자 관점에서, 리소스가 클라우드 제공자에서 저장된다는 사실은 명료할 수 있다. 동일한 기능 및 동일한 인증 프로세스가 지원될 수 있다. 그러나, 클라우드 제공자에 의해 특수 인증이 요구되는 경우(예컨대, 2-인자 인증), 그것은 특정 클라우드 제공자의 규약에 따라 상이하게 지원될 수 있다.
정책 기반 액세스 제어를 사용하여, 정책은 애플리케이션들을 포함한, 본 명세서에 설명된 임의의 아이덴티티에 첨부될 수 있다. 정책 기반 액세스 제어는 상단에서 임시 크리덴셜 기술이 동작하는 기본 층의 역할을 할 수 있다. 예를 들어, 정책은 워크그룹을 위해 셋업될 수 있고, 워크그룹이 소정 지리적 영역들에서만 데이터에 액세스할 수 있음을 명시할 수 있다. 워크그룹에 애플리케이션들이 제공되는 경우, 그러한 애플리케이션들은 정책에 의해 제한될 것이지만, 그들 자체는 애플리케이션의 아이덴티티에 기초하여 추가적인 제약들을 가질 수 있다. 크리덴셜들에 대한 요청들은 정책에 의해 특정된 그러한 제약들로 제한될 것이다. 따라서, 정책 기반 액세스 제어 인프라구조는 본 명세서에 설명된 임시 크리덴셜들과 함께 작동할 수 있는 맞춤가능 정책들에 기초하여 유연한 인가 층을 제공한다. 임의의 추가적인 로직이 정책을 통해 적용될 수 있다(예컨대, 하루 중 소정 시간들 동안만의 액세스, 특정 범위의 특정 IP 어드레스들로부터의 액세스 등).
따라서, 발견 프레임워크는, 그것이 제한된 임시 유래 크리덴셜들을 반환하기 전에 정책 기반 액세스 제어에 의해 제공된 인가 층을 적용할 수 있다.
그러나, 본 명세서에 설명된 제한된 임시 유래 크리덴셜 특징들 중 임의의 것은 본 명세서에 설명된 정책 기반 액세스 제어 특징들과는 독립적으로(예컨대, 그들을 구현하지 않고서) 구현될 수 있다. 따라서, 정책 기반 액세스 제어는 본 명세서에 설명된 제한된 임시 유래 크리덴셜 기술들의 필수적인 특징이 아니다. 예를 들어, 정책-구동되지 않는 인가 층이 발견 프레임워크와 함께 작동할 수 있다. 아이덴티티가 영역에 액세스하는지의 여부에 대한 간단한 맵핑이 본 명세서에 설명된 바와 같이 정책 대신에 적용될 수 있다.
실시예 74 - 예시적인 이점들
본 명세서에 설명된 제한된 임시 유래 크리덴셜 특징들은, 미세 입도가 복수의 상이한 클라우드 제공자 계정들 또는 클라우드 제공자 유형들을 사용하기를 원하는 테넌트들에 제공된다는 점에서 기술적 관점으로부터의 이점들을 제공할 수 있다. 또한, 상이한 크리덴셜들(예컨대, 크리덴셜 인스턴스들)이, 관리자들에 의한 개입 없이 동일한 클라우드 제공자 계정에 대해 상이한 아이덴티티들에 제공되어, 전체 네트워크 보안을 증가시킬 수 있다.
수반된 클라우드 제공자에 관계없이, 상이한 테넌트들에서 그룹들 사이의 협력이 달성될 수 있도록 교차-테넌트 워크그룹들이 지원될 수 있다.
사용자 관점에서, 데이터가 클라우드 제공자 계정에서 저장되고 있다는 사실은, 동일한 특징들 및 인증 프로세스가 상이한 클라우드 제공자 유형들에 걸쳐 지원될 수 있다는 점에서 명료할 수 있다.
다른 이점들은 크리덴셜들의 개선된 관리 및 정책 기반 액세스 제어 환경으로의 통합을 포함한다.
실시예 75 - 예시적인 컴퓨팅 시스템들
도 33은 설명된 혁신들의 디지털 태양들이 구현될 수 있는 적합한 컴퓨팅 시스템(3300)의 실시예를 도시한다. 컴퓨팅 시스템(3300)은 혁신들이 다양한 컴퓨팅 시스템들에서 구현될 수 있기 때문에, 본 개시내용의 사용 또는 기능의 범주에 대한 임의의 제한사항을 제안하도록 의도되지 않는다.
도 33을 참조하면, 컴퓨팅 시스템(3300)은 하나 이상의 프로세싱 유닛들(3310, 3315) 및 메모리(3320, 3325)를 포함한다. 도 33에서, 이러한 기본 구성(3330)이 파선 내에 포함되어 있다. 하나 이상의 프로세싱 유닛들은, 예컨대 본 명세서의 실시예에서 설명된 특징을 구현하기 위해, 컴퓨터 실행가능 명령어들을 실행한다. 하나 이상의 프로세싱 유닛들(3310, 3315)은 임의의 조합 또는 중앙 프로세싱 유닛(CPU), 그래픽 프로세싱 유닛(GPU), 단일 코어 프로세서, 다중 코어 프로세서, 주문형 반도체(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA)와 같은 프로그래밍가능 회로 등일 수 있다. 하나 이상의 프로세싱 유닛(들)(3310, 3315)은 하드웨어 구현에 더하여 소프트웨어(예컨대, 궁극적으로 하드웨어 상에서 실행됨) 및/또는 펌웨어로 구현될 수 있다.
다중 프로세싱 시스템에서, 다수의 프로세싱 유닛들은 컴퓨터 실행가능 명령어들을 실행하여 프로세싱 전력을 증가시킨다. 유형적 메모리(3320, 3325)는, 프로세싱 유닛(들)(3310, 3315)에 의해 액세스가능한, 휘발성 메모리(예컨대, 레지스터, 캐시, RAM), 비휘발성 메모리(예컨대, ROM, EEPROM, 플래시 메모리 등), 또는 둘의 일부 조합일 수 있다. 메모리(3320, 3325)는 프로세싱 유닛(들)(3310, 3315)에 의한 실행에 적합한 컴퓨터 실행가능 명령어들의 형태로, 본 명세서에 설명된 하나 이상의 혁신들을 구현하는 소프트웨어(3380)를 저장한다.
기능은 또한, 하나 이상의 하드웨어 로직 컴포넌트들에 의해 적어도 부분적으로 수행될 수 있다. 예를 들어, 필드 프로그래밍가능 게이트 어레이(FPGA), 특정용도 표준제품(Application-specific Standard Product, ASSP), 시스템-온-칩 시스템(SOC), 복합 프로그래밍가능 로직 디바이스(CPLD) 등이 사용될 수 있다.
컴퓨팅 시스템(3300)은 추가적인 특징들을 가질 수 있다. 예를 들어, 컴퓨팅 시스템(3300)은 입력 디바이스들, 출력 디바이스들, 및 사용자와 상호작용하기 위한 통신 접속부들을 포함한, 저장소(3340), 하나 이상의 입력 디바이스들(3350), 하나 이상의 출력 디바이스들(3360), 및 하나 이상의 통신 접속부들(3370)을 포함한다. 버스, 제어기, 또는 네트워크와 같은 상호접속 메커니즘(도시되지 않음)은 컴퓨팅 시스템(3300)의 컴포넌트들을 상호접속시킨다. 전형적으로, 운영 체제 소프트웨어(도시되지 않음)는 컴퓨팅 시스템(3300)에서 실행되는 다른 소프트웨어에 대한 동작 환경을 제공하고, 컴퓨팅 시스템(3300)의 컴포넌트들의 활동들을 조정한다.
유형적 저장소(3340)는 탈착식 또는 비탈착식일 수 있고, 자기 디스크, 자기 테이프 또는 카세트, CD-ROM, DVD, 또는 비일시적 방식으로 정보를 저장하는 데 사용될 수 있고 컴퓨팅 시스템(3300) 내에서 액세스될 수 있는 임의의 다른 매체를 포함한다. 저장소(3340)는 본 명세서에 설명된 하나 이상의 혁신들을 구현하는 소프트웨어(3380)에 대한 명령어들을 저장한다.
입력 디바이스(들)(3350)는 키보드, 마우스, 펜, 또는 트랙볼과 같은 입력 디바이스, 음성 입력 디바이스, 스캐닝 디바이스, 터치 디바이스(예컨대, 터치패드, 디스플레이 등) 또는 컴퓨팅 시스템(3300)에 입력을 제공하는 다른 디바이스일 수 있다. 출력 디바이스(들)(3360)는 디스플레이, 프린터, 스피커, CD-라이터(writer), 또는 컴퓨팅 시스템(3300)으로부터의 출력을 제공하는 다른 디바이스일 수 있다.
통신 접속부(들)(3370)는 통신 매체를 통한 다른 컴퓨팅 엔티티로의 통신을 가능하게 한다. 통신 매체는 컴퓨터 실행가능 명령어들, 오디오 또는 비디오 입력 또는 출력, 또는 변조된 데이터 신호 내의 다른 데이터와 같은 정보를 전달한다. 변조된 데이터 신호는 그의 특성들 중 하나 이상이 신호 내의 정보를 인코딩하는 바와 같은 그러한 방식으로 설정되거나 변경된 신호이다. 제한이 아닌 예로서, 통신 매체들은 전기, 광학, RF, 또는 다른 캐리어를 사용할 수 있다.
혁신들은 타깃 실제 또는 가상 프로세서 상의 컴퓨팅 시스템에서 실행되는(예컨대, 하나 이상의 하드웨어 프로세서들에서 궁극적으로 실행되는) 컴퓨터 실행가능 명령어들, 예컨대 프로그램 모듈들에 포함된 것들의 맥락에서 설명될 수 있다. 대체적으로, 프로그램 모듈들 또는 컴포넌트들은 특정 태스크들을 수행하거나 특정 추상 데이터 유형들을 구현하는 루틴, 프로그램, 라이브러리, 객체, 클래스, 컴포넌트, 데이터 구조 등을 포함한다. 프로그램 모듈들의 기능은 다양한 실시 형태들에서 원하는 바와 같이 프로그램 모듈들 사이에서 조합되거나 분할될 수 있다. 프로그램 모듈들에 대한 컴퓨터 실행가능 명령어들은 로컬 또는 분산형 컴퓨팅 시스템 내에서 실행될 수 있다.
제시를 위해, 상세한 설명은 컴퓨팅 시스템에서의 컴퓨터 동작들을 설명하기 위해 "결정하다" 및 "사용하다"와 같은 용어들을 사용한다. 이러한 용어들은 컴퓨터에 의해 수행되는 동작들에 대한 하이-레벨 설명들이며, 인간에 의해 수행되는 작용들과 혼동되지 않아야 한다. 이러한 용어들에 대응하는 실제 컴퓨터 동작들은 구현예에 따라 달라진다.
실시예 76 - 컴퓨터 판독가능 매체들
본 명세서의 컴퓨터 판독가능 매체들 중 임의의 것은 비일시적(예컨대, DRAM 또는 SRAM과 같은 휘발성 메모리, 자기 저장소, 광학 저장소 등과 같은 비휘발성 메모리)이고/이거나 유형적일 수 있다. 본 명세서에 설명된 저장 액션들 중 임의의 것은 하나 이상의 컴퓨터 판독가능 매체들(예컨대, 컴퓨터 판독가능 저장 매체들 또는 다른 유형적 매체들)에 저장함으로써 구현될 수 있다. 저장된 것으로 설명된 것들(예컨대, 구현 동안 생성되고 사용되는 데이터) 중 임의의 것은 하나 이상의 컴퓨터 판독가능 매체들(예컨대, 컴퓨터 판독가능 저장 매체들 또는 다른 유형적 매체들)에 저장될 수 있다. 컴퓨터 판독가능 매체들은 신호로 이루어지지 않은 구현예들로 제한될 수 있다.
본 명세서에 설명된 방법들 중 임의의 방법은 하나 이상의 컴퓨터 판독가능 매체들(예컨대, 컴퓨터 판독가능 저장 매체들 또는 다른 유형적 매체들) 또는 하나 이상의 컴퓨터 판독가능 저장 디바이스들(예컨대, 메모리, 자기 저장소, 광학 저장소 등) 내의(예컨대, 그에 저장되거나 그에 인코딩되거나 등등인) 컴퓨터 실행가능 명령어들에 의해 구현될 수 있다. 그러한 명령어들은 컴퓨팅 시스템이 방법을 수행하게 할 수 있다. 본 명세서에 설명된 기술들은 다양한 프로그래밍 언어들로 구현될 수 있다.
실시예 77 - 예시적인 클라우드 컴퓨팅 환경
도 34는, 예컨대 도 1의 시스템(100) 또는 본 명세서의 다른 시스템들을 포함한, 설명된 기술들이 구현될 수 있는 예시적인 클라우드 컴퓨팅 환경(3400)을 도시한다. 클라우드 컴퓨팅 환경(3400)은 클라우드 컴퓨팅 서비스들(3410)을 포함한다. 클라우드 컴퓨팅 서비스들(3410)은 컴퓨터 서버, 데이터 저장 리포지토리, 네트워킹 리소스 등과 같은 다양한 유형들의 클라우드 컴퓨팅 리소스들을 포함할 수 있다. 클라우드 컴퓨팅 서비스들(3410)은 중앙에 위치될 수 있거나(예컨대, 비즈니스 또는 조직의 데이터 센터에 의해 제공됨) 또는 분산될 수 있다(예컨대, 상이한 데이터 센터들과 같은 상이한 위치들에 위치된 다양한 컴퓨팅 리소스들에 의해 제공되고/되거나 상이한 도시들 또는 국가들에 위치됨).
클라우드 컴퓨팅 서비스들(3410)은 컴퓨팅 디바이스들(3420, 3422, 3424)과 같은 다양한 유형들의 컴퓨팅 디바이스들(예컨대, 클라이언트 컴퓨팅 디바이스들)에 의해 활용된다. 예를 들어, 컴퓨팅 디바이스들(예컨대, 3420, 3422, 및 3424)은 컴퓨터들(예컨대, 데스크톱 또는 랩톱 컴퓨터들), 모바일 디바이스들(예컨대, 태블릿 컴퓨터들 또는 스마트 폰들), 또는 다른 유형의 컴퓨팅 디바이스들일 수 있다. 예를 들어, 컴퓨팅 디바이스들(예컨대, 3420, 3422, 3424)은 컴퓨팅 동작들(예컨대, 데이터 프로세싱, 데이터 저장 등)을 수행하기 위해 클라우드 컴퓨팅 서비스들(3410)을 활용할 수 있다.
실제로, 클라우드 기반, 온-프레미스 기반, 또는 하이브리드 시나리오들이 지원될 수 있다.
실시예 78 - 예시적인 구현예들
개시된 방법들 중 일부의 방법의 동작들이 편리한 제시를 위해 특정의 순차적인 순서로 설명되지만, 그러한 설명 방식은 특정 순서가 본 명세서에 제시된 특정 언어에 의해 요구되지 않는 한, 재배열을 포괄한다. 예를 들어, 순차적으로 설명된 동작들은 일부 경우들에 있어서 재배열되거나 동시에 수행될 수 있다.
실시예 79 - 정책 기반 액세스 제어에 대한 예시적인 실시 형태들
하기의 실시 형태들 중 임의의 실시 형태가 구현될 수 있다.
항목 1. 방법으로서,
정책 기반 액세스 제어를 통해 게놈 디지털 데이터 리소스들에 대한 액세스를 조정하는 SaaS 플랫폼에서 하나 이상의 게놈 데이터 서비스들에 의해 제공된 상기 게놈 디지털 데이터 리소스들에 대한 액세스를 모색하는 복수의 테넌트들을 포함하는 컴퓨팅 시스템에서, 주어진 게놈 디지털 데이터 리소스에 대한 상기 테넌트들 중 제1 테넌트에 대한 정책 기반 액세스 제어 정의를 수신하는 단계;
상기 주어진 게놈 디지털 데이터 리소스에 대한 액세스를 모색하는 상기 테넌트들 중 제2 테넌트로부터, 상기 주어진 게놈 디지털 데이터 리소스에 대한 액세스에 대한 요청을 수신하는 단계; 및
상기 테넌트들 중 제2 테넌트에 대해, 상기 정책 기반 액세스 제어 정의에 기초하여 상기 주어진 게놈 디지털 데이터 리소스에 대한 액세스를 승인하는 단계를 포함하는, 방법.
항목 2. 항목 1에 있어서,
상기 주어진 게놈 디지털 데이터 리소스에 대한 액세스는 상기 정책 기반 액세스 제어 정의에 링크된 역할 식별자에 의해 제어되고;
상기 방법은,
상기 액세스에 대한 요청에 응답하여, 상기 액세스에 대한 요청에 대해 상기 정책 기반 액세스 제어 정의에 특정된 상기 역할 식별자를 제공하는 단계를 추가로 포함하는, 방법.
항목 3. 항목 2에 있어서,
상기 역할 식별자를 배정하는 것은 상기 액세스에 대한 요청의 사용자 식별자 또는 테넌트 식별자에 대한 상기 역할 식별자의 후기 결합을 포함하는, 방법.
항목 4. 항목 2 또는 항목 3에 있어서,
상기 액세스에 대한 요청에 응답하여, 상기 역할 식별자를 포함하는 서명된 액세스 토큰을 생성하는 단계를 추가로 포함하고,
상기 서명된 액세스 토큰에서의 상기 역할 식별자의 존재에 기초하여 액세스가 승인되는, 방법.
항목 5. 항목 4에 있어서,
상기 서명된 액세스 토큰의 검증에 기초하여 액세스가 추가로 승인되는, 방법.
항목 6. 항목 4 또는 항목 5에 있어서,
상기 역할 식별자 및 상기 역할 식별자의 역할 관리자의 테넌트 식별자를 포함하는 서명된 승인 토큰을 공개하는 단계를 추가로 포함하고,
상기 서명된 승인 토큰의 테넌트 식별자가 상기 역할 식별자에 대해 특정된 리소스들을 승인하기에 충분한 권리들을 갖는지의 여부에 기초하여 액세스가 추가로 승인되는, 방법.
항목 7. 항목 1 내지 항목 6 중 어느 한 항목에 있어서, 상기 테넌트들 중 제1 테넌트는 정책 기반 공유가 구현되는 외부 서비스 제공자를 표현하는 프록시 테넌트를 포함하는, 방법.
항목 8. 항목 1 내지 항목 7 중 어느 한 항목에 있어서, 상기 정책 기반 액세스 제어 정의는 스마트 계약에 대한 참조를 포함하는, 방법.
항목 9. 항목 1 내지 항목 8 중 어느 한 항목에 있어서, 상기 정책 기반 액세스 제어 정의는 상기 테넌트들 중 제2 테넌트의 서비스 레벨에 대한 참조를 포함하고, 상기 요청의 시간에 결정된 상기 테넌트들 중 상기 제2 테넌트의 서비스 레벨에 따라 액세스가 승인되는, 방법.
항목 10. 항목 1 내지 항목 9 중 어느 한 항목에 있어서, 상기 정책 기반 액세스 제어 정의는 필터 속성 및 필터 파라미터를 포함하는 하나 이상의 액세스 제어 진술문들을 특정하는, 방법.
항목 11. 항목 10에 있어서, 상기 필터 파라미터는 상기 필터 속성에 대한 와일드카드를 특정하는, 방법.
항목 12. 항목 10 또는 항목 11에 있어서, 상기 필터 속성은 애플리케이션을 포함하는, 방법.
항목 13. 항목 10 내지 항목 12 중 어느 한 항목에 있어서, 상기 필터 속성은 애플리케이션 역할 식별자를 포함하는, 방법.
항목 14. 항목 1 내지 항목 13 중 어느 한 항목에 있어서, 상기 정책 기반 액세스 제어 정의는 액세스 결과, 테넌트 식별자, 및 액세스가 승인되는 하나 이상의 조건들을 특정하는 액세스 제어 진술문들을 지원하는, 방법.
항목 15. 항목 1 내지 항목 14 중 어느 한 항목에 있어서, 상기 정책 기반 액세스 제어 정의는 공개 액세스, 개인 액세스, 및 애플리케이션 기반 액세스를 지원하는, 방법.
항목 16. 항목 1 내지 항목 15 중 어느 한 항목에 있어서, 상기 정책 기반 액세스 제어 정의는 실행 시간에 평가되는 파라미터를 포함하는, 방법.
항목 17. 항목 16에 있어서,
상기 정책 기반 액세스 제어 정의의 파라미터는 애플리케이션 식별자 파라미터를 포함하고;
액세스를 승인하는 단계는, 상기 정책 기반 액세스 제어 정의의 애플리케이션 식별자 파라미터를, 상기 게놈 디지털 데이터 리소스들에 대한 액세스를 모색하는 상기 테넌트들 중 제2 테넌트에 의해 특정된 애플리케이션 식별자와 비교하는 단계를 포함하는, 방법.
항목 18. 항목 16 또는 항목 17에 있어서,
상기 정책 기반 액세스 제어 정의의 파라미터는 테넌트 식별자 파라미터를 포함하고;
액세스를 승인하는 단계는, 상기 액세스 제어 정의의 테넌트 식별자 파라미터를, 상기 게놈 디지털 데이터 리소스들에 대한 액세스를 모색하는 상기 제2 테넌트의 테넌트 식별자와 비교하는 단계를 포함하는, 방법.
항목 19. 다중 테넌트 클라우드 기반 시스템으로서,
하나 이상의 프로세서들;
상기 하나 이상의 프로세서들에 커플링된 메모리;
제1 테넌트에 대해 수신되고 역할 식별자를 포함하는 정책 기반 액세스 제어 정의를 포함하는 정책 저장소; 및
상기 역할 식별자에 링크된 게놈 디지털 데이터 리소스를 포함하고,
상기 메모리는 상기 하나 이상의 프로세서들로 하여금, 동작들을 수행하게 하는 컴퓨터 실행가능 명령어들을 포함하고, 상기 동작들은,
상기 게놈 디지털 데이터 리소스에 대한 액세스를 모색하는 제2 테넌트로부터, 상기 게놈 디지털 데이터 리소스에 대한 액세스에 대한 요청을 수신하는 동작; 및
상기 제2 테넌트에 대해, 상기 액세스에 대한 요청의 시간에 평가된 상기 정책 기반 액세스 제어 정의에 따라 상기 게놈 디지털 데이터 리소스에 대한 액세스를 승인하는 동작을 포함하는, 시스템.
항목 20. 하나 이상의 컴퓨터 판독가능 매체로서,
컴퓨팅 시스템으로 하여금, 제1 테넌트가 게놈 디지털 데이터에 대한 액세스를 제공하도록 하기 위한 공개 요청을 수신하게 할 수 있는 컴퓨터 실행가능 명령어들 - 상기 게놈 디지털 데이터에 대한 액세스는 정책 문서에 링크된 역할 식별자에 의해 제어되고, 상기 정책 문서는 하나 이상의 조건들을 포함함 -;
컴퓨팅 시스템으로 하여금, 상기 정책 문서에 링크된 상기 역할 식별자에 의해 액세스가 제어되는 상기 게놈 디지털 데이터에 대한 액세스를 위해 제2 테넌트로부터 요청을 수신하게 할 수 있는 컴퓨터 실행가능 명령어들 - 상기 요청은 하나 이상의 속성들을 포함함 -;
상기 컴퓨팅 시스템으로 하여금, 액세스를 위한 상기 제2 테넌트로부터의 요청에 응답하여 상기 정책 문서에 액세스하게 할 수 있는 컴퓨터 실행가능 명령어들; 및
상기 컴퓨팅 시스템으로 하여금, 상기 하나 이상의 속성들 및 상기 하나 이상의 조건들에 기초하여 액세스 토큰을 생성하게 할 수 있는 컴퓨터 실행가능 명령어들 - 상기 역할 식별자는 상기 하나 이상의 조건들이 상기 하나 이상의 속성들에 의해 이행된다고 결정한 것에 응답하여 상기 액세스 토큰에 포함되고, 상기 액세스 토큰은 상기 역할 식별자를 통해 상기 게놈 디지털 데이터에 대한 액세스를 인가함 - 을 포함하는, 하나 이상의 컴퓨터 판독가능 매체.
항목 21.
컴퓨팅 시스템에 의해 실행될 때, 상기 컴퓨팅 시스템으로 하여금, 항목 1 내지 항목 18 중 어느 한 항목의 방법을 수행하게 하는 컴퓨터 실행가능 명령어들을 포함하는 하나 이상의 컴퓨터 판독가능 매체.
실시예 80 - 예시적인 실시 형태들
하기의 실시 형태들 중 임의의 실시 형태가 구현될 수 있다.
항목 1. 컴퓨터 구현 방법으로서,
정책 기반 액세스 제어를 통해 게놈 디지털 데이터 리소스들에 대한 액세스를 조정하는 SaaS 플랫폼에서 게놈 컴퓨팅 서비스들에 액세스하는 복수의 테넌트들을 지원하는 컴퓨팅 시스템에서,
상기 SaaS 플랫폼에 액세스하는 아이덴티티에 대한 클라우드 제공자 계정을 발견하는 단계;
상기 클라우드 제공자 계정에 대해 유효한 제한된 임시 유래 크리덴셜들에 대한 크리덴셜 매니지먼트 서비스에 요청을 전송하는 단계;
상기 클라우드 제공자 계정에 대해 유효한 상기 제한된 임시 유래 크리덴셜들을 수신하는 단계; 및
상기 아이덴티티에 의한 사용을 위해 상기 제한된 임시 유래 크리덴셜들을 제공하는 단계를 포함하는, 컴퓨터 구현 방법.
항목 2. 항목 1에 있어서,
상기 SaaS 플랫폼은 단일 테넌트당 다수의 상이한 클라우드 제공자 계정 유형들을 지원하는, 컴퓨터 구현 방법.
항목 3. 항목 1 또는 항목 2에 있어서,
상기 SaaS 플랫폼은 단일 테넌트당 다수의 상이한 클라우드 제공자 계정들을 지원하는, 컴퓨터 구현 방법.
항목 4. 항목 1 내지 항목 3 중 어느 한 항목에 있어서,
상기 복수의 테넌트들에 대한 정책 기반 액세스 제어 구성 정보를 수신하는 단계를 추가로 포함하고,
상기 제한된 임시 유래 크리덴셜들은 상기 정책 기반 액세스 제어 구성 정보에 나타내진 권리들로 제한되는, 컴퓨터 구현 방법.
항목 5. 항목 1 내지 항목 4 중 어느 한 항목에 있어서,
상기 클라우드 제공자 계정에 대한 기본 크리덴셜들을 수신하는 단계를 추가로 포함하고,
상기 제한된 임시 유래 크리덴셜들은 상기 기본 크리덴셜들로부터 도출되는, 컴퓨터 구현 방법.
항목 6. 항목 1 내지 항목 5 중 어느 한 항목에 있어서,
상기 SaaS 플랫폼은 복수의 클라우드 제공자 유형들에 대한 제한된 임시 유래 크리덴셜들을 지원하는, 컴퓨터 구현 방법.
항목 7. 항목 6에 있어서,
상기 클라우드 제공자 계정을 발견하는 단계는 상기 클라우드 제공자 계정의 클라우드 제공자 유형을 발견하는 단계를 포함하는, 컴퓨터 구현 방법.
항목 8. 항목 7에 있어서,
상기 크리덴셜 매니지먼트 서비스는 상기 SaaS 플랫폼의 외부에 있는, 컴퓨터 구현 방법.
항목 9. 항목 1 내지 항목 8 중 어느 한 항목에 있어서,
상기 아이덴티티는 상기 SaaS 플랫폼에 의해 지원되는 복수의 상이한 아이덴티티 유형들 중 하나인, 컴퓨터 구현 방법.
항목 10. 항목 9에 있어서,
상기 아이덴티티는 유형 "애플리케이션"의 것인, 컴퓨터 구현 방법.
항목 11. 항목 9 또는 항목 10에 있어서,
상기 아이덴티티는 유형 "워크그룹"의 것인, 컴퓨터 구현 방법.
항목 12. 항목 11에 있어서,
워크그룹 아이덴티티는 상기 SaaS 플랫폼의 복수의 상기 테넌트들에 걸쳐 있는, 컴퓨터 구현 방법.
항목 13. 항목 9 내지 항목 12 중 어느 한 항목에 있어서,
상기 SaaS 플랫폼에 의해 지원되는 상기 아이덴티티 유형들은,
애플리케이션;
테넌트;
워크그룹; 및
사용자를 포함하는, 컴퓨터 구현 방법.
항목 14. 항목 1 내지 항목 13 중 어느 한 항목에 있어서,
상기 클라우드 제공자 계정은 게놈 디지털 데이터 리소스를 저장하고;
상기 게놈 디지털 데이터 리소스에 대한 액세스는 정책 기반 액세스 제어 정의에 링크된 역할 식별자에 의해 제어되고;
상기 컴퓨터 구현 방법은,
상기 게놈 디지털 데이터 리소스에 대한 액세스에 대한 요청에 응답하여, 상기 액세스에 대한 요청에 대해 상기 정책 기반 액세스 제어 정의에 특정된 상기 역할 식별자를 제공하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.
항목 15. 다중 테넌트 클라우드 기반 시스템으로서,
하나 이상의 프로세서들;
상기 하나 이상의 프로세서들에 커플링된 메모리;
SaaS 플랫폼에 액세스하는 아이덴티티들과 클라우드 제공자 계정들 사이의 맵핑;
정책 기반 액세스 제어 정의들을 포함하는 정책 저장소; 및
역할 식별자에 링크되고 상기 SaaS 플랫폼 외부의 주어진 클라우드 제공자 계정에 저장된 게놈 디지털 데이터 리소스를 포함하고,
상기 메모리는 상기 하나 이상의 프로세서들로 하여금, 동작들을 수행하게 하는 컴퓨터 실행가능 명령어들을 포함하고, 상기 동작들은,
맵핑에 기초하여, 상기 SaaS 플랫폼에 액세스하는 아이덴티티에 대한 클라우드 제공자 계정을 발견하는 동작;
상기 클라우드 제공자 계정에 대해 유효한 제한된 임시 유래 크리덴셜들에 대한 크리덴셜 매니지먼트 서비스에 요청을 전송하는 동작;
상기 클라우드 제공자 계정에 대해 유효한 상기 제한된 임시 유래 크리덴셜들을 수신하는 동작; 및
상기 게놈 디지털 데이터 리소스에 액세스하기 위해 상기 아이덴티티에 의한 사용을 위해 상기 제한된 임시 유래 크리덴셜들을 제공하는 동작을 포함하는, 시스템.
항목 16. 항목 15에 있어서,
상기 SaaS 플랫폼은 테넌트당 다수의 상이한 클라우드 제공자 계정 유형들을 지원하고,
상기 SaaS 플랫폼은 테넌트당 다수의 상이한 클라우드 제공자 계정들을 지원하는, 시스템.
항목 17. 항목 15 또는 항목 16에 있어서, 상기 메모리는 상기 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하는 컴퓨터 실행가능 명령어들을 추가로 포함하고, 상기 동작들은,
액세스에 대한 요청의 시간에 평가된 정책 기반 액세스 제어 정의에 따라 상기 게놈 디지털 데이터 리소스에 대한 액세스를 승인하는 동작을 포함하는, 시스템.
항목 18. 항목 15 내지 항목 17 중 어느 한 항목에 있어서,
상기 아이덴티티는 상기 SaaS 플랫폼에 의해 지원되는 복수의 상이한 아이덴티티 유형들 중 하나인, 컴퓨터 구현 방법.
항목 19. 항목 15 내지 항목 18 중 어느 한 항목에 있어서,
상기 아이덴티티는 유형 "애플리케이션"의 것인, 컴퓨터 구현 방법.
항목 20. 항목 15 내지 항목 18 중 어느 한 항목에 있어서,
상기 아이덴티티는 유형 "워크그룹"의 것인, 컴퓨터 구현 방법.
항목 21. 항목 20에 있어서,
워크그룹 아이덴티티는 상기 SaaS 플랫폼의 복수의 테넌트들에 걸쳐 있는, 컴퓨터 구현 방법.
항목 22. 하나 이상의 컴퓨터 판독가능 매체로서,
정책 기반 액세스 제어를 통해 게놈 디지털 데이터 리소스들에 대한 액세스를 조정하는 SaaS 플랫폼에서 게놈 컴퓨팅 서비스들에 액세스하는 복수의 테넌트들을 지원하는 컴퓨팅 시스템에서, 컴퓨팅 시스템으로 하여금,
상기 SaaS 플랫폼에 액세스하는 아이덴티티에 대한 클라우드 제공자 계정을 발견하는 것;
상기 클라우드 제공자 계정에 대해 유효한 제한된 임시 유래 크리덴셜들에 대한 크리덴셜 매니지먼트 서비스에 요청을 전송하는 것;
상기 클라우드 제공자 계정에 대해 유효한 상기 제한된 임시 유래 크리덴셜들을 수신하는 것; 및
상기 정책 기반 액세스 제어에 따라 상기 클라우드 제공자 계정에서의 상기 게놈 디지털 데이터 리소스에 액세스하기 위해 상기 아이덴티티에 의한 사용을 위해 상기 제한된 임시 유래 크리덴셜들을 제공하는 것을 수행하게 할 수 있는 컴퓨터 실행가능 명령어들을 포함하고,
상기 SaaS 플랫폼은 테넌트당 다수의 상이한 클라우드 제공자 계정 유형들을 지원하고,
상기 SaaS 플랫폼은 테넌트당 다수의 상이한 클라우드 제공자 계정들을 지원하는, 하나 이상의 컴퓨터 판독가능 매체.
항목 23. 하나 이상의 컴퓨터 판독가능 매체로서,
컴퓨팅 시스템으로 하여금, 항목 1 내지 항목 14 중 어느 한 항목의 컴퓨터 구현 방법을 수행하게 할 수 있는 컴퓨터 실행가능 명령어들을 포함하는, 하나 이상의 컴퓨터 판독가능 매체.
실시예 80 - 예시적인 대안예들
임의의 실시예로부터의 기술들은 다른 실시예들 중 임의의 하나 이상의 실시예에 설명된 기술들과 조합될 수 있다. 개시된 기술의 원리들이 적용될 수 있는 많은 가능한 실시 형태들을 고려하여, 예시된 실시 형태들은 개시된 기술의 실시예들이고 개시된 기술의 범주에 대한 제한사항으로서 간주되지 않아야 한다는 것을 인식해야 한다. 오히려, 개시된 기술의 범주는 하기의 청구범위의 범주 및 사상에 의해 커버되는 것을 포함한다.

Claims (16)

  1. 컴퓨터 구현 방법으로서,
    정책 기반 액세스 제어를 통해 게놈 디지털 데이터 리소스들에 대한 액세스를 조정하는 SaaS(software-as-a-service) 플랫폼에서 게놈 컴퓨팅 서비스들에 액세스하는 복수의 테넌트(tenant)들을 지원하는 컴퓨팅 시스템에서,
    상기 SaaS 플랫폼에 액세스하는 아이덴티티에 대한 클라우드 제공자 계정을 발견하는 단계;
    상기 클라우드 제공자 계정에 대해 유효한 제한된 임시 유래 크리덴셜들에 대한 크리덴셜 매니지먼트 서비스에 요청을 전송하는 단계;
    상기 클라우드 제공자 계정에 대해 유효한 상기 제한된 임시 유래 크리덴셜들을 수신하는 단계; 및
    상기 아이덴티티에 의한 사용을 위해 상기 제한된 임시 유래 크리덴셜들을 제공하는 단계를 포함하는, 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 SaaS 플랫폼은 단일 테넌트당 다수의 상이한 클라우드 제공자 계정 유형들을 지원하는, 컴퓨터 구현 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 SaaS 플랫폼은 단일 테넌트당 다수의 상이한 클라우드 제공자 계정들을 지원하는, 컴퓨터 구현 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 복수의 테넌트들에 대한 정책 기반 액세스 제어 구성 정보를 수신하는 단계를 추가로 포함하고,
    상기 제한된 임시 유래 크리덴셜들은 상기 정책 기반 액세스 제어 구성 정보에 나타내진 권리들로 제한되는, 컴퓨터 구현 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 클라우드 제공자 계정에 대한 기본 크리덴셜들을 수신하는 단계를 추가로 포함하고,
    상기 제한된 임시 유래 크리덴셜들은 상기 기본 크리덴셜들로부터 도출되는, 컴퓨터 구현 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 SaaS 플랫폼은 복수의 클라우드 제공자 유형들에 대한 제한된 임시 유래 크리덴셜들을 지원하는, 컴퓨터 구현 방법.
  7. 제6항에 있어서,
    상기 클라우드 제공자 계정을 발견하는 단계는 상기 클라우드 제공자 계정의 클라우드 제공자 유형을 발견하는 단계를 포함하는, 컴퓨터 구현 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 아이덴티티는 상기 SaaS 플랫폼에 의해 지원되는 복수의 상이한 아이덴티티 유형들 중 하나인, 컴퓨터 구현 방법.
  9. 제8항에 있어서,
    상기 아이덴티티는 유형 "애플리케이션"의 것인, 컴퓨터 구현 방법.
  10. 제8항에 있어서,
    상기 아이덴티티는 유형 "워크그룹"의 것인, 컴퓨터 구현 방법.
  11. 제10항에 있어서,
    워크그룹 아이덴티티는 상기 SaaS 플랫폼의 복수의 상기 테넌트들에 걸쳐 있는, 컴퓨터 구현 방법.
  12. 제8항 내지 제11항 중 어느 한 항에 있어서,
    상기 SaaS 플랫폼에 의해 지원되는 상기 아이덴티티 유형들은,
    애플리케이션;
    테넌트;
    워크그룹; 및
    사용자를 포함하는, 컴퓨터 구현 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 클라우드 제공자 계정은 게놈 디지털 데이터 리소스를 저장하고;
    상기 게놈 디지털 데이터 리소스에 대한 액세스는 정책 기반 액세스 제어 정의에 링크된 역할 식별자에 의해 제어되고;
    상기 컴퓨터 구현 방법은,
    상기 게놈 디지털 데이터 리소스에 대한 액세스에 대한 요청에 응답하여, 상기 액세스에 대한 요청에 대해 상기 정책 기반 액세스 제어 정의에 특정된 상기 역할 식별자를 제공하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.
  14. 하나 이상의 컴퓨터 판독가능 매체로서,
    컴퓨팅 시스템으로 하여금, 제1항 내지 제13항 중 어느 한 항의 방법을 수행하게 할 수 있는 컴퓨터 실행가능 명령어들을 포함하는, 컴퓨터 판독가능 매체.
  15. 다중 테넌트 클라우드 기반 시스템으로서,
    하나 이상의 프로세서들;
    상기 하나 이상의 프로세서들에 커플링된 메모리;
    SaaS 플랫폼에 액세스하는 아이덴티티들과 클라우드 제공자 계정들 사이의 맵핑;
    정책 기반 액세스 제어 정의들을 포함하는 정책 저장소; 및
    역할 식별자에 링크되고 상기 SaaS 플랫폼 외부의 주어진 클라우드 제공자 계정에 저장된 게놈 디지털 데이터 리소스를 포함하고,
    상기 메모리는 상기 하나 이상의 프로세서들로 하여금, 동작들을 수행하게 하는 컴퓨터 실행가능 명령어들을 포함하고, 상기 동작들은,
    상기 맵핑에 기초하여, 상기 SaaS 플랫폼에 액세스하는 아이덴티티에 대한 클라우드 제공자 계정을 발견하는 동작;
    상기 클라우드 제공자 계정에 대해 유효한 제한된 임시 유래 크리덴셜들에 대한 크리덴셜 매니지먼트 서비스에 요청을 전송하는 동작;
    상기 클라우드 제공자 계정에 대해 유효한 상기 제한된 임시 유래 크리덴셜들을 수신하는 동작; 및
    상기 게놈 디지털 데이터 리소스에 액세스하기 위해 상기 아이덴티티에 의한 사용을 위해 상기 제한된 임시 유래 크리덴셜들을 제공하는 동작을 포함하는, 시스템.
  16. 제15항에 있어서,
    상기 SaaS 플랫폼은 테넌트당 다수의 상이한 클라우드 제공자 계정 유형들을 지원하고,
    상기 SaaS 플랫폼은 테넌트당 다수의 상이한 클라우드 제공자 계정들을 지원하는, 시스템.
KR1020227045927A 2020-06-29 2021-06-25 보안 발견 프레임워크를 통한 임시 클라우드 제공자 크리덴셜들 KR20230035260A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063045736P 2020-06-29 2020-06-29
US63/045,736 2020-06-29
US202063087155P 2020-10-02 2020-10-02
US63/087,155 2020-10-02
PCT/US2021/039237 WO2022005914A1 (en) 2020-06-29 2021-06-25 Temporary cloud provider credentials via secure discovery framework

Publications (1)

Publication Number Publication Date
KR20230035260A true KR20230035260A (ko) 2023-03-13

Family

ID=77022277

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227045927A KR20230035260A (ko) 2020-06-29 2021-06-25 보안 발견 프레임워크를 통한 임시 클라우드 제공자 크리덴셜들

Country Status (8)

Country Link
US (1) US20210409409A1 (ko)
EP (1) EP4173232A1 (ko)
JP (1) JP2023532297A (ko)
KR (1) KR20230035260A (ko)
CN (1) CN115868144A (ko)
AU (1) AU2021299194A1 (ko)
CA (1) CA3177396A1 (ko)
WO (1) WO2022005914A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11714551B2 (en) * 2020-10-14 2023-08-01 EMC IP Holding Company LLC Credential manager with account selection and resource load-balancing
US20220382590A1 (en) * 2021-05-28 2022-12-01 HashiCorp Cloud provider account mappings
US20230171241A1 (en) * 2021-11-30 2023-06-01 Bmc Software Israel Ltd Security profile management for multi-cloud agent registration with multi-tenant, multi-cell service
CN114491452A (zh) * 2022-01-27 2022-05-13 中远海运科技股份有限公司 面向云主机和云堡垒机实现云资源多账户权限管控的方法
US11706155B1 (en) * 2022-02-04 2023-07-18 Red Hat, Inc. Managing cloud acquisitions using distributed ledgers
US11595202B1 (en) * 2022-02-09 2023-02-28 My Job Matcher, Inc. Apparatus and methods for mapping user-associated data to an identifier
CN114637602A (zh) * 2022-03-03 2022-06-17 鼎捷软件股份有限公司 数据分享系统以及数据分享方法
CN114760359B (zh) * 2022-04-12 2023-08-01 以萨技术股份有限公司 数据共享的方法、系统、服务器和计算机可读存储介质
US11757667B1 (en) * 2022-04-29 2023-09-12 Zoom Video Communications, Inc. Applications within persistent hybrid collaborative workspaces

Family Cites Families (187)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US20060062859A1 (en) * 2004-08-05 2006-03-23 Kenneth Blum Composition and method to optimize and customize nutritional supplement formulations by measuring genetic and metabolomic contributing factors to disease diagnosis, stratification, prognosis, metabolism, and therapeutic outcomes
US8732182B2 (en) * 2004-12-02 2014-05-20 Desktopsites Inc. System and method for launching a resource in a network
US10565065B2 (en) * 2009-04-28 2020-02-18 Getac Technology Corporation Data backup and transfer across multiple cloud computing providers
US8984589B2 (en) * 2010-04-27 2015-03-17 Accenture Global Services Limited Cloud-based billing, credential, and data sharing management system
US9183374B2 (en) * 2010-07-15 2015-11-10 Novell, Inc. Techniques for identity-enabled interface deployment
US9021264B2 (en) * 2011-02-03 2015-04-28 Cloudlink Technologies Inc. Method and system for cloud based storage
US9104672B2 (en) * 2011-02-25 2015-08-11 International Business Machines Corporation Virtual security zones for data processing environments
US8984269B2 (en) * 2011-02-28 2015-03-17 Red Hat, Inc. Migrating data among cloud-based storage networks via a data distribution service
US10375203B2 (en) * 2011-02-28 2019-08-06 Red Hat, Inc. Generating a selection of cloud data distribution service from alternative providers for staging data to host clouds
US8578442B1 (en) * 2011-03-11 2013-11-05 Symantec Corporation Enforcing consistent enterprise and cloud security profiles
US8578452B2 (en) * 2011-04-27 2013-11-05 Gemalto Sa Method for securely creating a new user identity within an existing cloud account in a cloud computing system
US8407284B2 (en) * 2011-05-27 2013-03-26 Red Hat, Inc. Systems and methods for cloud data deployment based on preferential and/or existing subscription relationships
US9344484B2 (en) * 2011-05-27 2016-05-17 Red Hat, Inc. Determining consistencies in staged replication data to improve data migration efficiency in cloud based networks
US8966652B2 (en) * 2011-06-08 2015-02-24 International Business Machines Corporation Software utilization privilege brokering in a networked computing environment
US8769622B2 (en) * 2011-06-30 2014-07-01 International Business Machines Corporation Authentication and authorization methods for cloud computing security
US9170798B2 (en) * 2012-03-02 2015-10-27 Vmware, Inc. System and method for customizing a deployment plan for a multi-tier application in a cloud infrastructure
US9477530B2 (en) * 2011-07-29 2016-10-25 Connectwise, Inc. Automated provisioning and management of cloud services
US8789157B2 (en) * 2011-09-06 2014-07-22 Ebay Inc. Hybrid cloud identity mapping infrastructure
US9535751B2 (en) * 2011-09-15 2017-01-03 International Business Machines Corporation Resource selection advisor mechanism
US20140053234A1 (en) * 2011-10-11 2014-02-20 Citrix Systems, Inc. Policy-Based Application Management
US9122863B2 (en) * 2011-12-19 2015-09-01 International Business Machines Corporation Configuring identity federation configuration
GB2498708B (en) * 2012-01-17 2020-02-12 Secure Cloudlink Ltd Security management for cloud services
AU2013200916B2 (en) * 2012-02-20 2014-09-11 Kl Data Security Pty Ltd Cryptographic Method and System
US10031783B2 (en) * 2012-03-02 2018-07-24 Vmware, Inc. Execution of a distributed deployment plan for a multi-tier application in a cloud infrastructure
US9052961B2 (en) * 2012-03-02 2015-06-09 Vmware, Inc. System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint
US9047133B2 (en) * 2012-03-02 2015-06-02 Vmware, Inc. Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud environment
US9026658B2 (en) * 2012-03-28 2015-05-05 Microsoft Technology Licensing, Llc Enhanced computer cluster operation using resource allocation requests
US20140007189A1 (en) * 2012-06-28 2014-01-02 International Business Machines Corporation Secure access to shared storage resources
US9047410B2 (en) * 2012-07-18 2015-06-02 Infosys Limited Cloud-based application testing
US9167050B2 (en) * 2012-08-16 2015-10-20 Futurewei Technologies, Inc. Control pool based enterprise policy enabler for controlled cloud access
US9563480B2 (en) * 2012-08-21 2017-02-07 Rackspace Us, Inc. Multi-level cloud computing system
US9838370B2 (en) * 2012-09-07 2017-12-05 Oracle International Corporation Business attribute driven sizing algorithms
US9160749B2 (en) * 2012-09-07 2015-10-13 Oracle International Corporation System and method for providing whitelist functionality for use with a cloud computing environment
KR20140037476A (ko) * 2012-09-19 2014-03-27 브레인즈스퀘어(주) 파일의 외부 유출 방지를 위한 시스템 및 그 방법
US8938622B2 (en) * 2012-09-21 2015-01-20 Sap Ag Encryption in the cloud with customer controlled keys
US8959195B1 (en) * 2012-09-27 2015-02-17 Emc Corporation Cloud service level attestation
US8850546B1 (en) * 2012-09-30 2014-09-30 Emc Corporation Privacy-preserving user attribute release and session management
BR112015007854A2 (pt) * 2012-10-12 2017-07-04 Koninklijke Philips Nv sistema e método de execução de uma instância de máquina virtual, sistema servidor de chaves para emitir chaves para uma instância de máquina virtual, imagem de máquina virtual capaz de ter instância formada como uma instância de máquina virtual, e, método de emissão de chaves para uma instância de máquina virtual
US9015212B2 (en) * 2012-10-16 2015-04-21 Rackspace Us, Inc. System and method for exposing cloud stored data to a content delivery network
CN102882885B (zh) * 2012-10-17 2015-07-01 北京卓微天成科技咨询有限公司 一种提高云计算数据安全的方法及系统
US8751437B2 (en) * 2012-11-01 2014-06-10 Sap Ag Single persistence implementation of business objects
WO2014088544A1 (en) * 2012-12-03 2014-06-12 Hewlett-Packard Development Company, L.P. Generic resource provider for cloud service
US9344521B2 (en) * 2012-12-13 2016-05-17 Red Hat, Inc. Pluggable infrastructure for cloud provider selection
US10044808B2 (en) * 2012-12-20 2018-08-07 Software Ag Usa, Inc. Heterogeneous cloud-store provider access systems, and/or associated methods
US9246839B2 (en) * 2013-01-02 2016-01-26 International Business Machines Corporation Extending organizational boundaries throughout a cloud architecture
US9009469B2 (en) * 2013-01-15 2015-04-14 Sap Se Systems and methods for securing data in a cloud computing environment using in-memory techniques and secret key encryption
WO2014115139A1 (en) * 2013-01-23 2014-07-31 Iatas (Automatic Air Traffic Control) Ltd System and methods for automated airport air traffic control services
US9832205B2 (en) * 2013-03-15 2017-11-28 International Business Machines Corporation Cross provider security management functionality within a cloud service brokerage platform
US9378065B2 (en) * 2013-03-15 2016-06-28 Advanced Elemental Technologies, Inc. Purposeful computing
US9904579B2 (en) * 2013-03-15 2018-02-27 Advanced Elemental Technologies, Inc. Methods and systems for purposeful computing
US10038726B2 (en) * 2013-06-12 2018-07-31 Visa International Service Association Data sensitivity based authentication and authorization
KR101475462B1 (ko) * 2013-08-14 2014-12-23 브레인즈스퀘어(주) 사용자의 암호화 키로 암호화된 파일을 클라우드 스토리지와 동기화하는 시스템
WO2015065368A1 (en) * 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Realized topology system management database
US9817994B2 (en) * 2013-10-30 2017-11-14 Oracle International Corporation System and method for integrating a database with a service deployed on a cloud platform
US9692789B2 (en) * 2013-12-13 2017-06-27 Oracle International Corporation Techniques for cloud security monitoring and threat intelligence
US9602508B1 (en) * 2013-12-26 2017-03-21 Lookout, Inc. System and method for performing an action based upon two-party authorization
US9444819B2 (en) * 2014-01-16 2016-09-13 International Business Machines Corporation Providing context-based visibility of cloud resources in a multi-tenant environment
ES2552675B1 (es) * 2014-05-29 2016-10-10 Tecteco Security Systems, S.L. Método de enrutamiento con seguridad y autentificación a nivel de tramas
US10013574B2 (en) * 2014-06-11 2018-07-03 Bijit Hore Method and apparatus for secure storage and retrieval of encrypted files in public cloud-computing platforms
US10305726B2 (en) * 2014-06-22 2019-05-28 Cisco Technology, Inc. Cloud framework for multi-cloud extension
CN106471784A (zh) * 2014-08-06 2017-03-01 谷歌公司 设备访问控制
US8966578B1 (en) * 2014-08-07 2015-02-24 Hytrust, Inc. Intelligent system for enabling automated secondary authorization for service requests in an agile information technology environment
US9596267B2 (en) * 2014-08-26 2017-03-14 Microsoft Technology Licensing, Llc Multi cloud policy enactment via organizations to cloud-provider partnerships
US10250584B2 (en) * 2014-10-15 2019-04-02 Zuora, Inc. System and method for single sign-on technical support access to tenant accounts and data in a multi-tenant platform
US9430672B2 (en) * 2014-12-05 2016-08-30 Cisco Technology, Inc. Stack fusion architecture including distributed software clusters to enable software communication services
CN107409126B (zh) * 2015-02-24 2021-03-09 思科技术公司 用于保护企业计算环境安全的系统和方法
US9762585B2 (en) * 2015-03-19 2017-09-12 Microsoft Technology Licensing, Llc Tenant lockbox
CN106161402B (zh) * 2015-04-22 2019-07-16 阿里巴巴集团控股有限公司 基于云环境的加密机密钥注入系统、方法及装置
US9478084B1 (en) * 2015-05-08 2016-10-25 Shane Wesley Robinson System and method for cloud controlled common access entry point locking system
US9691205B2 (en) * 2015-05-08 2017-06-27 Shane Wesley Robinson Cloud controlled common access entry point locking system and method
US10075442B2 (en) * 2015-06-30 2018-09-11 Vmware, Inc. Methods and apparatus to grant access to cloud computing resources
US10395042B2 (en) * 2015-07-02 2019-08-27 Oracle International Corporation Data encryption service
EP3320447A4 (en) * 2015-07-07 2019-05-22 Private Machines Inc. REMOVABLE, SHARABLE, SECURE REMOTE STORAGE SYSTEM AND METHOD THEREOF
US10644951B2 (en) * 2015-07-22 2020-05-05 Hewlett Packard Enterprise Development Lp Adding metadata associated with a composite network policy
US9774586B1 (en) * 2015-08-31 2017-09-26 EMC IP Holding Company LLC Dynamic authorization of users in a multi-tenant environment using tenant authorization profiles
US9934395B2 (en) * 2015-09-11 2018-04-03 International Business Machines Corporation Enabling secure big data analytics in the cloud
US9894051B2 (en) * 2015-12-14 2018-02-13 International Business Machines Corporation Extending shrouding capability of hosting system
US9882901B2 (en) * 2015-12-14 2018-01-30 International Business Machines Corporation End-to-end protection for shrouded virtual servers
US9912478B2 (en) * 2015-12-14 2018-03-06 International Business Machines Corporation Authenticating features of virtual server system
US20170177613A1 (en) * 2015-12-22 2017-06-22 Egnyte, Inc. Event-Based User State Synchronization in a Cloud Storage System
EP3398073B1 (en) * 2016-02-10 2023-03-29 Mobileiron, Inc. Securely storing and distributing sensitive data in a cloud-based application
US20170279692A1 (en) * 2016-03-24 2017-09-28 Ca, Inc. Deploying a service from a selected cloud service provider based on an evaluation of migration ability using graph analytics
US10291604B2 (en) * 2016-06-03 2019-05-14 Docusign, Inc. Universal access to document transaction platform
US10349269B1 (en) * 2016-06-06 2019-07-09 Omnicharge, Inc. Apparatus, system and method for device activation
US11237595B2 (en) * 2016-06-06 2022-02-01 Omnicharge, Inc. Portable power solutions
US10630085B2 (en) * 2016-06-06 2020-04-21 Omnicharge, Inc. Portable power solutions
US20170357798A1 (en) * 2016-06-12 2017-12-14 Apple Inc. Removal of credentials from an electronic device
US10209907B2 (en) * 2016-06-14 2019-02-19 Microsoft Technology Licensing, Llc Secure removal of sensitive data
US20170032092A1 (en) * 2016-06-16 2017-02-02 Benjamin Franklin Mink Real Time Multispecialty Telehealth Interactive Patient Wellness Portal (IPWP)
JP6810334B2 (ja) * 2016-06-17 2021-01-06 富士通株式会社 プロファイルデータ配信制御装置、プロファイルデータ配信制御方法およびプロファイルデータ配信制御プログラム
US10225253B2 (en) * 2016-07-22 2019-03-05 Microsoft Technology Licensing, Llc Usage tracking in hybrid cloud computing systems
US10484460B2 (en) * 2016-07-22 2019-11-19 Microsoft Technology Licensing, Llc Access services in hybrid cloud computing systems
US10003585B2 (en) * 2016-08-02 2018-06-19 Samsung Electronics Co., Ltd. Systems, devices, and methods for preventing unauthorized access to storage devices
US10810321B2 (en) * 2016-08-11 2020-10-20 Intel Corporation Secure public cloud
US11625738B2 (en) * 2016-08-28 2023-04-11 Vmware, Inc. Methods and systems that generated resource-provision bids in an automated resource-exchange system
US10594684B2 (en) * 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
US11057467B2 (en) * 2016-09-22 2021-07-06 Spectra Logic Corporation Data object input in a hybrid cloud
US10601593B2 (en) * 2016-09-23 2020-03-24 Microsoft Technology Licensing, Llc Type-based database confidentiality using trusted computing
US20180097809A1 (en) * 2016-09-30 2018-04-05 Intel Corporation Securing access to cloud components
US10623497B2 (en) * 2016-10-11 2020-04-14 Microsoft Technology Licensing, Llc Leveraging pre-existing groups for IoT device access
US11250328B2 (en) * 2016-10-26 2022-02-15 Cognizant Technology Solutions U.S. Corporation Cooperative evolution of deep neural network structures
US10726140B2 (en) * 2016-10-28 2020-07-28 Servicenow, Inc. System and method for configuration management database governance
US10609077B1 (en) * 2016-12-16 2020-03-31 Amazon Technologies, Inc. Event-restricted credentials for resource allocation
US11188835B2 (en) * 2016-12-30 2021-11-30 Intel Corporation Object identification for improved ux using IoT network
US10944643B2 (en) * 2017-01-12 2021-03-09 Hitachi Vantara Llc Cloud infrastructure voting
CA3051500C (en) * 2017-01-26 2022-08-23 Walmart Apollo, Llc Cloud security stack
US10771469B1 (en) * 2017-01-30 2020-09-08 Skyhigh Networks, Llc Cloud service account management
US11113244B1 (en) * 2017-01-30 2021-09-07 A9.Com, Inc. Integrated data pipeline
US10911564B1 (en) * 2017-01-30 2021-02-02 Skyhigh Networks, Llc Cloud service account management method
US10207184B1 (en) * 2017-03-21 2019-02-19 Amazon Technologies, Inc. Dynamic resource allocation for gaming applications
US11366652B1 (en) * 2017-03-27 2022-06-21 Amazon Technologies, Inc. Extending game functionality through dynamic resource allocation
US11228591B2 (en) * 2017-03-29 2022-01-18 MobileIron, Inc. Correlating mobile device and app usage with cloud service usage to provide security
US10389586B2 (en) * 2017-04-04 2019-08-20 International Business Machines Corporation Configuration and usage pattern of a cloud environment based on iterative learning
US20180300557A1 (en) * 2017-04-18 2018-10-18 Amazon Technologies, Inc. Object analysis in live video content
US10962939B1 (en) * 2017-04-18 2021-03-30 Amazon Technologies, Inc. Fine-grain content moderation to restrict images
US20180322946A1 (en) * 2017-05-04 2018-11-08 RxAdvance Corporation Healthcare Actionable Intelligence Data Generation And Distribution
US11003499B1 (en) * 2017-06-14 2021-05-11 Amazon Technologies, Inc. Resource allocation based on agent behavior in a simulation environment
US10701094B2 (en) * 2017-06-22 2020-06-30 Oracle International Corporation Techniques for monitoring privileged users and detecting anomalous activities in a computing environment
US20190058709A1 (en) * 2017-08-16 2019-02-21 Telefonaktiebolaget Lm Ericsson (Publ) Tenant management method and system in a cloud computing environment
US20190066012A1 (en) * 2017-08-22 2019-02-28 Beavex Incorporated Enterprise customer website
US11637844B2 (en) * 2017-09-28 2023-04-25 Oracle International Corporation Cloud-based threat detection
WO2019118299A1 (en) * 2017-12-13 2019-06-20 Sentient Technologies (Barbados) Limited Evolving recurrent networks using genetic programming
EP3724819A4 (en) * 2017-12-13 2022-06-22 Cognizant Technology Solutions U.S. Corporation SCALABLE ARCHITECTURES FOR THE EVOLUTION OF DEEP NEURAL NETWORKS
US10810055B1 (en) * 2017-12-14 2020-10-20 Amazon Technologies, Inc. Request simulation for ensuring compliance
US11399025B2 (en) * 2018-01-26 2022-07-26 Vmware, Inc. Role-template-based batch management of tenant-specific roles and rights in a computing system
US10841389B2 (en) * 2018-02-13 2020-11-17 Oracle International Corporation Increasing reliability of push notification-based authentication or authorization
US11228573B1 (en) * 2018-03-09 2022-01-18 Equinix, Inc. Application programming interface exchange
US11121919B2 (en) * 2018-04-13 2021-09-14 Vmware, Inc. Methods and apparatus to determine a duration estimate and risk estimate of performing a maintenance operation in a networked computing environment
US10977218B1 (en) * 2018-05-18 2021-04-13 Amazon Technologies, Inc. Distributed application development
US20190356661A1 (en) * 2018-05-21 2019-11-21 Cyberark Software Ltd. Proxy manager using replica authentication information
US10805786B2 (en) * 2018-06-11 2020-10-13 Rapidsos, Inc. Systems and user interfaces for emergency data integration
US11012444B2 (en) * 2018-06-25 2021-05-18 Oracle International Corporation Declarative third party identity provider integration for a multi-tenant identity cloud service
US10754691B2 (en) * 2018-06-27 2020-08-25 International Business Machines Corporation Policy based requesting/approval system across multiple hybrid clouds
US11074773B1 (en) * 2018-06-27 2021-07-27 The Chamberlain Group, Inc. Network-based control of movable barrier operators for autonomous vehicles
US10749868B2 (en) * 2018-06-29 2020-08-18 Microsoft Technology Licensing, Llc Registration of the same domain with different cloud services networks
US10608892B2 (en) * 2018-07-27 2020-03-31 Vmware, Inc. Methods, systems and appratus for custom interface specification in a cloud management system
US11089026B2 (en) * 2018-08-08 2021-08-10 Salesforce.Com, Inc. Managing access credentials for a service provider
US11128624B2 (en) * 2018-09-24 2021-09-21 Salesforce.Com, Inc. Systems, methods, and apparatuses for logging in to an external website from a cloud based computing environment
US11044077B2 (en) * 2018-09-25 2021-06-22 Mcafee, Llc Modifiable client-side encrypted data in the cloud
US11258827B2 (en) * 2018-10-19 2022-02-22 Oracle International Corporation Autonomous monitoring of applications in a cloud environment
EP3644206A1 (en) * 2018-10-22 2020-04-29 Koninklijke Philips N.V. A container builder for individualized network services
WO2020091736A1 (en) * 2018-10-30 2020-05-07 Hewlett Packard Enterprise Development Lp Software defined wide area network uplink selection for a cloud service
CN112913196B (zh) * 2018-10-30 2023-06-06 慧与发展有限责任合伙企业 用云服务的虚拟ip地址的软件定义的广域网上行链路选择
US11270022B2 (en) * 2018-11-16 2022-03-08 Code 42 Software, Inc. Sensitive data movement detection
US20200160985A1 (en) * 2018-11-20 2020-05-21 Symplast Acquisition Inc. Patient-Centric Eco-System with Automated Workflow and Facility Manager for Improved Delivery of Medical Services
US11394711B2 (en) * 2018-11-29 2022-07-19 Microsoft Technology Licensing, Llc Streamlined secure deployment of cloud services
US11349864B2 (en) * 2018-11-29 2022-05-31 Blackberry Limited Determining security risks for software services in a cloud computing platform
US11824643B2 (en) * 2018-12-06 2023-11-21 Convida Wireless, Llc Security lifecycle management of devices in a communications network
US10680912B1 (en) * 2019-01-09 2020-06-09 International Business Machines Corporation Infrastructure resource provisioning using trace-based workload temporal analysis for high performance computing
US11876910B2 (en) * 2019-01-31 2024-01-16 Salesforce, Inc. Systems, methods, and apparatuses for implementing a multi tenant blockchain platform for managing Einstein platform decisions using distributed ledger technology (DLT)
US11695654B2 (en) * 2019-02-27 2023-07-04 Hewlett Packard Enterprise Development Lp High performance compute infrastructure as a service
US11310238B1 (en) * 2019-03-26 2022-04-19 FireEye Security Holdings, Inc. System and method for retrieval and analysis of operational data from customer, cloud-hosted virtual resources
US11258865B2 (en) * 2019-03-28 2022-02-22 Servicenow, Inc. Automated integration with cloud-based services
AU2020254292A1 (en) * 2019-03-29 2021-11-04 Rapidsos, Inc. Systems and methods for emergency data integration
US11196749B2 (en) * 2019-04-26 2021-12-07 Oracle International Corporation System and method for controlling a multi-tenant service-oriented architecture
US10798084B1 (en) * 2019-04-30 2020-10-06 Sailpoint Technologies, Inc. System and method for identity management of cloud based computing services in identity management artificial intelligence systems
US11303641B2 (en) * 2019-05-07 2022-04-12 Citrix Systems, Inc. Methods and systems for accessing remotely stored files using virtual applications
US11375367B2 (en) * 2019-05-07 2022-06-28 Verizon Patent And Licensing Inc. System and method for deriving a profile for a target endpoint device
US11507295B2 (en) * 2019-08-30 2022-11-22 Microstrategy Incorporated Backup, restoration, and migration of computer systems
US11265328B2 (en) * 2019-09-12 2022-03-01 Snowflake Inc. Private data exchange metrics sharing
US11334604B2 (en) * 2019-09-12 2022-05-17 Snowflake Inc. Private data exchange
US10817346B1 (en) * 2019-09-23 2020-10-27 ForgeRock, Inc. Secure service isolation between instances of cloud products using a SaaS model
US11283785B2 (en) * 2019-09-24 2022-03-22 Citrix Systems, Inc. Systems and methods for credential control among a plurality of client devices
US11082304B2 (en) * 2019-09-27 2021-08-03 Oracle International Corporation Methods, systems, and computer readable media for providing a multi-tenant software-defined wide area network (SD-WAN) node
US10628244B1 (en) * 2019-10-29 2020-04-21 Snowflake Inc. Calling external functions from a data warehouse
US11363110B2 (en) * 2019-11-13 2022-06-14 First Canadian Benefits Inc. Content distribution systems
US11281541B2 (en) * 2020-01-15 2022-03-22 EMC IP Holding Company LLC Dynamic snapshot backup in multi-cloud environment
US11436149B2 (en) * 2020-01-19 2022-09-06 Microsoft Technology Licensing, Llc Caching optimization with accessor clustering
US11030343B1 (en) * 2020-01-28 2021-06-08 Snowflake Inc. System and method for creating a global data sharing listing
US11363009B2 (en) * 2020-02-26 2022-06-14 Keeper Security, Inc. System and method for providing secure cloud-based single sign-on connections using a security service provider having zero-knowledge architecture
US11503028B2 (en) * 2020-03-23 2022-11-15 Microsoft Technology Licensing, Llc Secure remote troubleshooting of private cloud
US11153325B1 (en) * 2020-04-30 2021-10-19 Splunk Inc. Server-based restricted access storage
US11303432B2 (en) * 2020-05-01 2022-04-12 Microsoft Technology Licensing, Llc Label-based double key encryption
US10992540B1 (en) * 2020-05-19 2021-04-27 Cisco Technology, Inc. Determining formal models using weighting factors for computing elements in multi-cloud environments
US11424989B2 (en) * 2020-06-15 2022-08-23 Cisco Technology, Inc. Machine-learning infused network topology generation and deployment
US11494509B2 (en) * 2020-06-19 2022-11-08 Salesforce.Com, Inc. Controlling just in time access to a cluster
CN116018779A (zh) * 2020-06-29 2023-04-25 伊鲁米纳公司 面向软件即服务租户的基于策略的基因组数据共享
US10911407B1 (en) * 2020-08-04 2021-02-02 Palo Alto Networks, Inc. Localization at scale for a cloud-based security service
US11848956B2 (en) * 2021-04-26 2023-12-19 Orca Security LTD. Systems and methods for disparate risk information aggregation
US20230239301A1 (en) * 2022-01-21 2023-07-27 Vmware, Inc. Methods and apparatus for sharing cloud resources in a multi-tenant system using self-referencing adapter
US20230259994A1 (en) * 2022-02-11 2023-08-17 Sap Se Reference-based software application blueprint creation
WO2023167975A1 (en) * 2022-03-02 2023-09-07 Cayosoft, Inc. Systems and methods for directory service backup and recovery
US20230291667A1 (en) * 2022-03-09 2023-09-14 Akira, Inc. Regionally distributed multicloud exchange alert triaging
US20230344698A1 (en) * 2022-04-20 2023-10-26 Alkira, Inc. Global alert management
US20230344918A1 (en) * 2022-04-20 2023-10-26 Red Hat, Inc. Computing resource usage control using seed and token generation
US20240056388A1 (en) * 2022-08-10 2024-02-15 Palo Alto Networks, Inc. Supporting overlapping network addresses universally

Also Published As

Publication number Publication date
EP4173232A1 (en) 2023-05-03
JP2023532297A (ja) 2023-07-27
CA3177396A1 (en) 2022-01-06
WO2022005914A1 (en) 2022-01-06
US20210409409A1 (en) 2021-12-30
CN115868144A (zh) 2023-03-28
AU2021299194A1 (en) 2023-01-05

Similar Documents

Publication Publication Date Title
US20210409409A1 (en) Temporary cloud provider credentials via secure discovery framework
US20220084643A1 (en) Blockchain-based mechanisms for secure health information resource exchange
Tuecke et al. Globus Auth: A research identity and access management platform
US8955037B2 (en) Access management architecture
JP2022078136A (ja) マルチテナントアイデンティティクラウドサービスのためのデータ管理
JP5356221B2 (ja) 役割ベースのアクセス制御ポリシーの資源許可ポリシーへの変換
US20210409400A1 (en) Policy-based genomic data sharing for software-as-a-service tenants
Al Asad et al. Permission-based blockchain with proof of authority for secured healthcare data sharing
US20110214165A1 (en) Processor Implemented Systems And Methods For Using Identity Maps And Authentication To Provide Restricted Access To Backend Server Processor or Data
JP2017515233A (ja) 安全なコンピューティングシステム及び方法
US11556667B2 (en) Facilitating processing of a query on shareable data in a temporary vault
Jin et al. Role and attribute based collaborative administration of intra-tenant cloud iaas
Abayomi-Alli et al. An enterprise cloud-based electronic health records system
EP4053725A1 (en) Tenant user management in cloud database operation
Belmann et al. de. NBI Cloud federation through ELIXIR AAI
Langella et al. Sharing data and analytical resources securely in a biomedical research grid environment
Sinnott Grid security
Kersic et al. Orchestrating Digital Wallets for On-and Off-Chain Decentralized Identity Management
Biancini et al. AARC: first draft of the blueprint architecture for authentication and authorisation infrastructures
Haidar et al. Audited credential delegation: a usable security solution for the virtual physiological human toolkit
Ranawaka et al. Custos Secrets: a Service for Managing User-Provided Resource Credential Secrets for Science Gateways
US20230077995A1 (en) Application Programming Interface (API) Automation Framework
US20230176753A1 (en) Bridging Authorization Standard for Cloud Storage
Sinnott et al. User oriented access to secure biomedical resources through the grid
Belmann et al. de. NBI Cloud federation through ELIXIR AAI [version 1; peer