KR20170089901A - 다면적인 컴퓨트 인스턴스 식별 정보 - Google Patents

다면적인 컴퓨트 인스턴스 식별 정보 Download PDF

Info

Publication number
KR20170089901A
KR20170089901A KR1020177017526A KR20177017526A KR20170089901A KR 20170089901 A KR20170089901 A KR 20170089901A KR 1020177017526 A KR1020177017526 A KR 1020177017526A KR 20177017526 A KR20177017526 A KR 20177017526A KR 20170089901 A KR20170089901 A KR 20170089901A
Authority
KR
South Korea
Prior art keywords
instance
compute instance
cvi
compute
identification information
Prior art date
Application number
KR1020177017526A
Other languages
English (en)
Other versions
KR101957076B1 (ko
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 KR20170089901A publication Critical patent/KR20170089901A/ko
Application granted granted Critical
Publication of KR101957076B1 publication Critical patent/KR101957076B1/ko

Links

Images

Classifications

    • 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/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

가상 컴퓨팅 서비스(VCS; virtual computing service)의 컴퓨트 인스턴스는 각각의 명칭 공간들 내 제1 및 제2 암호로 확인 가능한 식별 정보들(CVIs; cryptographically verifiable identities)을 할당받는다. 제1 CVI와 연관된 암호화 키 쌍은 비밀 키가 복사되는 것을 허락하지 않는 보안 키 저장소에 의해 관리되는 양도 불가능한 비밀 키를 포함한다. VCS는 인스턴스가 CVI들을 어써트하기 위해 비밀 키를 사용하게 한다. 제1 식별 정보 질의에 응답하여, 인스턴스는 제1 CVI를 표시한다. 제2 식별 정보 질의에 응답하여, 인스턴스는 제2 CVI를 표시한다.

Description

다면적인 컴퓨트 인스턴스 식별 정보{MULTI-FACETED COMPUTE INSTANCE IDENTITY}
많은 회사 및 다른 조직들은 이를테면 같은 장소에 위치되는(예를 들어, 로컬 네트워크의 부분으로서) 또는 대신 다수의 별개의 지리적 장소에 위치되는(예를 들어, 하나 이상의 구내 또는 공중 중간 네트워크를 통해 연결되는) 컴퓨팅 시스템들에 의해, 그들의 작업들을 지원하기 위해 많은 컴퓨팅 시스템을 상호연결하는 컴퓨터 네트워크들을 운용한다. 예를 들어, 상당수의 상호연결된 컴퓨팅 시스템을 하우징하는 데이터 센터들, 이를테면 단일 조직에 의해 그리고 그것을 대신하여 운용되는 구내 데이터 센터들, 및 고객들에게 컴퓨팅 자원들을 제공하기 위한 사업들로서 기업체들에 의해 운용되는 공중 데이터 센터들은 흔히 있는 일이 되었다. 몇몇 공중 데이터 센터 운용자는 다양한 고객이 소유하는 하드웨어에 네트워크 액세스, 전력, 및 보안 설치 기능들을 제공하는 한편, 다른 공중 데이터 센터 운용자들은 또한 그들의 고객들이 사용할 수 있게 만들어진 하드웨어 자원들을 포함하는 "풀 서비스" 기능들을 제공한다.
상용 하드웨어에 대한 가상화 기술들의 도래는 다양한 요구에 의해 많은 고객에 대한 대규모 컴퓨팅 자원을 관리하는 것에 대한 편의를 제공하여, 다양한 컴퓨팅 자원이 다수의 고객에 의해 효율적으로 그리고 안전하게 공유되게 했다. 예를 들어, 가상화 기술들은 각 사용자에게 단일 물리적 컴퓨팅 기계에 의해 호스팅되는 하나 이상의 가상 기계를 제공함으로써 단일 물리적 컴퓨팅 기계가 다수의 사용자 간에 공유되게 할 수 있다. 각각의 그러한 가상 기계는 사용자들에게 그들이 주어진 하드웨어 컴퓨팅 자원의 유일한 운용자들 및 관리자들이라는 착각을 제공하는 한편, 또한 다양한 가상 기계 간 애플리케이션 격리를 제공하는 상이한 논리적 컴퓨팅 시스템으로서의 역할을 하는 소프트웨어 시뮬레이션으로서 생각될 수 있다.
공중 데이터 센터들에 구현되는 가상화된 컴퓨팅 서비스들은 "컴퓨터 인스턴스들"의 형태로 클라이언트가 사용할 수 있는 컴퓨팅 능력들을 일괄할 수 있으며, 몇몇 그러한 컴퓨트 인스턴스는 보통 하나 이상의 서비스 클라이언트를 대신하여 주어진 하드웨어 서버 상에 호스팅된다. 그 다음 클라이언트들은 컴퓨트 인스턴스들 상에서 원하는 애플리케이션들의 집합들을 실행하여, 보통 가상 컴퓨팅 서비스의 웹 기반 콘솔을 통해 관리 동작들을 수행할 수 있다. 많은 경우, 클라이언트들은 식별 정보 확인을 요구하는 애플리케이션들을 실행하기 위해 컴퓨트 인스턴스들을 사용하기를 - 즉, 애플리케이션의 다양한 작업을 수행하기 위해 , 컴퓨트 인스턴스의 권한을 획득하기를 원할 수 있거나, 또는 다른 서비스들로부터의 작업 동작들을 요청하기 위해, 인스턴스의 식별 정보가 확인되어야 할 수 있다. 침입자들이 다양한 네트워크 및 서비스를 공격하는 빈도 및 정교함이 증가함에 따라, 가상화된 컴퓨팅 서비스들의 클라이언트들은 자원 식별 정보 확인 동안 보안 수준이 높은 메커니즘들에 대한 지원을 제공하지 않는 컴퓨트 인스턴스들 또는 다른 자원들을 이용하기를 주저하게 될 수 있다.
도 1은 적어도 몇몇 실시예에 따른, 가상 컴퓨팅 서비스에 구현된 컴퓨트 인스턴스가 각각의 명칭 공간들 내 몇몇 상이한 암호로 확인 가능한 식별 정보들(CVIs; cryptographically verifiable identities)을 할당받을 수 있는 예시적인 시스템 환경을 도시한다.
도 2는 적어도 몇몇 실시예에 따른, 컴퓨트 인스턴스에 할당될 수 있는 식별 정보들의 유형들의 예들을 도시한다.
도 3은 적어도 몇몇 실시예에 따른, 다수의 애플리케이션의 인증 구성요소들 및 컴퓨트 인스턴스 간 상호작용들의 예들을 도시한다.
도 4는 적어도 몇몇 실시예에 따른, 컴퓨트 인스턴스가 보안 키 저장소에 의해 관리되는 양도 불가능한 비밀 키를 이용하게 하는 프로그램 인터페이스가 구현될 수 있는 인스턴스 호스트의 예를 도시한다.
도 5는 적어도 몇몇 실시예에 따른, 클라이언트 및 인스턴스 구성 관리자 간 식별 정보 관련 제어 영역 상호작용들의 예들을 도시한다.
도 6은 적어도 몇몇 실시예에 따른, 인스턴스 구성 관리자에 제출되는 식별 정보 할당 요청들에 포함될 수 있는 식별 정보 설명자들의 예시적인 콘텐츠를 도시한다.
도 7은 적어도 몇몇 실시예에 따른, 인스턴스 식별 정보 할당에 관계된 관리상 요청들에 응답하기 위해 수행될 수 있는 동작들의 측면들을 도시하는 흐름도이다.
도 8은 적어도 몇몇 실시예에 따른, 각각의 명칭 공간들 내 하나 이상의 식별 정보가 할당된 컴퓨트 인스턴스에서 수행될 수 있는 동작들의 측면들을 도시하는 흐름도이다.
도 9는 적어도 몇몇 실시예에서 사용될 수 있는 예시적인 컴퓨팅 될 수 있다를 도시하는 블록도이다.
실시예들이 몇몇 실시예 및 예시적인 도면들에 대한 예로서 본 출원에 설명되지만, 해당 기술분야의 통상의 기술자들은 실시예들이 설명된 실시예들 또는 도면들로 제한되지 않음을 인식할 것이다. 도면들 및 그것에 대한 상세한 설명은 개시된 특정 형태로 실시예들을 제한하지 않도록 의도되고, 오히려 그와는 반대로, 첨부된 청구항들에 의해 정의되는 바와 같은 사상 및 범위 내에 들어가는 모든 변형예, 등가예 및 대안예를 망라하도록 의도된다는 것이 이해되어야 한다. 본 출원에 사용되는 제목들은 단지 조직 목적들을 위함이고 설명 또는 청구항들의 범위를 제한하기 위해 사용된 것으로 여겨지지 않는다. 본 출원 전체에 걸쳐 사용될 때, 단어 "할 수 있다"는 필수적 의미(즉, 해야한다는 의미)가 아니라, 관용적 의미(즉, 가능성을 가짐을 의미)로 사용된다. 유사하게, 단어들 "포함하다", "포함하는", 및 "포함한다"는 한정되는 것은 아니지만, 포함하는 것을 의미한다.
제공자 네트워크들의 컴퓨트 인스턴스들에 각각의 명칭 공간들 내 다수의 암호로 확인 가능한 식별 정보(CVIs; cryptographically verifiable identities)를 할당, 관리, 및 사용하기 위한 방법들 및 장치의 다양한 실시예가 설명된다. 소정의 컴퓨트 인스턴스에 각각이 각각의 애플리케이션들 또는 애플리케이션들의 집합들에 대해 독립적으로 검증 및 사용될 수 있는 다수의 식별 정보를 할당하는 것은 또한 본 출원에서 다면적인 식별 정보 할당으로서 지칭될 수 있다. 인터넷 및/또는 다른 네트워크들을 통해 분산된 클라이언트들 또는 고객들의 집합에 액세스가능한 하나 이상의 서비스(이를테면 다양한 유형의 멀티-테넌트 및/또는 싱글-테넌트 클라우드-기반 컴퓨팅 또는 저장 서비스)를 제공하기 위해 기업체 이를테면 회사 또는 정부 조직에 의해 셋 업되는 네트워크들은 본 문서에서 제공자 네트워크들이라 칭할 수 있다. 제공자 네트워크들은 또한 "공용 클라우드" 환경들로서 지칭될 수도 있다. 용어 "멀티-테넌트 서비스"는 본 출원에서 상이한 클라이언트 개체들이 각각의 맞춤형 분리된 뷰들의 서비스를 제공 받고, 그에 따라 기초를 이루는 소정의 자원들의 집합을 사용하여 서비스 기능의 일부들을 제공 받고 있는 하나의 클라이언트가 자원들의 집합이 또한 다른 클라이언트들을 위해서도 사용되고 있음을 인식하지 않을 수 있게 되는 것과 같은 방식으로 애플리케이션 및/또는 데이터 가상화를 구현하도록 설계된 서비스를 지칭하기 위해 사용될 수 있다. 예를 들어, 멀티-테넌트 가상화된 컴퓨팅 서비스(VCS; virtualized computing service)는 어떤 클라이언트에게도 하드웨어 서버가 다른 클라이언트들가 공유되고 있음을 알리지 않고, 소정의 하드웨어 서버에서 각각의 클라이언트들을 대신하여 몇몇 상이한 컴퓨트 인스턴스(게스트 가상 기계)를 인스턴스화할 수 있다. 컴퓨트 인스턴스들은 본 출원에서 간단히 "인스턴스들"로서 지칭될 수 있고, 하나 이상의 컴퓨트 인스턴스가 실행되는 하드웨어 서버들은 "인스턴스 호스트들" 또는 "가상화 호스트들"로서 지칭될 수 있다. 제공자 네트워크는 몇몇 실시예에서, 멀티-테넌트 서비스들에 추가하여, 또는 그것들 대신, 싱글-테넌트 서비스들을 지원할 수 있고, 자원들 이를테면 인스턴스 호스트는 소정의 시간 기간 동안 싱글-테넌트 모드 또는 멀티-테넌트 모드로 사용될 수 있다. 제공자 네트워크는 통상적으로 제공자에 의해 제공되는 인프라스트럭처 및 서비스들을 구현, 구성 및 분산하기 위해 요구되는 다양한 자원 풀, 이를테면 물리적 및/또는 가상화된 컴퓨터 서버들, 저장 디바이스들, 네트워킹 장비, 보안 관련 장비 기타 같은 종류의 것의 집합들을 호스팅하는 몇몇 대형 데이터 센터를 포함할 수 있다.
용인되는 가상화 접근법들에 따르면, 인스턴스 호스트들에 대한 세부사항(이를테면 사용되는 프로세서들 또는 코어들, 또는 호스트들이 물리적으로 위치되는 특정 데이터 센터들의 절대적 수행 능력들) 뿐만 아니라 컴퓨트 인스턴스들 및 인스턴스 호스트들 간 맵핑들(예를 들어, 얼마나 많은 컴퓨트 인스턴스가 소정의 호스트에서 실행되는지, 또는 인스턴스들이 호스트를 공유하는 클라이언트들의 식별 정보)은 적어도 몇몇 경우 대신하여 컴퓨트 인스턴스들이 실행되는 클라이언트들이 이용 불가능할 수 있다. 각 인스턴스 호스트마다, VCS는 통상적으로 또한 분명한 보안 이유들로 클라이언트들이 액세스하기 힘들 수 있는, 하나 이상의 가상화 관리 구성요소, 이를테면 하이퍼바이저, 관리상 운영 체제 도메인 기타 같은 종류의 것으로 가상화 관리 소프트웨어 스택을 배치할 수 있다, 몇몇 실시예에서, 상이한 유형들 또는 분류들의 컴퓨트 인스턴스들(예를 들어, 하나 이상의 운영 체제에 대응하는 "작은", "중간" 또는 "큰" 인스턴스들)이 컴퓨팅 서비스에 의해 정의될 수 있으며, 각 인스턴스 유형의 상대적인 능력들 및 대응하는 가격 정책의 몇몇 표시는 잠재적인 클라이언트들이 이용가능하게 된다. 인스턴스 유형 정의들을 고려해 볼 때, 일 실시예에서, 클라이언트들은 그들이 제공자 네트워크의 몇몇 계층적인 서브-유닛 이를테면 느슨하게 지리적으로 정의된 "영역" 내에서 각 유형의 얼마나 많은 인스턴스를 획득하기를 원하는지를 선택할 수 있을 수 있다.
제공자 네트워크의 몇몇 클라이언트는 그들의 애플리케이션들 중 적어도 몇몇에 대해 다른 것들보다 보다 높은 레벨의 보안 및/또는 식별 정보 검증을 요구할 수 있다. (용어 애플리케이션은 본 출원에서 사용될 때, 사용자 모드, 커널/시스템 모드, 또는 사용자 및 커널/시스템 모드들의 조합으로 실행될 수 있는, 임의의 유형의 실행 가능한 프로그램 구성요소 또는 구성요소들의 조합을 지칭할 수 있음이 주의된다.) 특히, 많은 상이한 VCS 클라이언트가 소정의 하드웨어 서버를 사용하는 것이 가능할 수 있다는 사실을 고려해서, 클라이언트들은 외부 개체(이를테면 상이한 서비스를 구현하는 서버)가 정당하게 상호작용할 소정의 컴퓨트 인스턴스가 그것이 표방하는 컴퓨트 인스턴스라는 일정한 레벨의 확신을 획득하기를 원할 수 있다. 몇몇 실시예에서, VCS 사용자들이 그러한 확신을 수동으로(예를 들어, VCS에 의해 구현되는 관리상 콘솔과의 상호작용들을 통해) 제공하는 것이 가능할 수 있으나, 그러한 수동 접근법들은 주지의 사실로서 오류 발생이 쉽고 또한 침입자들에게 약할 수 있다.
적어도 몇몇 실시예에서, 컴퓨트 인스턴스들에서 또는 그것들에 의해 수행되는 다양한 유형의 보안 관련 동작들을 위해 사용 가능한 양도 불가능한 암호화 등급 키들을 제공하기 위한 메커니즘이 가상 컴퓨팅 서비스에 구현될 수 있다. 그러한 메커니즘에 따르면, 소정의 컴퓨트 인스턴스와 연관된 식별 정보 검증 동작들을 위해 사용될 암호화 등급 키 쌍의 비밀 키는 보안 키 저장소에 저장 및/또는 그것에서 관리될 수 있고, 그에 따라 비밀 키 그 자체는 키 쌍이 사용될 컴퓨트 인스턴스에 의해(또는 임의의 다른 컴퓨트 인스턴스에 의해) 복사 또는 검사될 수 없게 된다. 인터페이스의 사용자 또는 호출자에게 비밀 키를 보이지 않고, 컴퓨트 인스턴스에 의한 (예를 들어, 식별 정보-관련 암호 아티팩트들 이를테면 디지털 서명을 생성 또는 획득하기 위해) 비밀 키의 사용을 가능하게 하는 프로그램 인터페이스들이 적어도 몇몇 실시예에서 하나 이상의 VCS 구성요소에 의해 구현될 수 있다. 인스턴스 호스트에서의 가상화 관리 구성요소 이를테면 하이퍼바이저 또는 관리상 도메인 운영 체제는 일 실시예에서 양도 불가능한 키들에 대한 그러한 동작들을 위한 하나 이상의 API들(응용 프로그램 인터페이스들)을 구현할 수 있고, 해당 호스트에서 실행되는 컴퓨트 인스턴스는 인스턴스에 할당된 하나 이상의 암호로 확인가능한 식별 정보를 어써트하기 위해 사용될 아티팩트들(artifacts) 또는 메타데이터를 획득하기 위해 그러한 API를 호출할 수 있다. 몇몇 구현예에서, 보안 키 저장소는 인스턴스 호스트 - 예를 들어, 인스턴스 호스트의 통신 버스 이를테면 로핀 카운트 버스 또는 PCIe(주변 구성요소 상호접속 - 익스프레스) 버스를 통해 접속된 신뢰 플랫폼 모듈(TPM; trusted platform module) 또는 유사한 주변 디바이스에 위치될 수 있다. 다른 실시예들에서, 가상화 관리 구성요소 및/또는 컴퓨트 인스턴스로부터 네트워크를 통해 액세스 가능한 외부 보안 키 저장소, 이를테면 하드웨어 보안 모듈(HSM; hardware security module)이 사용될 수 있다. 적어도 일 실시예에서, 다수의 암호화 키 쌍이 소정의 컴퓨트 인스턴스에 지정될 수 있으며, 각 그러한 키 쌍의 비밀 키는 이에서 설명된 바와 같이 보안 키 저장소에 의해 관리되고; 다른 실시예들에서는, 단지 단일 키 쌍이 소정의 컴퓨트 인스턴스에 대해 사용될 수 있다. 다수의 키 쌍이 소정의 컴퓨트 인스턴스에 할당되는 몇몇 구현예에서, 키 쌍들 중 몇몇의 비밀 키들은 소정의 보안 키 저장소(예를 들어, 컴퓨트 인스턴스가 론칭되는 인스턴스 호스트에서의 로컬 TPM, 또는 네트워크를 통해 도달되는 원격 HSM)에 의해 관리될 수 있고; 다른 구현예들에서, 각 비밀 키는 각각의 보안 키 저장소에 의해 관리될 수 있다.
소정의 컴퓨트 인스턴스가 사용되는 애플리케이션들의 집합에 따라, 각각의 명칭 공간들 내 몇몇 상이한 식별 정보 또는 명칭은 적어도 몇몇 실시예에서 인스턴스에 할당될 수 있다. 식별 정보들의 각각은 예를 들어, X.509 또는 신뢰의 고리로 구성된 각각의 식별 정보 검증 기관들에 의해 디지털 방식으로 설명된 다른 유사한 디지털 인증서들의 도움으로, 또는 임의의 적절한 암호화 알고리즘을 사용하여 암호로 확인 가능할 수 있다. 컴퓨트 인스턴스에 지정된 키 쌍의 공개 키는 몇몇 실시예에서 그러한 인증서들에 표시될 수 있으며, 비밀 키는 위에서 설명된 바와 같이 보안 키 저장소에서 관리 및/또는 그것에 저장된다. 각각의 그러한 식별 정보는 본 출원에서 암호로 확인가능한 식별 정보(CVI; cryptographically verifiable identity)로서 지칭될 수 있다. 적어도 몇몇 실시예에서, 가상화된 컴퓨팅 서비스는 하나 이상의 암호화 키를 사용하기 위한 소정의 컴퓨트 인스턴스가 (예를 들어, 인스턴스가 비밀 키를 사용하기 위해 요구되는 API들을 사용하게 하는 적절한 권한들을 부여함으로써, 키들 및 인스턴스들 간 고유 결합들을 생성함으로써, 보안 키 소스들을 구성함으로써, 등) 그것의 CVI 또는 CVI들을 어써트하기 위해 요구되는 아티팩트들을 생성하게 할 수 있다. 적어도 몇몇 실시예에서 다수의 상이한 유형들의 CVI가 소정의 컴퓨트 인스턴스에 지정 또는 할당될 수 있다. 예를 들어, VCS는 일 실시예에서 가상 IP(인터넷 프로토콜) 어드레스에 적어도 부분적으로 기초하여 DNS(도메인 명칭 체계) 명칭을 하나의 CVI로서 컴퓨트 인스턴스에 할당할 수 있다. (그러한 IP 어드레스는 그것이 예를 들어, 물리적 네트워크 인터페이스 카드들의 재구성을 요구하지 않고 VCS에 의해 하나의 컴퓨트 인스턴스로부터 다른 인스터스로 프로그램에 따라 양도될 수 있기 때문에 본 출원에서 "가상"이라 칭할 수 있다.) 예를 들어, VCS는 가상 IP 어드레스(54.87.134.66)를 인스턴스에 할당할 수 있고, DNS 명칭 공간 내에서 고유한 명칭 이를테면 <VCS-service-name>-54-87-134-66-<geographical-container>-<vcs-domain-name>이 CVI로서 할당될 수 있다. 동일한 컴퓨트 인스턴스는 또한 예를 들어, 고객-정의 명칭 공간에서의 제2 CVI를 할당받을 수 있다. 고객은 예를 들어, 명칭들 이를테면 App1-Node0, App1-Node1, App1-Node2 등을 사용하여 특정 애플리케이션 클러스터의 각각의 노드들로서 구성된 모든 컴퓨트 인스턴스를 식별하기를 바랄 수 있다. 고객의 애플리케이션 환경의 다른 구성요소들(이들 중 몇몇은 컴퓨트 인스턴스들을 위해 사용되는 제공자 네트워크 내에서 실행되고 있을 수 있는 한편, 다른 것들은 외부 네트워크들에 위치될 수 있음)과 통신할 때, 제1 CVI 대신 제2 CVI가 사용될 수 있다. 유사하게, 컴퓨트 인스턴스를 특정 제3자 소프트웨어 서비스를 위한(또는 로컬에 설치된 소프트웨어를 위한) 라이선스 소지자로서 식별하는 제3 CVI가 인스턴스로부터의 제3자 소프트웨어 서비스의 사용을 가능하게 하기 위해 컴퓨트 인스턴스에 할당될 수 있다. 몇몇 실시예에서, 제3자 명칭 공간들 - 예를 들어, 제공자 네트워크 운용자의(또는 클라이언트의) 사업 파트너에 의해 관리되는 명칭 공간들 - 내 CVI들의 할당이 또한 지원될 수 있다. 따라서, 일반적으로, 다양한 실시예에서 각각의 명칭 공간들 내 다양한 상이한 CVI는 소정의 컴퓨트 인스턴스에 할당될 수 있다. 명칭 공간은 본 출원에서 인스턴스 식별 정보 명칭 공간들(INNs; instance identity namespaces)로서 지칭될 수 있고, 각각의 그러한 명칭 공간은 상이한 인스턴스들에 할당될 특정 명칭들을 선택하는 것, 그것들의 각각의 명칭 공간들에 대한 임의의 고유성 자격 요건을 실행하는 것, 그것들의 각각의 명칭 공간들 내 식별 정보들을 검증하는 것에 책임이 있는 기관들을 식별하는 것 등에 책임이 있는 관련 명칭 공간 소유자/관리자를 가질 수 있다. 다양한 상황에서 유용할 수 있는 CVI들의 유형들의 예들이 도 2에 제공되고 아래에서 논의된다.
적어도 일 실시예에 따르면, 식별 정보 관련 질의 이를테면 제1 애플리케이션과 연관된 제1 인증자로부터의 인증 요청에 응답하여, 다수의 CVI가 할당된 컴퓨트 인스턴스는 해당 애플리케이션과 연관된 제1 인스턴스 식별 정보 명칭 공간 내 제1 CVI의 표시를 제공할 수 있다. 몇몇 구현예에서 식별 정보 관련 질의는 명칭 공간을 명시적으로 또는 묵시적으로 나타낼 수 있거나, 또는 컴퓨트 인스턴스는 질의를 위해 사용되는 API의 유형 또는 식별 정보 관련 질의가 수신되는 소스에 기초하여 명칭 공간을 추론할 수 있을 수 있다. 제1 CVI는 제1 컴퓨트 인스턴스에 지정된 암호화 키 쌍과 연관될 수 있으며, 키 쌍의 비밀 키는 위에서 논의된 바와 같이 보안 키 저장소 외부의 장소들에 상기 비밀 키가 복사되는 것을 방지하도록 구성된 보안 키 저장소에 의해 관리된다. CVI를 나타내는 정보(예를 들어, 하나 이상의 인증서, 디지털 서명, 또는 다른 암호로 생성된 아티팩트)를 제공하는 것은 또한 본 출원에서 CVI를 "어써트(assert)하는 것"으로서 지칭될 수 있다. 위에서 논의된 바와 같이, 인스턴스에 의한 비밀 키의 사용은 적어도 몇몇 실시예에서 가상화된 컴퓨팅 서비스에 의해 가능하게 될 수 있고; 그 결과, 그러한 실시예들에서 VCS의 참여 및/또는 동의가 적어도 몇몇 유형의 CVI들을 지원하기 위해 요구될 수 있다. 몇몇 실시예에서, 식별 정보 관련 질의에 응답하여 제공될 정보를 결정하기 위해, 컴퓨트 인스턴스는 인스턴스가 론칭된 인스턴스 호스트에서의 가상화 관리 구성요소에 의해 구현되는 하나 이상의 프로그램 인터페이스를 호출할 수 있다.
제1 CVI의 표시를 수신하는 것에 응답하여, 제1 인증자는 (예를 들어, 컴퓨트 인스턴스에 의해 제공된 인증서가 신뢰 기관에 의해 서명됨을 보장함으로써, 그리고/또는 컴퓨트 인스턴스에 의해 제공된 디지털 서명을 인스턴스의 공개 키를 사용하여 해독 및 확인함으로써) 주장된 식별 정보가 유효함을 확인할 수 있다. 몇몇 경우, 인증자는 어써트된 식별 정보가 유효함을 확인하기 위해 다른 개체들(예를 들어, 명칭 공간에 지정된 하나 이상의 식별 정보 검증자)과 통신해야 할 수 있다. 식별 정보가 성공적으로 확인된 경우, 컴퓨트 인스턴스는 제1 애플리케이션의 하나 이상의 동작을 수행하도록 허락될 수 있고, 그러한 권한의 표시가 컴퓨트 인스턴스에 송신될 수 있다. 유사하게, 상이한 애플리케이션 및 상이한 IIN과 연관된 상이한 인증자로부터의 제2 식별 정보 질의에 응답하여, 제1 컴퓨트 인스턴스는 그것에 할당된 제2 CVI의 표시를 제공할 수 있다. 그 다음 제2 CVI는 예를 들어, 제2 IIN의 상황이라는 점을 제외하고는 제1 CVI에 대해 위에서 설명된 바와 유사한 접근법을 사용하여, 제2 인증자에 의해 확인될 수 있다. 제2 CVI가 유효한 건으로 판명된 경우, 컴퓨트 인스턴스는 제2 애플리케이션의 동작들을 수행할 수 있게 하게 될 수 있다. 유사한 상호작용들은 컴퓨트 인스턴스에 할당된 상이한 CVI들의 각각에 대해 요구될 수 있다; 즉, 컴퓨트 인스턴스는 몇몇 상이한 애플리케이션 상황의 각각에 대해 각각의 CVI들을 어써트해야 할 수 있다. 몇몇 실시예에서, 소정의 CVI는 몇몇 상이한 애플리케이션 상황에 대해 사용 가능할 수 있다 - 예를 들어, 컴퓨트 인스턴스는 각각의 애플리케이션들과 연관된 두 개 이상의 인증자로부터의 식별 정보 관련 요청들에 응답하여 동일한 CVI를 어써트할 수 있다.
상이한 실시예들에서 매우 다양한 CVI가 컴퓨트 인스턴스에 할당될 수 있다. 위에서 언급된 바와 같이, 복수의 상이한 애플리케이션 상황에서 사용될 수 있는 하나의 CVI는 인스턴스에 할당된 가상 IP 어드레스에 적어도 부분적으로 기초한 DNS 명칭일 수 있다. 적어도 몇몇 실시예에서, 제공자 네트워크의 컴퓨트 인스턴스는 하나 이상의 공중 IP 어드레스 및 하나 이상의 전용 IP 어드레스를 할당받을 수 있다. 공중 IP 어드레스들은 외부 네트워크들 이를 테면 공중 인터넷의 부분들에 애드버타이징, 또는 그것들로부터 액세스 가능하게 될 수 있는 한편, 전용 IP 어드레스들은 단지 제공자 네트워크의 논리적으로 분리된 부분들 내에 액세스 가능할 수 있다. 몇몇 실시예에서 인스턴스는 공중 IP 어드레스에 기초하여 CVI를, 그리고/또는 전용 IP 어드레스에 기초하여 다른 CVI를 할당받을 수 있다. 인스턴스를 위해 사용되는 가상 컴퓨팅 서비스는 예를 들어, 내부 관리상 목적들을 위해 또는 다른 서비스들 또는 외부 개체들과의 상호작용들을 위해, 다른 명칭 공간들을 정의할 수 있다. 몇몇 명칭 공간은 데이터 센터들 또는 인스턴스들이 인스턴스화되는 다른 지리적 장소들, 인스턴스들이 속하는 가용성 컨테이너들(독립적 고장 프로필들을 가지도록 설계된 자원들의 그룹들) 등에 대응할 수 있고, 각각의 고유한 명칭은 하나 이상의 그러한 명칭 공간 내 소정의 컴퓨트 인스턴스에 할당될 수 있다. 몇몇 실시예에서, CVI들은 또한 고객들에 의해 고객-정의 명칭 공간들로부터 선택, 또는 고객에 의해 제공자 네트워크 내에 정의된 명칭 공간에 대해 요청될 수 있다. 몇몇 실시예에서 고객들은 또한 그들의 컴퓨트 인스턴스들을 위한 DNS 명칭 공간으로부터의 특정 명칭들의 할당을 요청할 수 있다 - 예를 들어, DNS 명칭 www.<customerCompanyName>.com이 그들의 컴퓨트 인스턴스들 중 하나 이상의 컴퓨트 인스턴스를 위한 VCS의 클라이언트에 의해 CVI로서 요청될 수 있다. 일 실시예에서, 제3자들 이를 테면 제공자 네트워크 운용자의 사업 파트너들 또는 고객의 사업 파트너들은 CVI들을 선택하고 그것들을 다양한 컴퓨트 인스턴스에 할당할 수 있을 수 있다. 적어도 일 실시예에서, 소정의 CVI가 복수의 컴퓨트 인스턴스에 할당될 수 있다 - 예를 들어, 다수의 컴퓨트 인스턴스가 특정 서비스 또는 애플리케이션의 상황에서 중복 그룹 또는 페일오버 그룹으로서 구성되어, 그룹 멤버들 중 하나의 멤버의 책임들 중 적어도 몇몇이 특정 조건들 하에서 다른 그룹 멤버에 의해 대체되게 될 경우, 몇몇 그룹 멤버가 적어도 하나의 공통적 또는 공유된 CVI를 할당받을 수 있다.
몇몇 실시예에서 각 명칭 공간은 그것의 명칭 공간 소유자에 의해 그것에 할당된 하나 이상의 식별 정보 검증자를 가질 수 있다. 몇몇 실시예에서 그러한 식별 정보 검증자들은 제공자 네트워크 외부의 예를 들어, 제3자 또는 공인 인증서 기관들(CAs)을 포함할 수 있다. 몇몇 실시예에서 비-공개 식별 정보 검증자들은 하나 이상의 명칭 공간에 대한 명칭 공간 소유자들에 의해 선택될 수 있다 - 예를 들어, 몇몇 검증 기관이 (VCS에 의해 정의된 명칭 공간들 또는 제공자 네트워크에 구현된 다른 서비스들에 대한) 제공자 네트워크 내에 구현될 수 있고, 다른 검증 기관들은 고객-정의 명칭 공간들에 대한 고객 소유 네트워크들에 구현될 수 있다. 적어도 일 실시예에서, 명칭 공간 소유자는 그 자체를 그것의 명칭 공간에 대한 식별 정보 검증자로서 지정할 수 있다 - 예를 들어, 별개의 검증자가 요구되지 않을 수 있다. 식별 정보 검증자는 공중이든, 제공자-네트워크-소유든, 또는 고객-소유이든, 예를 들어, 하나 이상의 명칭 공간 내 컴퓨트 인스턴스들에 할당된 CVI들에 대응하는 X.509 또는 다른 디지털 인증서들에 서명할 수 있다. 적어도 일 실시예에서, 소정의 디지털 인증서가 하나보다 많은 식별 정보를 어써트하기 위해 사용될 수 있다 - 예를 들어, 디지털 인증서들 및 CVI들 간 1:N 맵핑이 사용될 수 있다. 다른 실시예들에서, 각각의 인증서들은 각 CVI에 대해 사용될 수 있다.
소정의 컴퓨트 인스턴스에 할당되는 CVI들 중 적어도 몇몇 CVI는 예를 들어, CVI가 인스턴스에 대해 유효한 시작 및/또는 종료 시간을 나타내어, 정의된 대응하는 유효 기간을 가질 수 있다. 적어도 몇몇 실시예에서 소정의 컴퓨트 인스턴스에 할당된 상이한 CVI들은 상이한 유효 기간들을 가질 수 있다.
일 실시예에서, 가상 컴퓨팅 서비스에 의해 구현된 하나 이상의 제어 영역 또는 관리상 인터페이스들은 클라이언트들에 의해 그들의 컴퓨트 인스턴스들에 특정된 명칭 공간 내 식별 정보들의 할당을 요청하기 위해 사용될 수 있다. 몇몇 실시예에서, 식별 정보 할당은 인스턴스 론칭 시 요청될 수 있다(예를 들어, API를 통해 제출되는 인스턴스 론칭 요청의 하나 이상의 파라미터를 사용하여). 일 실시예에서, 식별 정보 할당들은 또한 또는 대신 인스턴스가 론칭된 후 그것에 대해 요청될 수 있다. 몇몇 실시예에서, 클라이언트들은 또한 특정된 인스턴스로부터 하나 이상의 CVI를 취소하거나 할당을 해제할 수 있을 수도 있다.
예시적인 시스템 환경
도 1은 적어도 몇몇 실시예에 따른, 가상 컴퓨팅 서비스에 구현된 컴퓨트 인스턴스가 각각의 명칭 공간들 내 몇몇 상이한 암호로 확인 가능한 식별 정보들(CVIs)을 할당받을 수 있는 예시적인 시스템 환경을 도시한다. 도시된 바와 같이, 시스템(100)은 가상 컴퓨팅 서비스(VCS)(110)가 구현되는 제공자 네트워크(105)를 포함한다. VCS는 다양한 클라이언트를 대신하여 복수의 인스턴스 호스트(125)에 많은 컴퓨트 인스턴스(150)를 수립할 수 있다. 예를 들어, 컴퓨트 인스턴스들(150A 및 150B)은 인스턴스 호스트(125A)에 예를 들어, 각각의 게스트 가상 기계들로서 셋 업된 한편, 컴퓨트 인스턴스들(150K 및 150L)은 인스턴스 호스트(125B)에 수립되었다. 컴퓨트 인스턴스들(150) 중 적어도 몇몇 컴퓨트 인스턴스는 제공자 네트워크 외부의 디바이스들, 이를테면 고객 네트워크(115) 내 클라이언트 디바이스(133)로부터 발행된 인스턴스 론칭 요청들에 응답하여 셋 업될 수 있다.
도시된 실시예에서, 소정의 컴퓨트 인스턴스(150)는 각각의 명칭 공간들에서의 0개 이상의 암호로 확인가능한 식별 정보(CVIs)(160)(예를 들어, 인스턴스에 할당된 암호화 등급 공개-비밀 키 쌍의 도움으로 확인될 수 있는 식별 정보)를 할당받을 수 있다. 몇몇 실시예에서, 몇몇 상이한 유형의 인스턴스 식별 정보 명칭 공간들(IINs)(144)은 각각의 명칭 공간 소유자들 또는 관리자들을 지원받을 수 있다. 명칭 공간 소유자는 IIN(예를 들어, 할당될 수 있는 명칭들의 집합, 또는 할당될 수 있는 명칭들의 범위에 대한 포맷)을 정의하는 것, 소정의 컴퓨트 인스턴스(150)에 할당될 특정 명칭 또는 식별 정보를 선택하는 것, 명칭 공간에 대한 하나 이상의 식별 정보 검증자의 집합을 지정하는 것 등에 책임이 있을 수 있다. 도시된 실시예에서, IIN(144A)은 제3자 명칭 공간 소유자(183)에 의해 관리되고, IIN(144B)은 고객-정의 명칭 공간 소유자(185)에 의해 관리되고, IIN(144C)은 제공자 네트워크에 구현되는 서비스 S1(VCS 이외)의 명칭 공간 소유자(155)에 의해 관리되는 한편, IIN(144D)은 VCS 명칭 공간 소유자(154)에 의해 관리된다. 각 IIN(144)은 CVI들에 대해 자체 신택스 및 포맷을 가질 수 있고, 적어도 일 실시예에서, 식별 정보들에 대해 사용될 검증 메커니즘들 및 정책들은 명칭 공간마다 상이할 수 있다. 용어 "명칭 공간"은 본 출원에서 구 "인스턴스 식별 정보 명칭 공간"과 동의어로 사용될 수 있다.
도시된 실시예에서, 각 명칭 공간(144)에 대응하여, 하나 이상의 개체가 식별 정보 검증자들로서 지정될 수 있다. 예를 들어, 제3자 식별 정보 검증자(184)(이를테면 공인 인증 기관 또는 CA)가 명칭 공간(144A)의 CVI들의 진실성을 보장하는 것에 대한 책임이 있을 수 있다. 몇몇 고객은 자체 고객-관리 식별 정보 검증자들(186)을 셋 업할 수 있다. 제공자 네트워크에서 구현되는 서비스들 중 하나 이상의 서비스는 식별 정보 검증자들, 이를테면 VCS 식별 정보 검증자들(153) 및 서비스 S1의 식별 정보 검증자(들)(156)를 인스턴스화할 수 있다. 식별 정보 검증자들 중 적어도 몇몇 식별 정보 검증자는 식별 정보 관련 요청들에 응답하여 컴퓨트 인스턴스들(150)에 의해 제공될 수 있는, 인증서들(이를테면 X.509 인증서들, 또는 공개 키 인프라스트럭처 표준들 또는 사양들에 따라 포맷을 갖춘 다른 유사한 인증서들)에 디지털 방식으로 서명할 수 있다. 몇몇 실시예에서, 하나 이상의 암호 키들은 인스턴스 식별 정보들을 어써트하는 것을 위해 사용되는 아티팩트들 중 몇몇 아티팩트와 연관될 수 있다.
소정의 컴퓨트 인스턴스에서 실행될 애플리케이션들의 구체적 유형들에 따라, 임의의 바람직한 수의 CVI가 예를 들어, 대신하여 인스턴스가 수립되는 클라이언트의 요청 시, 그것에 할당될 수 있다. 몇몇 경우, 클라이언트는 인스턴스가 론칭되기 전 소정의 인스턴스에 대해 요구되는 식별 정보들의 집합의 표시를 제공할 수 있고; 다른 경우, 인스턴스가 실행을 시작한 후 특정된 명칭 공간들 내 새로운 식별 정보들이 할당될 수 있다. 적어도 몇몇 실시예에서 인스턴스 식별 정보들은 또한 인스턴스 소유자로부터의 요청 시 취소될 수도 있다. 다양한 실시예에서, VCS 제어 영역 프로그램 인터페이스들, 이를테면 하나 이상의 API는 고객들이 식별 정보 할당 및/또는 취소 요청들을 나타내게 하도록 제공될 수 있다. 도 1에 도시된 예에서, 인스턴스(150A)는 세 개의 CVI: 명칭 공간(144A) 내 CVI(160A), 명칭 공간(144B) 내 CVI(160L), 및 명칭 공간(144D) 내 CVI(160T)를 할당받을 수 있다. 인스턴스(150B)는 명칭 공간(144A) 내 CVI(160B)를 할당받을 수 있다. 인스턴스(150L)는 명칭 공간(144B)의 CVI(160K) 및 명칭 공간(144C)의 CVI(160P)를 할당받을 수 있다. 인스턴스(150K)는 어떤 CVI도 할당받지 않았다.
소정의 컴퓨트 인스턴스에 할당된 CVI들은 인스턴스에 그 자체를 식별할 것을 요구하는 구체적 애플리케이션에 따라, 상이한 방식들로 사용될 수 있다. 적어도 몇몇 실시예에서, 소정의 인스턴스 이를테면 150A는 제공자 네트워크에서 구현되는 상이한 서비스 이를테면 S1의 노드에서, 또는 제공자 네트워크 외부의 디바이스 이를테면 클라이언트 디바이스(133)에서, 몇몇 다른 개체, 이를테면 몇몇 다른 인스턴스(150)에서 실행되는 애플리케이션의 인증 구성요소로부터 인증 요청 또는 다른 유사한 식별 정보 관련 질의를 수신할 수 있다. 몇몇 실시예에서, 요청은 명시적으로 또는 묵시적으로(예를 들어, 그것의 포맷 또는 그것이 수신되는 소스에 의해) 식별 정보가 요청되는 명칭 공간을 나타낼 수 있다. 그 다음 식별 정보 질의가 수신되는 컴퓨트 인스턴스는 예를 들어, 하나 이상의 암호 아티팩트 이를테면 신뢰 식별 정보 검증자 또는 일련의 식별 정보 검증자에 의해 설명된 인증서를 사용하여, 적절한 명칭 공간 내 그것의 식별 정보의 증거를 제공할 수 있다. 적어도 몇몇 구현예에서, 하나 이상의 검증자의 표시가 증거에 포함될 수 있다. 적어도 몇몇 실시예에서, 수신된 식별 정보 질의의 유형에 따라, 컴퓨트 인스턴스에 의해 제공된 증거는 디지털 인증서들 이외(또는 그것들에 추가하여) 아티팩트들을 포함할 수 있다 - 예를 들어, 정책 토큰들(컴퓨트 인스턴스의 비밀 키를 사용하여 획득되는 인증 정책들의 암호화된 버전들)이 제공될 수 있거나, 식별 정보 질의에 포함된 데이터 값이 컴퓨트 인스턴스의 비밀 키를 사용하여 서명될 수 있거나, 또는 인스턴스의 공개 키를 사용하여 해독될 수 있는 다른 데이터가 제공될 수 있다. 컴퓨트 인스턴스(150)에 식별 정보 질의 또는 요청을 송신한 인증 구성요소가 인스턴스의 식별 정보를 확인할 수 있는 경우(예를 들어, 신뢰 인스턴스 검증자가 인증서 또는 정책 토큰을 생성했다는 결정에 기초하여), 식별 정보 확인의 명시적 또는 묵시적 확인 응답이 컴퓨트 인스턴스(150)에 제공될 수 있다. 그 다음 검증된 컴퓨트 인스턴스(150)는 애플리케이션의 후속 동작들 또는 그것의 식별 정보가 인증 구성요소에 의해 확인되고 있었다는 상호작용으로 나아갈 수 있다.
적어도 일 실시예에서, 예를 들어 특정 컴퓨트 인스턴스의 배타적 사용을 위해 지정된 암호 키(예를 들어, 공개-비밀 키 쌍 중 비밀 키)와 연관된 소정의 CVI가 양도 또는 도난되지 않음을 보장하기 위해, 보안 키 저장소(133)(예를 들어, 133A 또는 133B)가 키에 대해 사용될 수 있다. 그러한 보안 키 저장소는 예를 들어, 대응하는 인스턴스가 실행되는 인스턴스 호스트들에서의 가상화 관리 구성요소들에 의해 구현되는 API들의 집합을 통해, 양도 불가능한 키의 사용을 수반하는 다양한 동작을 가능하게 할 수 있으나, 비밀 키가 보안 키 저장소에서 복사 또는 양도되게 하지 않을 수 있다. 몇몇 실시예에서, 로컬 보안 키 저장소(133B) 이를테면 인스턴스 호스트의 주변 통신 버스에 접속된 신뢰 플랫폼 모듈(TPM)이 사용될 수 있다. 다른 실시예들에서, 원격 보안 키 저장소(133A), 이를테면 제공자 네트워크에서 구현되는 보안 서비스의 하드웨어 보안 모듈(HSM)이 사용될 수 있다. 몇몇 실시예에서, 예를 들어, HSM들 또는 TPM들 대신, 비밀 키들을 보호하기 위한 다른 메커니즘들이 사용될 수 있다. 적어도 몇몇 실시예에서, VCS는 (예를 들어, 사용될 TPM 또는 HSM을 구성하여, 키 관련 API들에 적절한 권한들을 부여함으로써, 또는 다른 구성 동작들을 취함으로써) 컴퓨트 인스턴스가 다양한 CVI를 어써트하기 위해 요구되는 암호 키(또는 키들)를 사용하게 할 수 있다.
CVI 예들
도 2는 적어도 몇몇 실시예에 따른, 컴퓨트 인스턴스에 할당될 수 있는 식별 정보들의 유형들의 예들을 도시한다. 도시된 바와 같이, 컴퓨트 인스턴스(150)는 VCS에 의해 그것에 할당된 가상 IP 어드레스에 기초하여 DNS 명칭(260A)을 할당받을 수 있다. 몇몇 실시예에서, DNS 명칭(260A)의 포맷은 VCS 서비스를 식별하는 각각의 서브 스트링들(예를 들어, <vcs-service-name>), IP 어드레스의 점십진 표기법 요소들(예를 들어, IPv4 어드레스 54.187.31.66에 대응하는 스트링 “54-187-31-66”), 인스턴스의 지리적 장소의 몇몇 표시(예를 들어, <zone>) 및 VCS에 할당된 도메인 명칭을 포함할 수 있다. 다른 실시예들에서는, DNS 명칭(260A)에 제시된 서브 스트링들 중 하나 이상이 사용되지 않을 수 있다.
적어도 몇몇 실시예에서, 하나 이상의 공중 IP 어드레스 및 하나 이상의 전용 IP 어드레스는 소정의 시점에 소정의 컴퓨트 인스턴스에 할당될 수 있고, 그러한 IP 어드레스들은 컴퓨트 인스턴스의 CVI들에 대해 사용될 수 있다. 공중 IP 어드레스는 예를 들어, 프로토콜 이를테면 BGP(경계 경로 프로토콜)를 통해 애드버타이징된 결과로서, 공중 인터넷의 부분들로부터 액세스될 수 있는 것으로서 정의될 수 있다. 그에 반해, 전용 IP 어드레스는 단지 제공자 네트워크의 서브 집합 내에, 예를 들어, 제공자 네트워크의 하나 이상의 분리된 가상 네트워크(IVNs; isolated virtual networks) 내로부터만 액세스될 수 있다. IVN들은 또한 몇몇 환경에서 가상 전용 클라우드들 또는 VPC들로서 지칭될 수도 있다. IVN은 VCS의 특정 고객의 요청 시 수립될 수 있는, 제공자 네트워크(105)의 논리적으로 분리된 섹션에서의 컴퓨팅 및/또는 다른 자원들의 집합을 포함할 수 있다. 고객은 IVN에 포함되는 디바이스들에 대한 네트워킹 구성에 대한 실질적 제어를 승인받을 수 있다. 몇몇 실시예에서, 예를 들어, 고객은 IVN의 다양한 컴퓨트 인스턴스(150)를 위해 사용될 전용 IP 어드레스 범위들을 선택하고, IVN 내 서브 집합들의 기준을 관리하며, IVN에 대한 라우팅 메타데이터의 구성을 관리할 수 있다. 몇몇 실시예에서, 제공자 네트워크에서 구현되는 하나 이상의 다른 서비스(예를 들어, 파일 저장 서비스, 또는 데이터베이스 서비스)의 동작들을 수행하기 위해 사용될컴퓨트 인스턴스들 및 다른 자원들이 하나 이상의 IVN에 구성될 수 있고, 대응하는 전용 IP 어드레스들이 그러한 자원들에 할당될 수 있다. 상이한 IVN들이 내부적으로 사용되는 전용 IP 어드레스들에 대하여 서로 분리되기 때문에, 실제로는 때때로 소정의 전용 IP 어드레스는 각각의 별개의 IVN들 내 하나보다 많은 컴퓨트 인스턴스에 할당될 수 있다. 도시된 실시예에서, 공중에 애드버타이징된 IP 어드레스 54.87.131.66(260B)은 하나의 CVI로서의 역할을 할 수 있는 한편, 전용 IP 어드레스(260C) 이를테면 10.0.0.1은 다른 CVI 예를 들어 150으로서의 역할을 할 수 있다.
몇몇 실시예에서, 다양한 컴퓨트 인스턴스에 할당될 수 있는 IP 어드레스 기반 명칭들에 더하여, VCS는 IP 어드레스들과 독립적인 인스턴스 명칭들을 갖는, 하나 이상의 다른 명칭 공간을 정의할 수 있다. 예를 들어, 소정의 컴퓨트 인스턴스(150)는 적어도 몇몇 시점에, IP 네트워크에서 연결 해제될 수 있거나 하나의 네트워크 어드레스 및 다른 네트워크 어드레스 간 과도기에 있을 수 있고, VCS는 그것의 네트워킹 상태에 관계 없이 인스턴스를 지칭하기 위해 사용될 수 있는 명칭(이를테면 "inst'로 시작하는 고유한 스트링)을 할당할 수 있다. 그러한 VCS 할당 고유 인스턴스 명칭(260D)이 인스턴스(150)에 할당된 CVI의 다른 예로 고려될 수 있다. 유사하게, 몇몇 실시예에서, 제공자 네트워크의 다른 서비스들은 서비스들에 의해 사용되는, 또는 그것들과 상호작용하는 컴퓨트 인스턴스들에 그들 자체의 명칭들을 할당할 수 있다. 그러한 비-VCS-서비스-할당 명칭(260H), 이를테면 DbSvcClient-01321(컴퓨트 인스턴스가 DbSvc라 불리우는 데이터베이스 서비스의 클라이언트임을 나타냄)은 CVI의 다른 예를 나타낼 수 있다.
다양한 실시예에서 고객-선택 또는 고객-요청 식별 정보들이 또한 컴퓨트 인스턴스들에 할당될 수 있다. 명칭 공간들의 각각의 유형들에 대응하여, 세 개의 상이한 유형의 고객-영향 식별 정보들이 도 2에 나타난다. 고객은 예를 들어, 주로 고객 네트워크 내에서 검증 및 사용될 또는 동일한 고객이 소유한 다른 인스턴스들과 상호작용할, 인스턴스들에 대한 그들 자체의 명칭 공간을 정의할 수 있다. 고객-할당 명칭(260E), 이를테면 “MyApp-Cluster1-inst0”가 그러한 명칭 공간에서의 컴퓨트 인스턴스(150)의 CVI로서 선택 및 할당될 수 있다. 몇몇 실시예에서, 고객들은 또한 VCS-소유 명칭 공간 내(고객-요청 명칭(260F)의 경우와 같이), 및/또는 DNS 명칭 공간 내(고객-할당 DNS 명칭(260G)의 경우와 같이) 인스턴스(150)에 할당될 특정 명칭들을 요청할 수 있다. 몇몇 실시예에서, 제3자 개체(즉, 제공자 네트워크 운용자 이외, 그리고 고객 이외의 개체) 이를테면 사업 파트너 또는 제공자 네트워크의 온라인 마켓플레이스에의 참여자가 CVI를 인스턴스에 할당할 수 있다. 예를 들어, 제3자-할당 명칭(260K)은 제3자 개체에 의해 정의 및 관리된 명칭 공간 내 인스턴스에 대해 선택될 수 있다. 다양한 실시예에서,그러한 제3자 CVI들은 예를 들어, 제3자 개체들에 의해 구현되는 제품들 또는 특징들을 이용할 수 있는 인스턴스의 능력을 향상시키기 위해, 고객 및/또는 VCS의 요청 시, 또는 승인으로 제3자 명칭 공간 소유자들에 의해 할당될 수 있다. 적어도 몇몇 실시예에서, 제3자 명칭 공간 소유자는 또한 그것들의 명칭 공간들에 대한 하나 이상의 식별 정보 검증자를 구현할 수 있다. 일 실시예에서, 위에서 언급된 바와 같이, 함께 동작하는 인스턴스들의 그룹 내 인스턴스에 의해 수행되는 특정 역할과 연관된 공유된 식별 정보는 예를 들어, 그룹의 하나의 멤버가 필요에 따라 그리고 필요할 때 그룹의 다른 멤버의 워크로드 중 적어도 몇몇 워크로드를 이어받을 수 있게 될 수 있도록, 할당될 수 있다. 공유된 역할 명칭(260J)(인스턴스가 페일오버 그룹의 멤버임을 나타내는, “Failover-group-FG3-node”)은 복수의 인스턴스에 할당될 수 있는 그러한 공유된 CVI의 예를 나타낸다. 몇몇 실시예에서, 고장 시 그룹 멤버의 워크로드들을 넘겨받도록 구성된 그러한 함께 동작하는 인스턴스들의 피어 그룹들은 제공자 네트워크의 다양한 상이한 서비스(VCS, 다양한 저장 관련 서비스, 고성능 컴퓨팅 서비스 등을 포함함)에 의해 수립될 수 있다.
적어도 몇몇 실시예에서 소정의 식별 정보를 소정의 인스턴스에 할당하는 것은 일시적인 것일 수 있고, 적어도 일 실시예에서는 이전에 사용된 식별 정보의 재사용이 가능하게 될 수 있다는 것이 주의된다. 예를 들어, 인스턴스는 시간 T1 내지 T2에 소정의 명칭 공간(NS1) 내 특정 CVI "CVI1"를 할당받을 수 있고, 시간 간격(T2 내지 T3) 동안에는 NS1 내 어떠한 CVI도 할당받지 않을 수 있고, 시간 T3 내지 T4에 NS1 내 상이한 CVI "CVI2"를 할당받을 수 있으며, 시간 T4 내지 T5에는 이전에 할당된 CVI "CVI1"를 할당받을 수 있다.
애플리케이션-특정 인증자들과의 상호작용들
도 3은 적어도 몇몇 실시예에 따른, 다수의 애플리케이션의 인증 구성요소들 및 컴퓨트 인스턴스 간 상호작용들의 예들을 도시한다. 도시된 실시예에서, 소정의 컴퓨트 인스턴스(150)에 할당된 CVI 집합(342)의 상이한 CVI들(360A - 360D)(각각의 명칭 공간들(344A - 344D)에 대응하는)은 인스턴스가 몇몇 상이한 애플리케이션의 각각에 대응하는 특정 인증 신청들에 응답하게 하여, 인스턴스가 그것들의 상이한 애플리케이션들의 동작들을 시작하기 위한 권한들을 수신하게 할 수 있다. 두 개의 상이한 애플리케이션(App1 및 App2)의 인증자들(302A 및 302B)이 도 3에 도시된다. 예를 들어, 인증자(302A)는 원격 데스크탑 클라이언트 애플리케이션일 수 있는 한편, 인증자(302B)는 서비스형 소프트웨어를 사용하여 구현되는 칩 설계 애플리케이션의 라이선스 관리자일 수 있다. 원격 데스크탑 클라이언트 애플리케이션의 구현자는 컴퓨트 인스턴스의 원격 데스크탑 세션을 수립하기 전, 컴퓨트 인스턴스의 식별 정보가 확인됨을 보장하기를 바랄 수 있다. 유사하게, 칩 설계 애플리케이션의 구현자는 CAD 툴이 컴퓨트 인스턴스로부터 호출 또는 사용될 수 있기 전, 인스턴스로부터의 CAD 툴의 사용이 허락됨을 보장하기 위해 컴퓨트 인스턴스의 식별 정보가 확인됨을 보장하기를 바랄 수 있다.
도 3에 도시된 실시예에서, 컴퓨트 인스턴스(150)는 별개의 식별 정보 질의들(312A 및 312B)에서 인증자들의 각각에 의해 그것의 식별 정보를 입증할 것을 요구받을 수 있다. 식별 정보 질의들(312A 및 312B)은 컴퓨트 인스턴스의 수명에서의 상이한 시점들에 수신될 수 있다. 식별 정보 질의(312A)에 응답하여, 컴퓨트 인스턴스(150)는 식별 정보 질의에 관계딘 특정 명칭 공간(344A)을 결정할 수 있고, 해당 명칭 공간(344A) 내 인스턴스에 할당된 CVI(360A)를 나타내는 하나 이상의 암호 아티팩트(314A)를 제공할 수 있다. 유사하게, 인증자(302B)로부터의 식별 정보 요청(312B)에 응답하여 명칭 공간(344B)에서의 CVI(360B)를 나타내는 하나 이상의 암호 아티팩트(314B)가 제공될 수 있다. 다양한 실시예에서 적어도 부분적으로 암호 알고리즘들 또는 암호화 등급 키들을 사용하여 생성된 다수의 상이한 유형의 객체가 인스턴스의 식별 정보의 증거로서 사용될 수 있다. 예를 들어, 암호 아티팩트들(316)은 디지털 인증서들, 라이선스 동의의 암호화된 버전, 암호화된 정책 토큰들 등을 포함할 수 있고, 몇몇 실시예에서 이들 중 적어도 몇몇은 컴퓨트 인스턴스(150)에 할당된 키 쌍의 공개 키를 사용하여 획득될 수 있다. 다수의 상이한 유형의 인증 프로토콜들이 예를 들어 하나보다 많은 메시지 교환을 수반하는 다-단계 프로토콜들을 포함하여, 다양한 실시예에서 인스턴스 식별 정보 확인을 요구하는 애플리케이션들에 의해 사용될 수 있고, 컴퓨트 인스턴스(150)는 그것의 식별 정보를 입증하기 위해 요구되는 상이한 단계들에 적절하게 응답할 수 있다. 몇몇 실시예에서, 식별 정보 질의(312)에 응답하여 제공되는 식별 정보 정보의 적어도 일부는 키의 복사를 금지하는 보안 키 저장소에서 관리될 수 있는 컴퓨트 인스턴스의 비밀 키의 사용을 수반할 수 있다. 예를 들어, 컴퓨트 인스턴스(150)는 중개자 이를테면 가상화 관리 구성요소에 의해, 또는 보안 키 저장소에 의해 구현되는 API를 호출하여, 비밀 키를 사용하여 데이터 요소의 암호화를 가능하게 해야 할 수 있다. 다양한 실시예들에서, 식별 정보 질의들에 대한 응답들은 컴퓨트 인스턴스의 소프트웨어 스택의 몇몇 상이한 계층 중 임의의 계층에서 시작될 수 있다, 예를 들어, 그러한 응답들은 사용자 모드로 실행되는 애플리케이션, 운영 체제 모듈, 디바이스 드라이버 모듈 등에 의해 생성될 수 있다.
인증자(302)가 관련 명칭 공간(344)에 대한 컴퓨트 인스턴스(150)의 식별 정보를 수락 또는 확인받은 후, 적어도 몇몇 경우 확인 응답 메시지(이를테면 Authn_ACK 메시지(322A 또는 322B))가 컴퓨트 인스턴스에 전송될 수 있다. 그러한 확인 응답은 컴퓨트 인스턴스에 그것이 애플리케이션(예를 들어, App1 또는 App2)과 연관된 추가 동작들을 시작하도록 허가되었다는 신호로서의 역할을 할 수 있다. 적어도 몇몇 실시예에서 몇몇 애플리케이션에 의해 명시적 인증 확인 응답 메시지가 사용되지 않을 수 있다. 몇몇 실시예에서, 적어도 몇몇 유형의 인스턴스 식별 정보 명칭 공간들의 경우, 컴퓨트 인스턴스는 인증자와의 상호 작용의 제1 단계로서 CVI를 어써트할 수 있다 - 즉, 인스턴스 식별 정보들은 단지 수신된 요청들에 응답하여 어써트될 필요는 없다는 것이 주의된다.
보안 키 저장소들의 예들
위에서 논의된 바와 같이, 몇몇 실시예에서, 컴퓨트 인스턴스에 할당된 키 쌍의 비밀 키들은 소정의 명칭 공간 내 컴퓨트 인스턴스의 식별 정보를 어써트하기 위해 수행되는 적어도 몇몇 동작을 위해 사용될 수 있다. 도 4는 적어도 몇몇 실시예에 따른, 컴퓨트 인스턴스가 보안 키 저장소에 의해 관리되는 양도 불가능한 비밀 키를 이용하게 하는 프로그램 인터페이스가 구현될 수 있는 인스턴스 호스트의 예를 도시한다. 도시된 바와 같이, 인스턴스 호스트(125)는 복수의 하드웨어 구성요소(410)를 포함할 수 있으며, 이들은 예를 들어, 몇몇 수의 프로세싱 코어 또는 프로세서(470), 적어도 하나의 비-영속적 메모리(472)(메인 메모리로서 지칭될 수 있음), 하나 이상의 로컬 영속적 저장 디바이스(490) 이를테면 디스크(회전 디스크 및/또는 고체 상태 디스크를 포함할 수 있음), 및 하나 이상의 네트워크 인터페이스 카드(NICs)(480)를 포함할 수 있다. 적어도 몇몇 실시예에서, 다른 비-영속적 메모리 위치들은 또한 하드웨어 구성요소들 계층(410), 이를테면 다양한 레벨의 프로세서 캐시, 레지스터들 기타 같은 종류의 것에서 이용 가능할 수 있다. 도시된 실시예에서, 로컬 보안 키 저장소 이를테면 신뢰 플랫폼 모듈(470)이 또한 인스턴스 호스트(125) 내에 포함 또는 그것에 접속될 수 있다. 몇몇 구현예에서, 주변 장치들 이를테면 하나 이상의 모니터, 마우스 기타 같은 종류의 것(도 4에 도시되지 않음)이 또한 인스턴스 호스트에 접속될 수도 있다.
도시된 실시예에서, 다양한 하드웨어 계층 자원(410)은 운영 체제(430)의 하이퍼바이저(408) 및/또는 관리상 인스턴스를 포함하는 가상화 관리 소프트웨어 스택의 도움으로 가상화(예를 들어, 인스턴스들의 각각이 자원들에 배타적으로 액세스하는 것처럼 인스턴스 호스트(125)에서 부팅 또는 론칭되는 몇몇 인스턴스(150)로 제시)될 수 있다. 하이퍼바이저 및/또는 관리상 운영 체제 인스턴스는 VCS의 요소들로 고려될 수 있고, 가상화 관리 구성요소들(VMCs)(425)로서 지칭될 수 있다. 몇몇 구현예에서 운영 체제의 관리상 인스턴스는 "도메인 0" 또는 "dom0"으로 라벨링되어 "권한을 가진 도메인"으로서 지칭될 수 있는 한편, 인스턴스들(150)의 각각에 대해 수립되는 각각의 운영 체제들은 "권한이 없는 도메인들"("domU"로 라벨링됨), "게스트 운영 체제들", 또는 "게스트 도메인들"로서 지칭될 수 있다.
도시된 실시예에서, 하이퍼바이저(408)는 통상적으로 인스턴스 호스트의 하드웨어 구성요소 및 컴퓨트 인스턴스 간 중개자로서의 역할을 할 수 있다. 몇몇 경우, 예를 들어 사용되는 구체적 프로그램 인터페이스들에 따라, 하이퍼바이저 및 관리상 운영 체제 인스턴스(430) 양자는 인스턴스(150) 및 하드웨어 간 중개자들일 수 있다. 예를 들어, 동작들 위한 요청 경로는 다음: 컴퓨트 인스턴스 -> 하이퍼바이저 -> dom0 -> 하이퍼바이저 -> 하드웨어와 같이 따를 수 있고, 응답은 역 경로를 사용하여 컴퓨트 인스턴스에 제공될 수 있다. 몇몇 구현예에서, dom0은 하나 이상의 유형의 하드웨어 구성요소들에 직접 액세스할 수 있을 수 있고; dom0 및 하드웨어 간 다른 상호작용들은 하이퍼바이저를 통할 수 있다. 하드웨어 구성요소(이를테면 보안 키 저장소(470))가 예를 들어, 애플리케이션 계층(450)에 의해 요청되는 동작으로 인해, 컴퓨트 인스턴스(150)로부터 이용될 때, VMC로 보내지는 대응하는 요청이 운영 체제 커널 또는 디바이스 드라이버 계층(452)에 의해 생성될 수 있다. 도시된 실시예에서, 예를 들어, VCS에 의해 지원되는 하나 이상의 비밀 키 API(425)는 보안 키 저장소에 의해 관리되는 비밀 키를 이용하기 위한 컴퓨트 인스턴스(150)로부터 호출될 수 있다. 도시된 실시예에서, API들(425)은 호출자(예를 들어, 컴퓨트 인스턴스)가 비밀 키를 복사 또는 양도하는 것을 허용하지 않고, 예를 들어, 암호 아티팩트를 생성하기 위한 비밀 키의 사용을 가능하게 할 수 있다.
도시된 실시예에서, 로컬 보안 키 저장소(470)의 사용 대신 또는 그것에 더하여, 원격 보안 키 저장소(490)(이를테면 제공자 네트워크에서 구현되는 보안 서비스의 하드웨어 보안 모듈(HSM))가 사용될 수 있다. 적어도 몇몇 실시예에서, 원격 보안 키 저장소는 또한 위에서 설명된 바와 같이 비밀 키들의 복사를 방지하는 유사한 유형들의 API들(425)을 사용하여 이용될 수도 있다. 원격 보안 키 저장소(490)와의 상호작용들은 하드웨어 NIC(480)를 통해야 할 수 있다. 일 실시예에서, 단지 하나의 유형의 보안 키 저장소 - 예를 들어, 로컬 키 저장소들(470), 또는 원격 키 저장소들(490) 중 어느 하나 - 이 사용될 수 있다. 적어도 일 실시예에서, 다수의 키 쌍이 소정의 컴퓨트 인스턴스에(예를 들어, 상이한 명칭 공간들에서의 각각의 CVI들에) 지정될 수 있고, 상이한 보안 키 저장소들이 다수의 키 쌍의 비밀 키들을 위해 사용될 수 있다. 다른 실시예들에서, 동이한 키들의 쌍이 각각의 명칭 공간들에서의 몇몇 상이한 CVI를 위해 사용될 수 있다. 키 쌍들은 상이한 실시예들에서 다양한 적절한 암호화 표준 및/또는 알고리즘, 이를테면 고급 암호 표준(AES), RSA(Rivest-Shamir-Adleman) 알고리즘, DES(데이터 암호 표준), PGP(프리티 굳 프라이버시) 또는 그 밖에 유사한 것 중 임의의 것과 호환 가능할 수 있다.
식별 정보 할당을 위한 관리상 상호작용들
몇몇 실시예에서, 인스턴스 식별 정보와 관련 있는 구성 동작들을 위한 프로그램 인터페이스들의 집합이 지원될 수 있다. 도 5는 적어도 몇몇 실시예에 따른, 클라이언트 및 인스턴스 구성 관리자 간 식별 정보 관련 제어 영역 상호작용들의 예들을 도시한다. 몇몇 클라이언트는 인스턴스가 론칭되기 전 인스턴스에 할당될 식별 정보들의 유형들을 결정할 수 있는 한편, 다른 클라이언트들은 론칭에 후속하여 인스턴스들에 식별 정보들을 할당할 수 있다. 도시된 실시예에서, 클라이언트들은 또한 컴퓨트 인스턴스들로부터 식별 정보들을 취소할 수 있을 수도 있다. 도시된 실시예에서, 이러한 및 다른 유형들의 구성 동작들의 경우, 프로그램 인터페이스들의 집합(590)은 VCS 제어 영역에 의해 구현될 수 있다.
도시된 바와 같이, 클라이언트(502)는 론칭될 인스턴스에 대해 요청된 하나 이상의 식별 정보 유형을 나타내는 식별 정보 설명자(IDDescriptor)와 함께, LaunchInstance 요청(504)을, 프로그램 인터페이스(590)를 통해 도시된 실시예에서의 VCS의 인스턴스 구성 관리자에 제출할 수 있다. 도 6의 상황에서 아래에 설명될 바와 같이, 각 요청된 식별 정보에 대해, 식별 정보 설명자는 다양한 속성 이를테면 명칭 공간의 식별자, 명칭 공간 소유자, 식별 정보 유효 기간 정보 기타 같은 종류의 것을 나타낼 수 있다. LaunchInstance 요청(및 도 5에 도시된 다른 예시적인 요청들)은 생략 부분(“…”)에 의해 표시한 바와 같이, 도 5에 도시되지 않은 0개 이상의 추가 파라미터를 각각 포함할 수 있다. 몇몇 실시예에서, 론칭 시 또는 그 이전 식별 정보들은 컴퓨트 인스턴스들에 할당하기를 바라지 않은 클라이언트들(502)은 그들의 론칭 요청 시 식별 정보 설명자를 포함하지 않을 수 있다; 즉, 식별 정보 설명자는 임의적 파라미터일 수 있다.
도시된 실시예에서, 식별 정보 설명자와 함께 LaunchInstance 요청을 수신하는 것에 응답하여, 인스턴스 구성 관리자(510)는 먼저 요청 클라이언트가 식별 정보들을 할당하도록 허락됨을 확인할 수 있다. 적어도 몇몇 실시예에서, 모든 클라이언트가 다양한 유형의 명칭 공간들 내 식별 정보들을 할당하기 위한 권한을 부여받을 수 있는 것은 아니다; 예를 들어, 단지 선택된 인스턴스 유형들의 집합(예를 들어, "작은" 인스턴스들보다 비용이 많이 들 수 있는 "큰" 인스턴스들)만이 다수의 CVI를 갖도록 허락될 수 있고, 단지 단일 CVI(또는 CVI가 전혀 없음)가 허락되는 인스턴스에 다수의 식별 정보를 할당하기 위한 요청을 발생하는 클라이언트들은 "권한이 거부됨" 또는 유사한 에러 메시지를 수신할 수 있다. 적어도 일 실시예에서, 인스턴스에 하나보다 많은 CVI를 할당하기를 바라는 클라이언트들은 식별 정보당 가격들을 포함하는 가격 정책을 수락하도록 요구될 수 있다. 몇몇 실시예에서, 소정의 CVI에 대해 요구되는 식별 정보 검증의 유형(예를 들어, 제공자 네트워크 자체 식별 정보 검증자들이 사용될 수 있는지 여부, 또는 외부 식별 정보 검증자들 이를테면 공인 인증 기관들이 사용될 지 여부)는 식별 정보 할당과 연관된 가격 책정을 결정할 수 있다. 클라이언트의 LaunchInstance 요청이 구성 관리자의 수락 기준을 충족하는 경우, 구성 관리자는 도시된 실시예에서의 명칭 공간 소유자들(520), 이를테면 명칭 공간 소유자(520A, 520B 또는 520C)의 적절한 집합으로부터 요청된 유형들의 식별 정보들의 할당을 개시할 수 있다. 몇몇 구현예에서, 명칭 공간 소유자들로 보내지는 요청들은 론칭될 컴퓨트 인스턴스에 할당될 키 쌍들 중 공개 키(들)을 포함할 수 있다. 몇몇 실시예에서, 인스턴스 구성 관리자(510)는 요청된 식별 정보들이 성공적으로 할당되었음을 나타내는 통지들을 명칭 공간 소유자들로부터 수신할 수 있다. 도시된 실시예에서, 식별 정보 또는 식별 정보들이 인스턴스에 성공적으로 할당됨을 나타내는 LaunchSuccessful 메시지(506)(예를 들어, AssignedIDInfo 파라미터에 포함됨)는 클라이언트(502)에 제공될 수 있다. 적어도 몇몇 실시예에서, 예를 들어, 대신하여 인스턴스가 론칭되는 클라이언트가 인스턴스에 대한 임의의 식별 정보 관련 선호도를 명시적으로 나타내지 않는다 하더라도, 하나 이상의 CVI가 기본적으로 인스턴스에 할당될 수 있다.
도시된 실시예에서, 론칭 후 현재 실행되고 있는 인스턴스에 대한 식별 정보 할당이 클라이언트(502)에 의해 AssignIdentityToInstance 요청(508)을 통해 요청될 수 있다. 이에 응답하여, 구성 관리자(510)는 한클라이언트가 식별 정보들을 할당하도록 허락됨을 한 번 더 확인할 수 있고, 그 다음 LaunchInstance 요청(504)에 대하여 위에서 논의된 방식과 유사한 방식으로 실행되고 있는 인스턴스에 식별 정보를 할당하는 것을 개시할 수 있다. 요청된 클라이언트들의 성공적인 할당을 나타내는 확인 응답 메시지 IDAssignACK(511)가 클라이언트(502)에 제공될 수 있다.
식별 정보를 취소하기 위해, 클라이언트(502)는 취소될 식별 정보들의 집합을 나타내는 IDDescriptor 파라미터와 함께, RevokeIDFromInstance 요청(512)을 구성 관리자(510)에 제출할 수 있다. 예를 들어, 권한들의 집합이 인스턴스의 생애의 몇몇 부분 동안 단지 컴퓨트 인스턴스에 의해 요구될 때, 식별 정보의 취소가 유용할 수 있다 - 예를 들어, 식별 정보 확인이 요구되는 특정 애플리케이션이 인스턴스 상에서 더 이상 실행되지 않을 때, 대응하는 CVI가 취소되거나 무효가 될 수 있다. 클라이언트가 식별 정보 또는 식별 정보들을 취소하도록 허락됨을 확인한 후, 구성 관리자는 적절한 명칭 공간 관리자들(520)과의 하나 이상의 통신을 통해 취소를 개시할 수 있다. 도시된 실시예에서, 취소가 성공하면, 확인 응답 메시지 IDRevocationACK(514)가 클라이언트(502)에 송신될 수 있다. 명칭 공간 소유자들(520)은 다양한 실시예에서 다양한 이유로 - 예를 들어, 요청된 명칭이 이미 할당된 경우 - 식별 정보들을 할당 또는 취소하기 위한 요청들을 거절할 수 있다. 그러한 거절들의 표시들은 인스턴스 구성 관리자(510)에 의해 요청 클라이언트들에 제공될 수 있다. 다양한 실시예에서, 다양한 상이한 유형의 프로그램 인터페이스들은 도 3에 도시된 상호작용들(인증자들 및 컴퓨트 인스턴스들 간) 및 도 5에 도시된 상호작용들(클라이언트들 및 제공자 네트워크의 제어 영역 구성요소들 간)의 유형들에 따라 구현될 수 있다는 것이 주의된다. 그러한 인터페이스들은 API들, 웹 페이지들 또는 웹 기반 콘솔들, 그래픽 사용자 인터페이스들(GUIs), 명령 라인 툴들 기타 같은 종류의 것을 포함할 수 있다.
식별 정보 설명자 요소들
도 6은 적어도 몇몇 실시예에 따른, 인스턴스 구성 관리자에 제출되는 식별 정보 할당 요청들에 포함될 수 있는 식별 정보 설명자들의 예시적인 콘텐츠를 도시한다. 복수의 식별 정보 엔트리(612), 이를테면 612A 또는 612B를 포함하는 식별 정보 설명자(610)는 예를 들어, 도 5에 도시된 요청들과 유사한 LaunchInstance 또는 AssignIdentityToInstance 요청의 파라미터로서 제공될 수 있다.
도시된 실시예에서, 식별 정보 엔트리(612A)는 다음 서브-엔트리들: 명칭 공간(614A)의 식별자, 명칭 공간의 소유자(616A), 예를 들어, 요청된 명칭(618A), 식별 정보에 대한 초기 유효 기간(620A), 유효성 연장 정책(622A)(예를 들어, 할당된 식별 정보를 연장하기 위해 어떤 단계들이 취해질 지, 및 만료 식별 정보가 갱신될 수 있는 시간 기간), 검증 메커니즘(624A)(예를 들어, 식별 정보의 암호 확인을 위해 사용될 인증서 또는 알고리즘의 유형), 및/또는 승인된 검증자 리스트(626A)의 몇몇 조합을 포함할 수 있다. 식별 정보 엔트리(612B)는 동일한 예를 들어, 제2 요청된 식별 정보에 대한 다음 속성들의 상이한 조합을 명시할 수 있다: 예를 들어, 제2 명칭 공간(614B), 명칭 공간의 소유자(616B)(616A와 상이할 수 있음), 명칭 공간(614B) 내 상이한 요청된 명칭(618B), 초기 유효 기간(620B)(620A와 상이할 수 있음), 유효성 연장 정책(622B)(622A와 상이할 수 있음), 검증 메커니즘(624B)(624A와 상이할 수 있음), 승인된 검증자 리스트(626B)(검증자 리스트(626A)와 중첩될 수 있음). 적어도 몇몇 실시예에서, 서브 엔트리들 중 하나 이상의 서브 엔트리가 생략될 수 있다. 예를 들어, 몇몇 유형의 식별 정보의 경우, 요청된 명칭(618) 대신, 클라이언트는 예를 들어 적절한 명칭을 결정하기 위해 VCS(또는 제공자 네트워크의 몇몇 다른 서비스)에 의존적일 수 있다. 유사하게, 유효성 관련 파라미터들 이를테면 유효 기간들(620), 유효성 연장 정책들(622) 또는 검증자 리스트들의 경우, 클라이언트는 명칭 공간 소유자에 의해 또는 VCS에 의해 선택된 기초 설정들에 의존적일 수 있을 수 있다. 적어도 몇몇 실시예에서, 적어도 몇몇 유형의 식별 정보에 대한 검증 메커니즘이 사전에 결정될 수 있다 - 즉, 클라이언트가 인스턴스 식별 정보들이 검증될 방식을 변경하거나, 또는 사용될 수 있는 검증자들의 집합을 변경할 수 없을 수 있다.
적어도 일 실시예에서, 소정의 유형의 인스턴스 식별 정보가 몇몇 상이한 유형의 검증자들에 의해 확인되는 것이 가능할 수 있을 수 있다 - 예를 들어, 제공자 네트워크 자체 내부 인증 기관들 뿐만 아니라, 제공자 네트워크 외부의 제3자 또는 공인 인증 기관들이 인스턴스의 식별 정보에 대한 디지털 인증서들에 서명할 수 있을 수 있다. 몇몇 그러한 실시예에서, 클라이언트는 그들이 그들의 인스턴스들을 위해 사용하는 것을 선호하는 식별 정보의 유형에 적어도 부분적으로 기초하는 가격 책정 옵션들을 갖출 수 있다. 예를 들어, 클라이언트는 식별 정보가 제3자 또는 외부 기관에 의해 검증될 인스턴스에 대해서보다 식별 정보가 제공자 네트워크 내 기관에 의해 검증될 인스턴스에 대해 더 낮은 과금율을 청구받을 수 있다. 몇몇 실시예에서, 도 6에 도시된 식별 정보 엔트리 서브 구성요소들의 일부 또는 전부는 API 호출의 별개의 파라미터들로서 제공될 수 있고, 반드시 단일 객체 또는 데이터 구조 이를테면 식별 정보 설명자 내에 포함될 필요는 없다.
다면적인 인스턴스 식별 정보를 지원하기 위한 방법들
도 7은 적어도 몇몇 실시예에 따른, 인스턴스 식별 정보 할당에 관계된 관리상 요청들에 응답하기 위해 수행될 수 있는 동작들의 측면들을 도시하는 흐름도이다. 요소(701)에 도시된 바와 같이, 컴퓨트 인스턴스(CI1)에 하나 이상의 CVI를 할당하기 위한 요청이 가상 컴퓨팅 서비스의 제어 영역 구성요소에서 수신될 수 있다. 용어 "제어 영역 구성요소들"은 본 출원에서 비-관리상 애플리케이션 동작들에 수반되는 "데이터 영역 구성요소들"과는 대조적으로, VCS의 컴퓨트 인스턴스들 및 인스턴스 호스트들의 구성 및 관리에 책임이 있는 개체들(이를테면 도 510에 도시된 구성 관리자)을 지칭하기 위해 사용될 수 있다. 식별 정보 할당 요청은 요청된 각각의 유형의 식별 정보, 이를테면 명칭 공간 식별자, 명칭 공간 소유자, 요청된 명칭 등에 대응하여 도 6의 상황에서 논의된 식별 정보 속성들의 일부 또는 전부를 나타낼 수 있다. 몇몇 파라미터는 요청된 식별 정보 중 하나 이상의 식별 정보에 대해 동일할 수 있다 - 예를 들어, 동일한 유효 기간들이 두 개 이상의 상이한 식별 정보에 대해 요청될 수 있거나, 또는 동일한 개체가 두 개 이상의 식별 정보에 대한 명칭 공간들을 소유할 수 있다. 몇몇 실시예에서, 기초 설정들은 클라이언트의 요청에 명시적으로 열거되지 않은 하나 이상의 속성을 위해 사용될 수 있다. 식별 정보 할당 요청들은 인스턴스의 론칭 이전(예를 들어, LaunchInstance 요청 또는 동등한 요청), 또는 다른 경우 인스턴스가 론칭된 후 수신될 수 있다.
제어 영역 구성요소는 수신된 식별 정보 할당 요청의 내용을 검증할 수 있다(요소(704)). 다수의 상이한 유형의 검증 동작들이 다양한 실시예에서, 이를테면 요청된 식별 정보가 이미 할당되었는지 여부(또는 동일한 명칭 공간 내 상이한 식별 정보가 이미 할당되었는지) 여부, 요청자가 요청된 식별 정보들의 유형들을 할당하도록 허락되는지 여부, 특정된 명칭 공간 소유자들이 VCS로부터 도달 가능하지 여부, 또는 특정 인스턴스(CI1)가 CVI 할당을 위한 적격 기준을 충족하는지 여부를 확인하여 수행될 수 있다. 적어도 일 실시예에서, 예를 들어, 몇몇 상이한 유형의 컴퓨트 인스턴스들(이를테면 "작은", "중간", 및 "큰" 인스턴스들)이 VCS에 의해 각각의 가격 정책들에 대하여 지원될 수 있고, 소정의 유형의 명칭 공간 내 CVI들은 반드시 모든 인스턴스 유형에 할당 가능할 필요는 없을 수 있다. 적어도 일 실시예에서, 상이한 유형들의 CVI들은 예를 들어, CVI 유형에 대한 명칭 공간 및 식별 정보 검증자들에 기초하여, 그것들과 연관된 상이한 가격 정책들을 가질 수 있다. 그러한 실시예에서, 제어 영역 구성요소는 적절한 가격 정책이 CI1에 대해 시행됨을, 또는 요청 클라이언트가 하나 이상의 CVI의 할당을 승인하기 전, 적절한 가격 정책에 동의했음을 보장해야 할 수 있다. 몇몇 구현예에서, 예를 들어, 모든 인스턴스가 보안 키 저장소들에 의해 관리되는 암호 키들을 사용하지는 않는 구현예에서, VCS 제어 영역 구성요소는 CVI가 할당될 인스턴스가 CVI를 어써트하기 위해 적절한 키들의 집합을 이용할 수 있게 될 것임을 확인할 수 있다.
식별 정보 할당 요청이 검증된 후, 제어 영역 구성요소는 요청된 식별 정보들의 각각에 대한 각각의 요청들을 명칭 공간 소유자들에 송신할 수 있다(요소(707)). 적어도 일 실시예에서, 제어 영역 구성요소는 소정의 식별 정보를 위해 사용될 암호화 키 쌍 중 공개 키를 결정할 수 있을 수 있고, 공개 키는 명칭 공간 소유자들에 전송되는 요청들에 포함될 수 있다. 일 실시예에서, 클라이언트의 식별 정보 할당 요청에 포함된 파라미터들의 일부 또는 전부는 명칭 공간 소유자들로 전달될 수 있다. 명칭 공간 소유자들은 제어 영역 구성요소로부터의 요청에 응답하여 그들 자체의 검증 동작들을 수행할 수 있다. 검증 동작들이 성공하면, 각각의 명칭 공간들의 명칭 공간 소유자들 및/또는 식별 정보 검증자들은 요청된 식별 정보에 필요한 메타데이터(예를 들어, 할당될 명칭, 적절한 디지털 인증서들 또는 다른 식별 정보 관련 아티팩트들 등)를 생성할 수 있다.
제어 영역 구성요소는 요청된 유형들의 식별 정보들이 컴퓨트 인스턴스(CI1)에 할당되었음을 나타내는 확인 응답들을 명칭 공간 소유자(들)로부터 수신할 수 있다(요소(710)). 적어도 몇몇 실시예에서, 하나 이상의 명칭 공간 내 CI1에 할당된 명칭들은 제어 영역 구성요소에 제공될 수 있다. 몇몇 실시예에서, 명칭 공간에 대한 식별 정보 검증자는 또한 또는 대신 명칭 공간 내 식별 정보가 CI1에 성공적으로 할당되었음을 제어 영역 구성요소에 통지할 수 있다. 도시된 실시예에서, 제어 영역 구성요소는 CI1의 식별 정보들의 상태, 예를 들어, 요청된 식별 정보들이 할당되었음 또는 요청된 식별 정보들 중 하나 이상의 식별 정보가 할당되지 않은 경우를 통지할 수 있다(요소(713)). 몇몇 실시예에서, 다양한 명칭 공간에서의 인스턴스에 할당된 명칭이 또한 클라이언트에도 제공될 수 있다. 적어도 일 실시예에서, VCS는 (예를 들어, API 이를테면 "DescribeInstance" 또는 콘솔을 통해) 제어 영역 프로그램 인터페이스를 구현하여, 클라이언트가 식별 정보 속성들 이를테면 명칭 공간 식별자들, 명칭 공간 소유자들, 유효 기간들, 검증자 리스트들 등과 함께, 소정의 컴퓨트 인스턴스에 할당되는 모든 CVI의 리스트를 획득하게 할 수 있다.
도 8은 적어도 몇몇 실시예에 따른, 각각의 명칭 공간들 내 하나 이상의 식별 정보가 할당된 컴퓨트 인스턴스에서 수행될 수 있는 동작들의 측면들을 도시하는 흐름도이다. 요소(801)에 도시된 바와 같이, 예를 들어, CI1이 속하는 인스턴스 분류에 대해 시행되는 VCS 정책들에 기초하여 기본적으로, 또는 인스턴스 소유자의 요청(들)에 응답하여, 하나 이상의 CVI가 가상화된 컴퓨팅 서비스(VCS)의 소정의 컴퓨트 인스턴스(CI1)에 할당될 수 있다.
CI1는 특정 애플리케이션 그리고/또는 명칭 공간과 연관된 식별 정보 질의(예를 들어, DNS 명칭 공간에 대한 원격 데스크탑 클라이언트로부터의 질의, 또는 라이선스 명칭 공간에 대한 라이선스 서버로부터의 질의)를 수신할 수 있다(요소(804)). 몇몇 그러한 식별 정보 질의는 또한 인증 신청들로서 지칭될 수도 있다. 이에 응답하여, CI1은 하나 이상의 암호로 생성된 아티팩트들을 적절한 명칭 공간에서의 그것에 할당된 CVI의 표시로서 제공할 수 있다(요소(807)). 몇몇 경우, CI1은 식별 정보가 수신된 상황에서 특정 애플리케이션에 적용 가능한 명칭 공간을 먼저 결정해야 할 수 있고; 다른 경우, 식별 정보 질의 또는 신청은 명칭 공간을 명시적으로 나타낼 수 있다. 일 실시예에서, 하나 이상의 식별 정보 검증자(예를 들어, CI1의 주장된 식별 정보들에 대해 컨설팅을 받을 수 있는 신뢰 기관)의 표시는 CI1의 응답에 포함될 수 있다. 적어도 몇몇 실시예에서, 각 CVI는 CI1에 대해 배타적으로 지정된 대응하는 암호화 키 쌍과 연관될 수 있다. 적어도 몇몇 구현예에서 하나보다 많은 CVI가 동일한 키 쌍과 연관될 수 있음이 주의된다. 적어도 일 실시예에서, 식별 정보를 나타내는 아티팩트들은 디지털 인증서(대응하는 명칭 공간에 대한 식별 정보 검증자에 의해 서명되고 관련 키 쌍 중 공개 키를 포함함) 및/또는 CI1이 실행되는 인스턴스 호스트에서의 가상화 관리 구성요소에 의해 구현되는 프로그램 인터페이스를 사용하여 획득되는 다른 암호 값(이를테면 디지털 서명)을 포함할 수 있다. 몇몇 구현예에서 프로그램 인터페이스는 CI1에 비밀 키 자체는 보이지 않고, CI1이 암호 값을 획득하기 위해 비밀 키를 간접적으로 사용하게 할 수 있다. 다양한 실시예에서 비밀 키는 보안 키 저장소, 이를테면 CI1이 실행되는 인스턴스 호스트의 통신 버스에 접속된 로컬 주변 디바이스, 또는 네트워크를 통해 가상화 관리 구성요소로부터 액세스 가능한 원격 하드웨어 보안 모듈에서 관리/그것에 저장될 수 있다. 도시된 실시예에서 그것의 CVI 또는 CVI들을 어써트하기 위한 CI1에 의한 비밀 키의 사용은 VCS에 의해 가능하게 될 수 있다.
도시된 실시예에서, CVI가 식별 정보 요청을 생성한 개체에 의해 수락되는 경우(요소(810)에서 결정될 때), CI1은 식별 정보 요청이 수신된 애플리케이션의 추가 동작들을 수행하는 것으로 진행할 수 있다(요소(813)). CVI가 거절되는 경우(또한 요소(810)에서 결정될 때), CI1은 임의로 에러 메시지를 인스턴스 호스트의 가상화 관리 구성요소에 그리고/또는 VCS 제어 영역에 전송할 수 있다(요소(816)).
다양한 실시예에서, 도 7 및 도 8의 흐름도들에 도시된 것들 이외의 동작들이 본 출원에서 논의된 다면적인 인스턴스 식별 정보를 지원하기 위한 기술들 중 적어도 몇몇 기술을 구현하기 위해 사용될 수 있음이 주의된다. 도시된 동작들 중 몇몇은 몇몇 실시예에서 구현되지 않을 수 있거나, 도 7 또는 도 8에 도시된 것과 상이한 순서로 구현될 수 있거나, 또는 순차적으로가 아니라 병렬적으로 구현될 수 있다.
용례들
컴퓨트 인스턴스에 다수의 암호로 확인가능한 식별 정보를 할당하기 위한 지원을 제공하는, 위에서 설명된 기술들이 다양한 환경에서 사용될 수 있다. 민감한 업무 데이터를 처리하고 그에 따라 고도의 보안을 필요로 하는 많은 최신 애플리케이션 및 프로토콜이 현재 제공자 네트워크 환경들에서 실행되고 있다. 가상 컴퓨팅 서비스들의 적어도 몇몇 클라이언트는 다수의 애플리케이션 상황에서 그들의 컴퓨트 인스턴스들을 사용하기를 바랄 수 있으며, 각 애플리케이션 상황은 하나 이상의 명칭 공간 내에 자체 인증 및 보안 요건을 부과한다. 암호화 키 쌍들(이의 비밀 키들은 그것들의 하드웨어 키 저장소들로부터 변경 또는 복사될 수 없음)을 각 인스턴스에 할당함으로써, 그리고 인스턴스들이 하나 이상의 명칭 공간 내 그들 자체의 식별 정보들을 어써트하게 하기 위해 키들을 사용함으로써, 클라이언트들은 많은 유형의 애플리케이션에 대해 원하는 보안 수준들을 달성할 수 있을 수 있다. 그러한 기술들은 또한 컴퓨트 인스턴스들을 관리하는 것과 연관된 관리상 노력을 감소시킬 수 있다 - 예를 들어, 관리자는 더 이상 수동으로(예를 들어, 컴퓨팅 서비스의 관리상 콘솔을 통해) 소정의 애플리케이션에 참여하는 각 인스턴스가 그렇게 할 자격을 가짐을 확인해야 하지 않을 수 있다. 상이한 유효 기간들 및 다른 속성들이 소정의 인스턴스에 할당된 상이한 식별 정보들에 대해 설정되어, 단지 단일 식별 정보가 인스턴스에 할당 가능한 경우 가능했을 것보다 유연성을 높이는 것을 가능하게 할 수 있다. 클라이언트들은 다양한 인스턴스에 대해 사용될 식별 정보 검증 메커니즘의 유형들에 부분적으로 의존적인 가격 정책 계획들을 선택하여, 인스턴스 식별 정보에 대한 가격 책정이 균형을 이루게 할 수 있을 수 있다.
예시적인 컴퓨터 시스템
적어도 몇몇 실시예에서, 컴퓨트 인스턴스들에 각각의 명칭 공간들 내 다수의 식별 정보를 할당하는 것을 위한 위에서 설명된 기술들 중 하나 이상의 기술을 구현하는 서버는 하나 이상의 컴퓨터-액세스 가능한 매체를 포함하거나 그것들에 액세스하도록 구성된 범용 컴퓨터 시스템을 포함할 수 있다. 도 9는 그러한 범용 컴퓨팅 디바이스(9000)를 도시한다. 도시된 실시예에서, 컴퓨팅 디바이스(9000)는 입력/출력(I/O) 인터페이스(9030)를 통해 시스템 메모리(9020)(비-휘발성 및 휘발성 메모리 모듈들 양자를 포함할 수 있음)에 연결되는 하나 이상의 프로세서(9010)를 포함한다. 컴퓨팅 디바이스(9000)는 I/O 인터페이스(9030)에 연결되는 네트워크 인터페이스(9040)를 더 포함한다.
다양한 실시예에서, 컴퓨팅 디바이스(9000)는 하나의 프로세서를 포함하는 유니프로세서 시스템(9010), 또는 몇몇(예를 들어, 2, 4, 8, 또는 다른 적절한 수) 프로세서를 포함하는 멀티프로세서 시스템(9010)일 수 있다. 프로세서들(9010)은 명령들을 실행할 수 있는 임의의 적합한 프로세서들일 수 있다. 예를 들어, 다양한 실시예에서, 프로세서들(9010)은 다양한 명령어 집합 아키텍처(ISAs), 이를테면 x86, PowerPC, SPARC, 또는 MIPS ISAs, 임의의 다른 적합한 ISA 중 임의의 아키텍처를 포함하는 범용 또는 내장형 프로세서들일 수 있다. 멀티프로세서 시스템들에서, 프로세서들(9010)의 각각은 반드시는 아니나, 통상적으로 동일한 ISA를 구현할 수 있다. 몇몇 구현예에서, 그래픽 처리 장치들(GPUs)이 종래 프로세서들 대신, 또는 그것들에 더하여 사용될 수 있다.
시스템 메모리(9020)는 프로세서(들)(9010)에 의해 액세스 가능한 명령들 및 데이터를저장하도록 구성될 수 있다. 적어도 몇몇 실시예에서, 시스템 메모리(9020)는 휘발성 및 비-휘발성 부분들 양자를 포함할 수 있고; 다른 실시예들에서는, 단지 휘발성 메모리만 사용될 수 있다. 다양한 실시예에서, 시스템 메모리(9020)의 휘발성 부분은 임의의 적합한 메모리 기술, 이를테면 스태틱 랜덤 액세스 메모리(SRAM), 동기식 동적 RAM 또는 임의의 다른 유형의 메모리를 사용하여 구현될 수 있다. 몇몇 실시예에서, (예를 들어, 하나 이상의 NVDIMM을 포함할 수 있는) 시스템 메모리의 비-휘발성 부분에 대해, NAND-플래시 디바이스들을 포함하여, 플래시 기반 메모리 디바이스들이 사용될 수 있다. 적어도 몇몇 실시예에서, 시스템 메모리의 비-휘발성 부분은 전원, 이를테면 수퍼 커패시터 또는 다른 전력 저장 디바이스(예를 들어, 배터리)를 포함할 수 있다. 다양한 실시예에서, 멤리스터 기반 저항성 랜덤 액세스 메모리(ReRAM), 3-차원 NAND 기술들, 강유전성 RAM, 자기저항성 RAM(MRAM), 또는 임의의 다양한 유형의 상 변화 메모리(PCM)가 시스템 메모리의 적어도 비-휘발성 부분에 대해 사용될 수 있다. 도시된 실시예에서, 하나 이상의 원하는 기능을 구현하는 프로그램 명령들 및 데이터, 이를테면 위에서 설명된 방법들, 기술들, 및 데이터가 코드(9025) 및 데이터(9026)로서 시스템 메모리(9020) 내에 저장되는 것으로 도시된다.
일 실시예에서, I/O 인터페이스(9030)는 프로세서(9010), 시스템 메모리(9020), 및 로컬 보안 키 저장소 이를테면 신뢰 플랫폼 모듈(TPM)(966), 네트워크 인터페이스(9040) 또는 다른 주변 인터페이스들 이를테면 다양한 유형의 영속적 및/또는 휘발성 저장 디바이스들을 포함하여, 디바이스 내 임의의 주변 디바이스들 간 I/O 트래픽를 조정하도록 구성될 수 있다. 몇몇 실시예에서, I/O 인터페이스(9030)는 하나의 구성요소(예를 들어, 시스템 메모리(9020))로부터의 데이터 신호들을 다른 구성요소(예를 들어, 프로세서(9010))에 의해 사용하기에 적합한 포맷으로 변환하기 위한 임의의 필요 프로토콜, 타이밍 또는 다른 데이터 변환들을 수행할 수 있다. 몇몇 실시예에서, I/O 인터페이스(9030)는 다양한 유형의 주변 버스들, 이를테면 예를 들어, 로핀 카운트(LPC) 버스, 주변 구성요소 상호접속(PCI) 버스 표준 또는 유니버셜 시리얼 버스(USB) 표준의 변형을 통해 접속된 디바이스들에 대한 지원을 포함할 수 있다. 몇몇 실시예에서, I/O 인터페이스(9030)의 기능은 두 개 이상의 별개의 구성요소, 이를테면 예를 들어, 노스 브리지 및 사우스 브리지로 나눠질 수 있다. 또한, 몇몇 실시예에서, I/O 인터페이스(9030), 이를테면 시스템 메모리(9020)에 대한 인터페이스의 기능의 일부 또는 전부가 프로세서(9010)에 직접 포함될 수 있다.
네트워크 인터페이스(9040)는 네트워크 또는 네트워크들(9050)에 접속된 컴퓨팅 디바이스(9000) 및 다른 디바이스들(9060), 이를테면 예를 들어, 도 1 내지 도 8에 도시된 바와 같은 다른 컴퓨터 시스템들 또는 디바이스들 간에 데이터가 교환되게 하도록 구성될 수 있다. 다양한 실시예에서, 네트워크 인터페이스(9040)는 임의의 적합한 유선 또는 무선의 일반적 데이터 네트워크들, 이를테면 예를 들어, 이더넷 네트워크의 유형들을 통해 통신을 지원할 수 있다. 추가적으로, 네트워크 인터페이스(9040)는 전화 통신/전화 통화 네트워크들 이를테면 아날로그 음성 또는 디지털 파이버 통신 네트워크들을 통해, 저장 장치 전용 네트워크들 이를테면 파이버 채널 SAN들을 통해, 또는 임의의 다른 적합한 유형의 네트워크 및/또는 프로토콜을 통해 통신을 지원할 수 있다.
몇몇 실시예에서, 시스템 메모리(9020)는 대응하는 방법들 및 장치의 실시예들을 구현하기 위한 도 1 내지 도 8에 대해 위에서 설명된 바와 같이 프로그램 명령들 및 데이터를 저장하도록 구성된 컴퓨터-액세스 가능한 매체의 일 실시예일 수 있다. 그러나, 다른 실시예들에서, 프로그램 명령들 및/또는 데이터가 상이한 유형들의 컴퓨터-액세스 가능한 매체 상에 수신, 전송 또는 저장될 수 있다. 일반적으로 말하면, 컴퓨터-액세스 가능한 매체는 I/O 인터페이스(9030)를 통해 컴퓨팅 디바이스(9000)에 접속되는 비-일시적 저장 매체 또는 메모리 매체 이를테면 자기 또는 광 매체, 예를 들어, 디스크 또는 DVD/CD를 포함할 수 있다. 비-일시적 컴퓨터-액세스 가능한 저장 매체는 또한 임의의 휘발성 또는 비-휘발성 매체 이를테면 RAM(예를 들어, SDRAM, DDR SDRAM, RDRAM, SRAM 등), ROM 등을 포함할 수 있으며, 이들은 컴퓨팅 디바이스(9000)의 몇몇 실시예에서 시스템 메모리(9020) 또는 다른 유형의 메모리로서 포함될 수 있다. 나아가, 컴퓨터-액세스 가능한 매체는 이를테면 네트워크 인터페이스(9040)를 통해 구현될 수 있는, 송신 매체 또는 통신 매체 이를테면 네트워크 및/또는 무선 링크를 통해 전달되는, 신호들 이를테면 전자, 전자기, 또는 디지털 신호들을 포함할 수 있다. 이를테면 도 9에 도시된 다수의 컴퓨팅 디바이스의 부분들 또는 전부는 다양한 실시예에서 설명된 기능을 구현하기 위해 사용될 수 있다; 예를 들어, 다양한 상이한 디바이스 및 서버 상에서 실행되는 소프트웨어 구성요소들이 기능을 제공하기 위해 협력할 수 있다. 몇몇 실시예에서, 원하는 기능의 부분들이 범용 컴퓨터 시스템들을 사용하여 구현되는 것에 더하여 또는 그 대신, 저장 디바이스들, 네트워크 디바이스들, 또는 전용 컴퓨터 시스템들을 사용하여 구현될 수 있다. 용어 "컴퓨팅 디바이스"는 본 출원에서 사용될 때, 적어도 모든 이러한 유형의 디바이스들을 지칭하고, 이러한 유형들의 디바이스들로 제한되는 것은 아니다.
결론
다양한 실시예는 컴퓨터-액세스 가능한 매체 상에 앞서 말한 설명에 따라 구현되는 명령들 및/또는 데이터를 수신, 전송 또는 저장하는 것을 더 포함할 수 있다. 일반적으로 말하면, 컴퓨터-액세스 가능한 매체는 저장 매체 또는 메모리 매체 이를테면 자기 또는 광 매체, 예를 들어, 디스크 또는 DVD/CD-ROM, 휘발성 또는 비-휘발성 매체 이를테면 RAM(예를 들어, SDRAM, DDR, RDRAM, SRAM 등), ROM 등 뿐만 아니라, 송신 매체 또는 통신 매체 이를테면 네트워크 및/또는 무선 링크를 통해 전달되는, 신호들 이를테면 전기, 전자기, 또는 디지털 신호들을 포함할 수 있다.
도면들에 도시되고 본 출원에 설명된 바와 같은 다양한 방법을 방법들의 대표적인 실시예들을 나타낸다. 방법들은 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 방법의 순서는 변경될 수 있고, 다양한 요소가 추가, 재순서화, 조합, 생략, 변경 등이 될 수 있다.
본 발명의 혜택을 갖는 해당 기술분야에서의 통상의 기술에게 명백할 바와 같이 다양한 변형 및 변경이 이루어질 수 있다. 모든 그러한 변형 및 변경을 포함하도록, 그리고 그에 따라 상기한 설명을 제한적인 의미가 아니라 예시적인 의미로 여기도록 의도된다.
본 발명의 실시예들은 다음 조항들을 고려해서 설명될 수 있다:
1. 시스템으로서,
하나 이상의 컴퓨트 인스턴스를 포함하는 적어도 제1 인스턴스 호스트를 포함하는, 제공자 네트워크의 가상 컴퓨팅 서비스의 복수의 인스턴스 호스트를 포함하되;
하나 이상의 컴퓨트 인스턴스의 특정 컴퓨트 인스턴스는:
제1 애플리케이션과 연관된 제1 인증자로부터의 제1 식별 정보 질의에 응답하여, 제1 인스턴스 식별 정보 명칭 공간(IIN; instance identity namespace) 내 특정 컴퓨트 인스턴스에 할당된 제1 암호로 확인 가능한 식별 정보(CVI; cryptographically verifiable identity)의 표시를 제공하도록 구성되되, 제1 CVI는 제1 컴퓨트 인스턴스에 지정된 암호화 키 쌍과 연관되고, 암호화 키 쌍의 비밀 키는 보안 키 저장소 외부의 장소들에 비밀 키가 복사되는 것을 방지하도록 구성된 보안 키 저장소에 의해 관리되며, 그리고 가상 컴퓨팅 서비스는 특정 컴퓨트 인스턴스가 제1 CVI의 표시를 제공하기 위해 비밀 키를 사용하게 하는 것이고;
제1 CVI가 제1 인증자에 의해 수락되었다는 결정에 응답하여, 제1 애플리케이션의 하나 이상의 동작을 수행하도록 구성되고;
제2 애플리케이션과 연관된 제2 인증자로부터의 제2 식별 정보 질의에 응답하여, 상이한 IIN 내 제1 컴퓨트 인스턴스에 할당된 상이한 CVI의 표시를 제공하도록 구성되며; 그리고
제2 CVI가 제2 인증자에 의해 수락되었다는 결정에 응답하여, 제2 애플리케이션의 하나 이상의 동작을 수행하도록 구성된, 시스템.
2. 조항 1에 있어서, 제1 CVI의 표시는 공중 키 인프라스트럭처(PKI; public key infrastructure) 표준에 따라 포맷을 갖춘 제1 인증을 포함하는, 시스템.
3. 조항 1에 있어서, 특정 컴퓨트 인스턴스는:
제1 CVI의 표시에 포함된 적어도 하나의 아티팩트를 획득하기 위해 제1 인스턴스 호스트의 가상화 관리 구성요소에 의해 구현되는 프로그램 인터페이스를 호출하도록 더 구성된, 시스템.
4. 조항 1에 있어서, 보안 키 저장소는 다음: (a) 제공자 네트워크의 보안 서비스의 하드웨어 보안 모듈, 또는 (b) 제1 인스턴스 호스트의 통신 버스에 접속된 주변 디바이스 중 하나를 포함하는, 시스템.
5. 조항 1에 있어서, 제1 CVI는 다음: (a) 특정 컴퓨트 인스턴스에 할당된 가상 IP(인터넷 프로토콜) 어드레스에 적어도 부분적으로 기초한 특정 컴퓨트 인스턴스의 DNS(도메인 명칭 체계) 명칭, (b) 특정 컴퓨트 인스턴스에 할당된 공중 IP 어드레스, (c) 특정 컴퓨트 인스턴스에 할당된 전용 IP 어드레스, (d) 가상 컴퓨팅 서비스(VCS; virtual computing service)-정의 명칭 공간으로부터의 제공자 네트워크의 VCS에 의해 특정 컴퓨트 인스턴스에 할당된 고유 명칭, (e) 제공자 네트워크의 고객에 의해 고객-정의 명칭 공간으로부터 선택된 고유 명칭, (f) 제공자 네트워크의 고객에 의해 VCS-정의 명칭 공간으로부터 선택된 명칭, (g) 제공자 네트워크의 고객에 의해 선택된 DNS 명칭, 또는 (h) 제3자에 의해 정의된 명칭 공간 내 특정 컴퓨트 인스턴스에 할당된 명칭 중 하나 이상을 포함하는, 시스템.
6. 방법으로서,
제공자 네트워크의 가상 컴퓨팅 서비스의 인스턴스 호스트에, 하나 이상의 컴퓨트 인스턴스를 론칭하는 단계;
하나 이상의 컴퓨트 인스턴스의 제1 컴퓨트 인스턴스에서, 제1 식별 정보 질의를 수신하는 단계;
제1 식별 정보 질의에 응답하여 제1 컴퓨트 인스턴스로부터, 제1 인스턴스 식별 정보 명칭 공간(IIN) 내 제1 컴퓨트 인스턴스에 할당된 제1 암호로 확인 가능한 식별 정보(CVI)의 표시를 제공하는 단계로서, 제1 CVI는 암호화 키 쌍과 연관되고, 암호화 키 쌍의 비밀 키는 비밀 키가 복사되는 것을 방지하도록 구성된 보안 키 저장소에 의해 관리되며, 그리고 가상 컴퓨팅 서비스는 제1 컴퓨트 인스턴스가 제1 CVI의 표시를 제공하기 위해 비밀 키를 사용하게 하는, 상기 제공하는 단계;
제1 컴퓨트 인스턴스에서, 제2 식별 정보 질의를 수신하는 단계; 및
제2 식별 정보 질의에 응답하여 제1 컴퓨트 인스턴스로부터, 상이한 IIN 내 제1 컴퓨트 인스턴스에 할당된 상이한 CVI의 표시를 제공하는 단계를 포함하는, 방법.
7. 조항 6에 있어서, 제1 CVI의 표시는 공중 키 인프라스트럭처(PKI) 표준에 따라 포맷을 갖춘 제1 인증서를 포함하는, 방법.
8. 조항 6에 있어서,
제1 컴퓨트 인스턴스에 의해, 제1 CVI의 표시에 포함된 적어도 아티팩트의 일부를 획득하기 위해 인스턴스 호스트의 가상화 관리 구성요소에 의해 구현되는 프로그램 인터페이스를 호출하는 단계를 더 포함하는, 방법.
9. 조항 6에 있어서, 제2 CVI는 상이한 암호화 키 쌍과 연관된, 방법.
10. 조항 6에 있어서, 보안 키 저장소는 다음: (a) 제공자 네트워크의 보안 서비스의 하드웨어 보안 모듈, 또는 (b) 인스턴스 호스트의 통신 버스에 접속된 주변 디바이스 중 하나를 포함하는, 방법.
11. 조항 6에 있어서, 제1 CVI는 다음: (a) 제1 컴퓨트 인스턴스에 할당된 가상 IP(인터넷 프로토콜) 어드레스에 적어도 부분적으로 기초한 제1 컴퓨트 인스턴스의 DNS(도메인 명칭 체계) 명칭, (b) 제1 컴퓨트 인스턴스에 할당된 공중 IP 어드레스, (c) 제1 컴퓨트 인스턴스에 할당된 전용 IP 어드레스, (d) 가상 컴퓨팅 서비스(VCS)-정의 명칭 공간으로부터의 제공자 네트워크의 VCS에 의해 제1 컴퓨트 인스턴스에 할당된 고유 명칭, (e) 제공자 네트워크의 고객에 의해 고객-정의 명칭 공간으로부터 선택된 고유 명칭, (f) 제공자 네트워크의 고객에 의해 VCS-정의 명칭 공간으로부터 선택된 명칭, (g) 제공자 네트워크의 고객에 의해 선택된 DNS 명칭, 또는 (h) 제3자에 의해 정의된 명칭 공간 내 특정 컴퓨트 인스턴스에 할당된 명칭 중 하나 이상을 포함하는, 방법.
12. 조항 6에 있어서, 제1 CVI의 표시는 다음: (a) 공인 인증 기관(CA; certificate authority), (b) 제공자 네트워크 내에 구현된 검증 기관, (c) 제1 컴퓨트 인스턴스가 할당된 제공자 네트워크의 고객이 소유한 고객 네트워크 내에 구현된 검증 기관, 또는 (d) 제3자 검증 기관 중 하나 이상을 포함하는 식별 정보 검증자를 포함하는, 방법.
13. 조항 6에 있어서,
제1 식별 정보 질의에 응답하여 제1 컴퓨트 인스턴스로부터, 제1 CVI의 제1 유효 기간의 표시를 제공하는 단계; 및
제2 식별 정보 질의에 응답하여 제1 컴퓨트 인스턴스로부터, 제2 CVI의 제2 유효 기간의 표시를 제공하는 단계를 더 포함하되, 제2 유효 기간은 제1 유효 기간과 상이한, 방법.
14. 조항 6에 있어서,
제공자 네트워크의 제어 영역 구성요소에서, 제1 컴퓨트 인스턴스가 제1 IIN 내 식별 정보를 할당받을 것임을 나타내는 인스턴스 구성 요청을 수신하는 단계; 및
인스턴스 구성 요청에 응답하여 제어 영역 구성요소에 의해, 제1 IIN 내 식별 정보를 제1 컴퓨트 인스턴스에 할당하는 것을 개시하는 단계를 더 포함하는, 방법.
15. 조항 6에 있어서, 제1 식별 정보 질의는 제1 애플리케이션과 연관된 라이선스 관리자로부터 제1 컴퓨트 인스턴스에 수신되고, 제1 CVI는 제1 컴퓨트 인스턴스가 제1 애플리케이션을 이용하기 위한 라이선스를 받음을 확인하기 위해 라이선스 관리자에 의해 사용되는, 방법.
16. 조항 6에 있어서,
제공자 네트워크에 구현된 특정 서비스의 서비스 관리자에 의해, 제2 컴퓨트 인스턴스 및 제3 컴퓨트 인스턴스를 포함하는 인스턴스 페일오버 그룹을 수립하는 단계로서, 제2 컴퓨트 인스턴스의 고장 시, 제2 컴퓨트 인스턴스에서 실행하고 있었던 애플리케이션이 제3 컴퓨트 인스턴스로 페일오버될 것인, 상기 인스턴스 페일오버 그룹을 수립하는 단계; 및
서비스 관리자에 의해, (a) 공유된 CVI를 제2 컴퓨트 인스턴스에 할당하는 것 및 (b) 공유된 CVI를 제3 컴퓨트 인스턴스에 할당하는 것을 개시하는 단계로서, 공유된 CVI는 애플리케이션이 제2 컴퓨트 인스턴스 및 제3 컴퓨트 인스턴스에서 실행될 수 있음을 확인하기 위해 사용될 것인, 상기 개시하는 단계를 더 포함하는, 방법.
17. 프로그램 명령들을 저장하는 비-일시적 컴퓨터-액세스 가능한 저장 매체로서, 프로그램 명령들은 하나 이상의 프로세서 상에서 실행될 때:
가상 컴퓨팅 서비스의 제1 컴퓨트 인스턴스에서, 제1 식별 정보 질의를 수신하고;
제1 식별 정보 질의에 응답하여 제1 컴퓨트 인스턴스로부터, 제1 인스턴스 식별 정보 명칭 공간(IIN) 내 제1 컴퓨트 인스턴스에 할당된 제1 암호로 확인 가능한 식별 정보(CVI)의 표시를 제공하되, 제1 CVI는 암호화 키 쌍과 연관되고, 암호화 키 쌍의 비밀 키는 비밀 키가 복사되는 것을 방지하도록 구성된 보안 키 저장소에 의해 관리되며, 그리고 가상 컴퓨팅 서비스는 제1 컴퓨트 인스턴스가 제1 CVI의 표시를 제공하기 위해 비밀 키를 사용하게 하는 것이고;
제1 컴퓨트 인스턴스에서, 제2 식별 정보 질의를 수신하며; 그리고
제2 식별 정보 질의에 응답하여 제1 컴퓨트 인스턴스로부터, 상이한 IIN 내 제1 컴퓨트 인스턴스에 할당된 상이한 CVI의 표시를 제공하는, 비-일시적 컴퓨터-액세스 가능한 저장 매체.
18. 조항 17에 있어서, 제1 CVI의 표시는 공중 키 인프라스트럭처(PKI) 표준에 따라 포맷을 갖춘 제1 인증서를 포함하는, 비-일시적 컴퓨터-액세스 가능한 저장 매체.
19. 조항 17에 있어서, 프로그램 명령들은 하나 이상의 프로세서 상에서 실행될 때:
제1 컴퓨트 인스턴스로부터, 제1 CVI의 표시에 포함된 적어도 데이터의 일부를 획득하기 위해 인스턴스 호스트의 가상화 관리 구성요소에 의해 구현되는 프로그램 인터페이스를 호출하는, 비-일시적 컴퓨터-액세스 가능한 저장 매체.
20. 조항 17에 있어서, 제1 CVI는 다음: (a) 인스턴스에 할당된 가상 IP(인터넷 프로토콜) 어드레스에 적어도 부분적으로 기초한 제1 컴퓨트 인스턴스의 DNS(도메인 명칭 체계) 명칭, (b) 제1 컴퓨트 인스턴스에 할당된 공중 IP 어드레스, (c) 제1 컴퓨트 인스턴스에 할당된 전용 IP 어드레스, (d) 가상 컴퓨팅 서비스(VCS)-정의 명칭 공간으로부터의 제공자 네트워크의 VCS에 의해 제1 컴퓨트 인스턴스에 할당된 고유 명칭, (e) 제공자 네트워크의 고객에 의해 고객-정의 명칭 공간으로부터 선택된 고유 명칭, (f) 제공자 네트워크의 고객에 의해 VCS-정의 명칭 공간으로부터 선택된 명칭, (g) 제공자 네트워크의 고객에 의해 선택된 DNS 명칭, 또는 (h) 제3자에 의해 정의된 명칭 공간 내 제1 컴퓨트 인스턴스에 할당된 명칭 중 하나 이상을 포함하는, 비-일시적 컴퓨터-액세스 가능한 저장 매체.

Claims (15)

  1. 시스템으로서,
    하나 이상의 컴퓨트 인스턴스를 포함하는 적어도 제1 인스턴스 호스트를 포함하는, 제공자 네트워크의 가상 컴퓨팅 서비스의 복수의 인스턴스 호스트를 포함하되;
    상기 하나 이상의 컴퓨트 인스턴스의 특정 컴퓨트 인스턴스는:
    제1 애플리케이션과 연관된 제1 인증자로부터의 제1 식별 정보 질의에 응답하여, 제1 인스턴스 식별 정보 명칭 공간(IIN; instance identity namespace) 내 상기 특정 컴퓨트 인스턴스에 할당된 제1 암호로 확인 가능한 식별 정보(CVI; cryptographically verifiable identity)의 표시를 제공하도록 구성되되, 상기 제1 CVI는 상기 제1 컴퓨트 인스턴스에 지정된 암호화 키 쌍과 연관되고, 상기 암호화 키 쌍의 비밀 키는 보안 키 저장소 외부의 장소들에 상기 비밀 키가 복사되는 것을 방지하도록 구성된 상기 보안 키 저장소에 의해 관리되며, 그리고 상기 가상 컴퓨팅 서비스는 상기 특정 컴퓨트 인스턴스가 상기 제1 CVI의 상기 표시를 제공하기 위해 상기 비밀 키를 사용하게 하는 것이고;
    상기 제1 CVI가 상기 제1 인증자에 의해 수락되었다는 결정에 응답하여, 상기 제1 애플리케이션의 하나 이상의 동작을 수행하도록 구성되고;
    제2 애플리케이션과 연관된 제2 인증자로부터의 제2 식별 정보 질의에 응답하여, 상이한 IIN 내 상기 제1 컴퓨트 인스턴스에 할당된 상이한 CVI의 표시를 제공하도록 구성되며; 그리고
    상기 제2 CVI가 상기 제2 인증자에 의해 수락되었다는 결정에 응답하여, 상기 제2 애플리케이션의 하나 이상의 동작을 수행하도록 구성된, 시스템.
  2. 청구항 1에 있어서, 상기 특정 컴퓨트 인스턴스는:
    상기 제1 CVI의 상기 표시에 포함된 적어도 하나의 아티팩트(artifact)를 획득하기 위해 상기 제1 인스턴스 호스트의 가상화 관리 구성요소에 의해 구현되는 프로그램 인터페이스를 호출하도록 더 구성된, 시스템.
  3. 청구항 1에 있어서, 상기 보안 키 저장소는 다음: (a) 제공자 네트워크의 보안 서비스의 하드웨어 보안 모듈, 또는 (b) 상기 제1 인스턴스 호스트의 통신 버스에 접속된 주변 디바이스 중 하나를 포함하는, 시스템.
  4. 청구항 1에 있어서, 상기 제1 CVI는 다음: (a) 상기 특정 컴퓨트 인스턴스에 할당된 가상 IP(인터넷 프로토콜) 어드레스에 적어도 부분적으로 기초한 상기 특정 컴퓨트 인스턴스의 DNS(도메인 명칭 체계) 명칭, (b) 상기 특정 컴퓨트 인스턴스에 할당된 공중 IP 어드레스, (c) 상기 특정 컴퓨트 인스턴스에 할당된 전용 IP 어드레스, (d) 가상 컴퓨팅 서비스(VCS; virtual computing service)-정의 명칭 공간으로부터의 상기 제공자 네트워크의 상기 VCS에 의해 상기 특정 컴퓨트 인스턴스에 할당된 고유 명칭, (e) 상기 제공자 네트워크의 고객에 의해 고객-정의 명칭 공간으로부터 선택된 고유 명칭, (f) 상기 제공자 네트워크의 고객에 의해 VCS-정의 명칭 공간으로부터 선택된 명칭, (g) 상기 제공자 네트워크의 고객에 의해 선택된 DNS 명칭, 또는 (h) 제3자에 의해 정의된 명칭 공간 내 상기 특정 컴퓨트 인스턴스에 할당된 명칭 중 하나 이상을 포함하는, 시스템.
  5. 방법으로서,
    제공자 네트워크의 가상 컴퓨팅 서비스의 인스턴스 호스트에, 하나 이상의 컴퓨트 인스턴스를 론칭하는 단계;
    상기 하나 이상의 컴퓨트 인스턴스의 제1 컴퓨트 인스턴스에서, 제1 식별 정보 질의를 수신하는 단계;
    상기 제1 식별 정보 질의에 응답하여 상기 제1 컴퓨트 인스턴스로부터, 제1 인스턴스 식별 정보 명칭 공간(IIN) 내 상기 제1 컴퓨트 인스턴스에 할당된 제1 암호로 확인 가능한 식별 정보(CVI)의 표시를 제공하는 단계로서, 상기 제1 CVI는 암호화 키 쌍과 연관되고, 상기 암호화 키 쌍의 비밀 키는 상기 비밀 키가 복사되는 것을 방지하도록 구성된 보안 키 저장소에 의해 관리되며, 그리고 상기 가상 컴퓨팅 서비스는 상기 제1 컴퓨트 인스턴스가 상기 제1 CVI의 상기 표시를 제공하기 위해 상기 비밀 키를 사용하게 하는, 상기 제공하는 단계;
    상기 제1 컴퓨트 인스턴스에서, 제2 식별 정보 질의를 수신하는 단계; 및
    상기 제2 식별 정보 질의에 응답하여 상기 제1 컴퓨트 인스턴스로부터, 상이한 IIN 내 상기 제1 컴퓨트 인스턴스에 할당된 상이한 CVI의 표시를 제공하는 단계를 포함하는, 방법.
  6. 청구항 5에 있어서, 상기 제1 CVI의 상기 표시는 공중 키 인프라스트럭처(PKI; public key infrastructure) 표준에 따라 포맷을 갖춘 제1 인증서를 포함하는, 방법.
  7. 청구항 5에 있어서,
    상기 제1 컴퓨트 인스턴스에 의해, 상기 제1 CVI의 상기 표시에 포함된 적어도 아티팩트의 일부를 획득하기 위해 상기 인스턴스 호스트의 가상화 관리 구성요소에 의해 구현되는 프로그램 인터페이스를 호출하는 단계를 더 포함하는, 방법.
  8. 청구항 5에 있어서, 상기 제2 CVI는 상이한 암호화 키 쌍과 연관된, 방법.
  9. 청구항 5에 있어서, 상기 보안 키 저장소는 다음: (a) 제공자 네트워크의 보안 서비스의 하드웨어 보안 모듈, 또는 (b) 상기 인스턴스 호스트의 통신 버스에 접속된 주변 디바이스 중 하나를 포함하는, 방법.
  10. 청구항 5에 있어서, 상기 제1 CVI는 다음: (a) 상기 제1 컴퓨트 인스턴스에 할당된 가상 IP(인터넷 프로토콜) 어드레스에 적어도 부분적으로 기초한 상기 제1 컴퓨트 인스턴스의 DNS(도메인 명칭 체계) 명칭, (b) 상기 제1 컴퓨트 인스턴스에 할당된 공중 IP 어드레스, (c) 상기 제1 컴퓨트 인스턴스에 할당된 전용 IP 어드레스, (d) 가상 컴퓨팅 서비스(VCS)-정의 명칭 공간으로부터의 상기 제공자 네트워크의 VCS에 의해 상기 제1 컴퓨트 인스턴스에 할당된 고유 명칭, (e) 상기 제공자 네트워크의 고객에 의해 고객-정의 명칭 공간으로부터 선택된 고유 명칭, (f) 상기 제공자 네트워크의 고객에 의해 VCS-정의 명칭 공간으로부터 선택된 명칭, (g) 상기 제공자 네트워크의 고객에 의해 선택된 DNS 명칭, 또는 (h) 제3자에 의해 정의된 명칭 공간 내 상기 특정 컴퓨트 인스턴스에 할당된 명칭 중 하나 이상을 포함하는, 방법.
  11. 청구항 5에 있어서, 상기 제1 CVI의 상기 표시는 다음: (a) 공인 인증 기관(CA; certificate authority), (b) 상기 제공자 네트워크 내에 구현된 검증 기관, (c) 상기 제1 컴퓨트 인스턴스가 할당된 상기 제공자 네트워크의 고객이 소유한 고객 네트워크 내에 구현된 검증 기관, 또는 (d) 제3자 검증 기관 중 하나 이상을 포함하는 식별 정보 검증자를 포함하는, 방법.
  12. 청구항 5에 있어서,
    상기 제1 식별 정보 질의에 응답하여 상기 제1 컴퓨트 인스턴스로부터, 상기 제1 CVI의 제1 유효 기간의 표시를 제공하는 단계; 및
    상기 제2 식별 정보 질의에 응답하여 상기 제1 컴퓨트 인스턴스로부터, 상기 제2 CVI의 제2 유효 기간의 표시를 제공하는 단계를 더 포함하되, 상기 제2 유효 기간은 상기 제1 유효 기간과 상이한, 방법.
  13. 청구항 5에 있어서,
    상기 제공자 네트워크의 제어 영역 구성요소에서, 상기 제1 컴퓨트 인스턴스가 상기 제1 IIN 내 식별 정보를 할당받을 것임을 나타내는 인스턴스 구성 요청을 수신하는 단계; 및
    상기 인스턴스 구성 요청에 응답하여 상기 제어 영역 구성요소에 의해, 상기 제1 IIN 내 식별 정보를 상기 제1 컴퓨트 인스턴스에 할당하는 것을 개시하는 단계를 더 포함하는, 방법.
  14. 청구항 5에 있어서, 상기 제1 식별 정보 질의는 제1 애플리케이션과 연관된 라이선스 관리자로부터 상기 제1 컴퓨트 인스턴스에 수신되고, 상기 제1 CVI는 상기 제1 컴퓨트 인스턴스가 상기 제1 애플리케이션을 이용하기 위한 라이선스를 받음을 확인하기 위해 상기 라이선스 관리자에 의해 사용되는, 방법.
  15. 청구항 5에 있어서,
    상기 제공자 네트워크에 구현된 특정 서비스의 서비스 관리자에 의해, 제2 컴퓨트 인스턴스 및 제3 컴퓨트 인스턴스를 포함하는 인스턴스 페일오버 그룹을 수립하는 단계로서, 상기 제2 컴퓨트 인스턴스의 고장 시, 상기 제2 컴퓨트 인스턴스에서 실행하고 있었던 애플리케이션이 상기 제3 컴퓨트 인스턴스로 페일오버될 것인, 상기 인스턴스 페일오버 그룹을 수립하는 단계; 및
    상기 서비스 관리자에 의해, (a) 공유된 CVI를 상기 제2 컴퓨트 인스턴스에 할당하는 것 및 (b) 상기 공유된 CVI를 상기 제3 컴퓨트 인스턴스에 할당하는 것을 개시하는 단계로서, 상기 공유된 CVI는 상기 애플리케이션이 상기 제2 컴퓨트 인스턴스 및 상기 제3 컴퓨트 인스턴스에서 실행될 수 있음을 확인하기 위해 사용될 것인, 상기 개시하는 단계를 더 포함하는, 방법.
KR1020177017526A 2014-12-19 2015-12-18 다면적인 컴퓨트 인스턴스 식별 정보 KR101957076B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/577,232 US9525672B2 (en) 2014-12-19 2014-12-19 Multi-faceted compute instance identity
US14/577,232 2014-12-19
PCT/US2015/066875 WO2016100918A1 (en) 2014-12-19 2015-12-18 Multi-faceted compute instance identity

Publications (2)

Publication Number Publication Date
KR20170089901A true KR20170089901A (ko) 2017-08-04
KR101957076B1 KR101957076B1 (ko) 2019-03-11

Family

ID=55080226

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177017526A KR101957076B1 (ko) 2014-12-19 2015-12-18 다면적인 컴퓨트 인스턴스 식별 정보

Country Status (9)

Country Link
US (1) US9525672B2 (ko)
EP (1) EP3234846B1 (ko)
JP (1) JP6521337B2 (ko)
KR (1) KR101957076B1 (ko)
CN (1) CN107113300B (ko)
AU (1) AU2015364339B2 (ko)
RU (1) RU2679188C2 (ko)
SG (1) SG11201704703UA (ko)
WO (1) WO2016100918A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10303879B1 (en) * 2014-11-06 2019-05-28 Amazon Technologies, Inc. Multi-tenant trusted platform modules
US9847992B2 (en) * 2015-08-20 2017-12-19 Verizon Digital Media Services Inc. End-to-end certificate pinning
EP3403432B1 (en) 2016-01-15 2020-11-18 Microsoft Technology Licensing, LLC Database based redundancy in a telecommunications network
US10320572B2 (en) * 2016-08-04 2019-06-11 Microsoft Technology Licensing, Llc Scope-based certificate deployment
US10425417B2 (en) 2017-03-08 2019-09-24 Bank Of America Corporation Certificate system for verifying authorized and unauthorized secure sessions
US10374808B2 (en) * 2017-03-08 2019-08-06 Bank Of America Corporation Verification system for creating a secure link
US10361852B2 (en) * 2017-03-08 2019-07-23 Bank Of America Corporation Secure verification system
US10432595B2 (en) 2017-03-08 2019-10-01 Bank Of America Corporation Secure session creation system utililizing multiple keys
US10511651B2 (en) * 2017-04-25 2019-12-17 General Electric Company Infinite micro-services architecture
KR20200027921A (ko) 2017-04-28 2020-03-13 아이언코어 랩스 인코포레이티드 멀티-홉 변환 암호화를 통한 그룹들에 대한 직교 액세스 제어
US11151253B1 (en) * 2017-05-18 2021-10-19 Wells Fargo Bank, N.A. Credentialing cloud-based applications
US10615971B2 (en) * 2017-05-22 2020-04-07 Microsoft Technology Licensing, Llc High integrity logs for distributed software services
GB2565282B (en) * 2017-08-02 2021-12-22 Vnc Automotive Ltd Remote control of a computing device
US10860336B2 (en) 2017-10-27 2020-12-08 Google Llc Managing multi-single-tenant SaaS services
US11616686B1 (en) * 2017-11-21 2023-03-28 Amazon Technologies, Inc. Cluster management
US10742412B2 (en) 2018-01-29 2020-08-11 Micro Focus Llc Separate cryptographic keys for multiple modes
US11140020B1 (en) * 2018-03-01 2021-10-05 Amazon Technologies, Inc. Availability-enhancing gateways for network traffic in virtualized computing environments
RU2684483C1 (ru) * 2018-05-23 2019-04-09 Олег Викторович Пушкин Устройство для защиты от несанкционированного доступа к данным, хранимым на компьютере
EP3912035A1 (en) 2019-01-15 2021-11-24 Microsoft Technology Licensing, LLC Dynamic auto-configuration of multi-tenant paas components
EP3694173B1 (en) 2019-02-08 2022-09-21 Palantir Technologies Inc. Isolating applications associated with multiple tenants within a computing platform
US11494214B2 (en) * 2019-03-28 2022-11-08 Amazon Technologies, Inc. Verified isolated run-time environments for enhanced security computations within compute instances
US20210073736A1 (en) * 2019-09-10 2021-03-11 Alawi Holdings LLC Computer implemented system and associated methods for management of workplace incident reporting
US11979302B2 (en) * 2019-12-03 2024-05-07 Telefonaktiebolaget Lm Ericsson (Publ) Discovery of a service-providing network function
US11442960B2 (en) * 2019-12-17 2022-09-13 Verizon Patent And Licensing Inc. Edge key value store for a distributed platform
DE102019135121A1 (de) * 2019-12-19 2021-06-24 Infineon Technologies Ag Verfahren und vorrichtung zum bereitstellen einer zusätzlichen autorisierung für die verarbeitung eines kryptographisch gesicherten datensatzes für eine teilmenge einer gruppe vertrauenswürdiger module

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130044293A (ko) * 2010-07-14 2013-05-02 인텔 코포레이션 플랫폼 자원들의 도메인-인증 제어
KR20140117449A (ko) * 2012-01-27 2014-10-07 마이크로소프트 코포레이션 서버 네임 표시를 이용하지 않는 암시적 ssl 인증서 관리 기법

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10026326B4 (de) * 2000-05-26 2016-02-04 Ipcom Gmbh & Co. Kg Verfahren zur kryptografisch prüfbaren Identifikation einer physikalischen Einheit in einem offenen drahtlosen Telekommunikationsnetzwerk
US7703128B2 (en) 2003-02-13 2010-04-20 Microsoft Corporation Digital identity management
US8621078B1 (en) * 2005-08-15 2013-12-31 F5 Networks, Inc. Certificate selection for virtual host servers
US7802092B1 (en) * 2005-09-30 2010-09-21 Blue Coat Systems, Inc. Method and system for automatic secure delivery of appliance updates
US7716180B2 (en) * 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US8522018B2 (en) 2006-08-18 2013-08-27 Fujitsu Limited Method and system for implementing a mobile trusted platform module
US8341625B2 (en) 2008-05-29 2012-12-25 Red Hat, Inc. Systems and methods for identification and management of cloud-based virtual machines
US20100174811A1 (en) 2009-01-05 2010-07-08 Microsoft Corporation Network isolation and identity management of cloned virtual machines
US8327434B2 (en) 2009-08-14 2012-12-04 Novell, Inc. System and method for implementing a proxy authentication server to provide authentication for resources not located behind the proxy authentication server
US8122282B2 (en) * 2010-03-12 2012-02-21 International Business Machines Corporation Starting virtual instances within a cloud computing environment
MY167494A (en) 2010-10-05 2018-08-30 Mimos Berhad A MIGRATION SYSTEM OF VIRTUAL TRUSTED PLATFORM MODULE (vTPM) INSTANCE AND METHODS OF MIGRATING THEREOF
US8924715B2 (en) * 2010-10-28 2014-12-30 Stephan V. Schell Methods and apparatus for storage and execution of access control clients
US8625788B2 (en) * 2011-01-05 2014-01-07 Intel Corporation Method and apparatus for building a hardware root of trust and providing protected content processing within an open computing platform
US8495219B2 (en) 2011-01-13 2013-07-23 International Business Machines Corporation Identity management method and system
US9344282B2 (en) 2011-03-22 2016-05-17 Microsoft Technology Licensing, Llc Central and implicit certificate management
US8751306B2 (en) * 2011-06-20 2014-06-10 Microsoft Corporation Virtual identity manager
US8375221B1 (en) 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
US9413538B2 (en) * 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9218490B2 (en) 2011-12-30 2015-12-22 Intel Corporation Using a trusted platform module for boot policy and secure firmware
JP5137221B1 (ja) * 2012-02-21 2013-02-06 テック・パワー株式会社 収納ボックス及び机
US9210162B2 (en) * 2012-05-02 2015-12-08 Microsoft Technology Licensing, Llc Certificate based connection to cloud virtual machine
US20140006776A1 (en) 2012-06-29 2014-01-02 Mark Scott-Nash Certification of a virtual trusted platform module
US20140007087A1 (en) 2012-06-29 2014-01-02 Mark Scott-Nash Virtual trusted platform module
US9027087B2 (en) * 2013-03-14 2015-05-05 Rackspace Us, Inc. Method and system for identity-based authentication of virtual machines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130044293A (ko) * 2010-07-14 2013-05-02 인텔 코포레이션 플랫폼 자원들의 도메인-인증 제어
KR20140117449A (ko) * 2012-01-27 2014-10-07 마이크로소프트 코포레이션 서버 네임 표시를 이용하지 않는 암시적 ssl 인증서 관리 기법

Also Published As

Publication number Publication date
US9525672B2 (en) 2016-12-20
RU2679188C2 (ru) 2019-02-06
RU2017120215A3 (ko) 2019-01-22
AU2015364339B2 (en) 2018-05-17
SG11201704703UA (en) 2017-07-28
WO2016100918A1 (en) 2016-06-23
CN107113300A (zh) 2017-08-29
KR101957076B1 (ko) 2019-03-11
RU2017120215A (ru) 2019-01-22
US20160182473A1 (en) 2016-06-23
EP3234846B1 (en) 2021-02-03
AU2015364339A1 (en) 2017-06-29
CN107113300B (zh) 2020-08-25
JP6521337B2 (ja) 2019-05-29
EP3234846A1 (en) 2017-10-25
JP2018501565A (ja) 2018-01-18

Similar Documents

Publication Publication Date Title
KR101957076B1 (ko) 다면적인 컴퓨트 인스턴스 식별 정보
US20200019714A1 (en) Distributed data storage by means of authorisation token
US9836308B2 (en) Hardware security module access management in a cloud computing environment
EP3111618B1 (en) Securing client-specified credentials at cryptographically attested resources
US10491568B1 (en) Management of encrypted data storage
US8943319B2 (en) Managing security for computer services
US20170214669A1 (en) System and method for providing key-encrypted storage in a cloud computing environment
US8948399B2 (en) Dynamic key management
US10318747B1 (en) Block chain based authentication
CN103563294A (zh) 用于云计算平台安全性的认证和授权方法
US10944547B2 (en) Secure environment device management
EP2429146B1 (en) Method and apparatus for authenticating access by a service
US11146379B1 (en) Credential chaining for shared compute environments
CN115280718A (zh) 端点实例之间的安全私钥分发
CN118057971A (zh) 在分布式系统中管理唯一秘密
US20200244467A1 (en) Authenticating communication
US11606205B2 (en) Causal total order broadcast protocols using trusted execution environments
US11647020B2 (en) Satellite service for machine authentication in hybrid environments
JP7134362B2 (ja) 汚染された接続エージェントの追跡
US20240095338A1 (en) Isolated runtime environments for securing secrets used to access remote resources from compute instances
WO2023287435A1 (en) Blockchain for digital certificate transactions
WO2022197783A1 (en) Elastic enclaves for security object management

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant