Amazon Cloud Directory 現在已正式上市

免費試用 Amazon Cloud Directory

AWS 免費方案在 Amazon Cloud Directory 提供每月 1 GB 的儲存、100,000 次最終一致讀取 API 呼叫,以及總共 10,000 次的嚴格一致性讀取 API 呼叫和寫入 API 呼叫。

查看 AWS 免費方案詳細資訊 »

什麼是 Amazon Cloud Directory?

Amazon Cloud Directory 是一種雲端原生、可高度擴展、高效能的多租用戶目錄服務,它提供 Web 型目錄,讓您輕鬆地組織和管理所有的應用程式資源 (如使用者、群組、位置、裝置和政策) 以及這些資源之間複雜的關係。Cloud Directory 是一種基礎建構區塊,可讓開發人員輕鬆建立以目錄為基礎的解決方案,而無須擔心有關部署、全球擴展、可用性及效能方面的事情。

與現有的傳統目錄系統不同,Cloud Directory 不會限制只能在單一固定層次結構中組織目錄物件。在 Cloud Directory 中,您可以將目錄物件組織到多個層次結構中,以支援目錄資訊中的多個組織樞紐及關係。例如,使用者目錄可依報告結構、位置和專案附屬關係提供層次結構檢視。同樣地,裝置目錄也可依製造商、目前擁有人和實體位置提供多個層次結構檢視。

Cloud Directory 基本上提供不限數量的目錄。它可自動地將每個目錄擴展成數億個節點,同時還提供一致的效能。Cloud Directory 已針對高速的低延遲、最終一致讀取進行優化。開發人員使用可擴展結構描述建立目錄物件,以自動執行資料正確性限制以及更易於針對它進行程式設計。Cloud Directory 可依據客戶定義、編製索引的屬性提供豐富的資訊查詢,以加快樹狀結構周遊和在目錄樹狀結構內搜尋的速度。Cloud Directory 資料可在靜態和傳輸中加密。

Amazon Cloud Directory 有哪些重要的特性?

重要的特性包括:

  • 支援資訊的多層次結構組織以擷取實體之間豐富的關係。
  • 已針對快速查詢和搜尋進行優化以擷取值。
  • 支援高速的最終一致讀取操作。
  • 可擴充的物件結構描述支援可簡化應用程式開發程序,而且與常用目錄資訊互動的多個應用程式之間的相互操作性也會變得更加簡單。
  • 無縫擴展成數百萬個物件和分類。
  • 能夠在目錄物件上定義各種類型專屬於某應用程式的政策。
  • 靜態和傳輸中加密。

Cloud Directory 包括哪些核心使用案例?

客戶可使用 Cloud Directory 建立 IoT 裝置登錄、社群網路、網路組態及使用者目錄這類應用程式。這些使用案例通常都需要以層次結構的方式組織資料、執行大量和低延遲查詢,以及擴展成數億個物件以提供全球可用性。

哪些類型的客戶可以使用 Cloud Directory?

所有規模的客戶都可利用 Amazon Cloud Directory 輕鬆建立以目錄為基礎的應用程式。

Cloud Directory 與傳統目錄有何不同?

Amazon Cloud Directory 是一項基礎服務,可讓開發人員為數億個物件及其關係建立雲端原生目錄。它提供各種必要的 API,讓您使用結構描述建立目錄、新增物件和關係,以及將政策連接到這些物件與關係。

傳統 LDAP 型目錄的設計主要是當成可供組織管理使用者和裝置的 IT 工具。這種目錄提供身份驗證和政策框架,但是缺乏擴展能力,因此無法管理數億個物件和關係。傳統目錄只針對 IT 使用案例進行優化,不適用於建立雲端、行動和 IoT 應用程式的開發人員。

為什麼我應該使用 Cloud Directory,而不是 AWS Directory Service for Microsoft Active Directory (Enterprise Edition) 或 Amazon Cognito 使用者集區?

AWS Directory Service for Microsoft Active Directory (Enterprise Edition) (或稱 AWS Microsoft AD) 旨在支援需要 Microsoft Active Directory 的 Windows 工作負載。AWS Microsoft AD 專為倚賴 Microsoft Active Directory 的企業 IT 使用案例和應用程式所設計。

Amazon Cognito 使用者集區是身分解決方案,適用於需要管理使用者身份驗證、聯合身分和登入資料的開發人員。

Amazon Cloud Directory 的適用對象是需要管理大量層次結構資料的開發人員,他們需要彈性的目錄解決方案,以支援多組關係和內建資料驗證。

使用 Amazon Cloud Directory 需要知道哪些關鍵詞彙和概念?

使用 Amazon Cloud Directory 時需要知道下列關鍵詞彙:

什麼是目錄?

目錄用來定義資料存放區 (如 Amazon DynamoDB 中的表格) 的範圍,將它與服務中的所有其他目錄完全隔離。它也可定義交易範圍、查詢範圍等等。目錄也代表客戶樹狀結構的根物件,而且可有多個目錄物件做為子項。客戶必須在目錄層級套用結構描述。

什麼是結構描述?

結構描述可定義目錄內允許的面向、屬性及限制。這包括定義:

  • 目錄內可包含的一或多種面向類型 (如 Person、Organization_Person)。
  • 各種面向類型上必要或允許的屬性。
  • 限制 (像是必要或唯一的原始資料類型,如整數、字串等等)。

什麼是面向?

面向是屬性和限制的集合。單一面向或結合多個面向有助於定義目錄中的物件。例如,Person 和 Device 可做為定義公司員工與多個裝置關聯的面向。

什麼是物件?

物件代表目錄中結構化的資料實體。目錄中的物件旨在擷取實體或邏輯實體的中繼資料,通常用於資訊探索和執行政策。例如,使用者、裝置及應用程式都屬於物件的類型。物件的結構和類型資訊則是透過面向集合來表示。

什麼是屬性?

屬性是使用者定義且與物件關聯的中繼資料單位。例如,使用者物件可以有名稱為 email-address 的屬性。屬性永遠與物件關聯。

什麼是層次結構?

層次結構是一種檢視方式,由群組和物件構成父項與子項的組織關係,就與資料夾中有檔案且下面還有子資料夾的檔案系統類似。Amazon Cloud Directory 支援將物件組織到多個層次結構。

什麼是政策?

政策是包含屬性的特殊化物件類型,用來定義政策類型和政策文件。政策可以連接到物件或層次結構的根。在預設情況下,物件會繼承父項的政策。Amazon Cloud Directory 不會解譯政策。 

如何在 Amazon Cloud Directory 中佈建新目錄?

透過下列步驟可在 Amazon Cloud Directory 中佈建新目錄:

  1. 登入到任何有權管理 Cloud Directory 的 AWS 帳戶。
  2. 開啟 AWS 管理主控台並瀏覽到 Amazon Cloud Directory 主控台。
  3. 按一下 Create New Directory
  4. 為新目錄提供一個名稱。
  5. 選擇一個預先定義的結構描述,或為目錄建立新的結構描述。
  6. 建立新目錄之後,您可以使用 Amazon Cloud Directory API 開始將符合相關結構描述的物件填入容器。如果您只有單一目錄,可以按照所選的結構描述和面向 (例如產品型錄的產品),將物件填入目錄。如果是不同實體的多個目錄,可為每個實體目錄建立一個根節點,然後開始填入目錄 (例如使用者和裝置可做為在一個目錄內建立的兩個目錄類型)。

另外也可使用 AWS 命令列界面 (CLI) 執行相同的步驟來建立新的 Amazon Cloud Directory 容器。Amazon Cloud Directory 提供一個開發套件,讓您透過程式設計來建立、讀取、刪除及更新目錄。

如何建立和管理結構描述?

Amazon Cloud Directory 提供開發套件和 CLI 來建立、讀取及更新結構描述。Cloud Directory 也支援上傳合規的 JSON 檔案來建立結構描述。您也可以使用 Cloud Directory 主控台來建立和管理結構描述。

Amazon Cloud Directory 是否提供任何範例結構描述?

是,目前 Amazon Cloud Directory 提供下列範例結構描述:

  • 組織
  • 個人 (使用者)
  • 裝置

什麼是 Cloud Directory 中的最終一致讀取和嚴格一致讀取操作?

Amazon Cloud Directory 是一種分散式目錄存放區。這表示資料會分發到不同可用區域的多個伺服器。

從 Cloud Directory 讀取資料時,必須指定最終一致讀取或嚴格一致讀取類型操作。讀取類型依一致性等級而定。最終一致讀取的一致性等級為 EVENTUAL,嚴格一致讀取的一致性等級則為 SERIALIZABLE。如需詳細資訊,請參閱 Consistency Levels

哪些讀取 API 呼叫會以最終一致讀取 API 呼叫計費?

如果下列讀取 API 呼叫以 EVENTUAL 一致性等級進行呼叫,則會以最終一致讀取 API 呼叫計費,如文件所述:

  • BatchRead
  • GetObjectInformation
  • ListAttachedIndices
  • ListIncomingTypedLinks
  • ListIndex
  • ListObjectAttributes
  • ListObjectChildren
  • ListObjectParentPaths
  • ListObjectParents
  • ListObjectPolicies
  • ListOutgoingTypedLinks
  • ListPolicyAttachments
  • LookupPolicy

哪些讀取 API 呼叫會以嚴格一致讀取 API 呼叫計費?

如果下列讀取 API 呼叫以 SERIALIZABLE 一致性等級進行呼叫,則會以嚴格一致讀取 API 呼叫計費,如文件所述。

  • BatchRead
  • GetObjectInformation
  • ListAttachedIndices
  • ListIncomingTypedLinks
  • ListIndex
  • ListObjectAttributes
  • ListObjectChildren
  • ListObjectParents
  • ListObjectPolicies
  • ListOutgoingTypedLinks
  • ListPolicyAttachments

哪些 API 呼叫會以寫入 API 呼叫計費?

下列 API 呼叫會以寫入 API 呼叫計費:

  • AddFacetToObject
  • AttachObject
  • AttachPolicy
  • AttachToIndex
  • AttachTypedLink
  • BatchWrite
  • CreateDirectory
  • CreateIndex
  • CreateObject
  • DeleteObject
  • DetachFromIndex
  • DetachObject
  • DetachPolicy
  • DetachTypedLink
  • EnableDirectory
  • RemoveFacetFromObject
  • UpdateObjectAttributes

中繼資料 API 呼叫是否收費?

否,中繼資料 API 呼叫不收費。下列 API 呼叫屬於中繼資料 API 呼叫:

停用或刪除目錄 API 呼叫

  • DeleteDirectory
  • DisableDirectory  

取得目錄詳細資訊 API 呼叫

  • GetDirectory
  • ListDirectories

結構描述 API 呼叫

  • ApplySchema
  • CreateFacet
  • CreateSchema
  • DeleteFacet
  • DeleteSchema
  • GetFacet
  • GetSchemaAsJson
  • ListAppliedSchemaArns
  • ListDevelopmentSchemaArns
  • ListFacetAttributes
  • ListFacetNames
  • ListPublishedSchemaArns
  • PublishSchema
  • PutSchemaFromJson
  • UpdateFacet
  • UpdateSchema

標記 API 呼叫

  • ListTagsForResource
  • TagResource
  • UntagResource

具類型連結 API 呼叫

  • CreateTypedLinkFacet
  • DeleteTypedLinkFacet
  • GetTypedLinkFacetInformation
  • ListTypedLinkFacetAttributes
  • ListTypedLinkFacetNames
  • UpdateTypedLinkFacet