使用IAM原則管理存取 - Amazon Neptune

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用IAM原則管理存取

IAM策略是JSON定義使用動作和資源的權限的物件。

您可以透 AWS 過建立原則並將其附加至 AWS 身分識別或資源來控制中的存取。原則是一個物件 AWS ,當與身分識別或資源相關聯時,會定義其權限。 AWS 當主參與者 (使用者、root 使用者或角色工作階段) 提出要求時,評估這些原則。政策中的許可決定是否允許或拒絕請求。大多數原則會 AWS 以JSON文件的形式儲存在中。如需有關JSON原則文件結構和內容的詳細資訊,請參閱《IAM使用指南》中的策略概觀。JSON

管理員可以使用 AWS JSON策略來指定誰可以存取什麼內容。也就是說,哪個主體在什麼條件下可以對什麼資源執行哪些動作

預設情況下,使用者和角色沒有許可。若要授與使用者對所需資源執行動作的權限,IAM管理員可以建立IAM策略。然後,系統管理員可以將IAM原則新增至角色,使用者可以擔任這些角色。

IAM原則會定義動作的權限,不論您用來執行作業的方法為何。例如,假設您有一個允許 iam:GetRole 動作的政策。具有該原則的使用者可以從 AWS Management Console AWS CLI、或取得角色資訊 AWS API。

身分型政策

以身分識別為基礎的原則是您可以附加至身分識別 (例如使用者、使用IAM者群組或角色) 的JSON權限原則文件。這些政策可控制身分在何種條件下能對哪些資源執行哪些動作。若要瞭解如何建立以身分識別為基礎的策略,請參閱《IAM使用指南》中的〈建立IAM策略〉。

身分型政策可進一步分類成內嵌政策受管政策。內嵌政策會直接內嵌到單一使用者、群組或角色。受管理的策略是獨立策略,您可以將其附加到您的 AWS 帳戶. 受管政策包括 AWS 受管政策和客戶管理的策略。若要了解如何在受管策略或內嵌策略之間進行選擇,請參閱《IAM使用手冊》中的「在受管策略和內嵌策略之間進行選擇」。

搭配 AWS 組織使用服務控制原則 (SCP)

服務控制策略 (SCPs) 是指定中組織或組織單位 (OU) 最大權限的JSON策略AWS Organizations。 AWS Organizations 是一種用於分組和集中管理您企業擁有的多個 AWS 帳戶的服務。如果您啟用組織中的所有功能,則可以將服務控制策略 (SCPs) 套用至您的任何或所有帳戶。SCP限制成員帳戶中實體的權限,包括每個 AWS 帳戶 root 使用者。若要取得有關 Organizations 的更多資訊SCPs,請參閱《 AWS Organizations 使用指南》中的〈SCPs運作方式〉

在 AWS 組織內的 AWS 帳戶中部署 Amazon Neptune 的客戶可利SCPs用控制哪些帳戶可以使用 Neptune。若要確保存取成員帳戶內的 Neptune,請務必neptune-db:*分別允許存取控制平面和資料平面IAM動作。neptune:*

使用 Amazon Neptune 主控台所需的許可

對於使用 Amazon Neptune 主控台的使用者,該使用者必須擁有一組符合最低限制的許可。這些權限可讓使用者描述其 AWS 帳戶的 Neptune 資源,並提供其他相關資訊,包括 Amazon EC2 安全性和網路資訊。

如果您建立的IAM策略比所需的最低權限限制更嚴格,則控制台將無法按照具有該IAM策略的使用者預期運作。為了確保這些使用者仍可使用 Neptune 主控台,也請將 NeptuneReadOnlyAccess 受管政策連線至使用者,如 AWS Amazon Neptune 的受管 (預先定義) 政策 中所述。

您不需要為僅向 AWS CLI 或 Amazon Neptune 撥打電話的使用者允許最低主控台許可API。

將IAM策略附加到IAM使用者

若要套用受管理或自訂策略,請將其附加到IAM使用者。如需此主題的教學課程,請參閱IAM使用指南中的建立並附加您的第一個客戶管理政策

在您進行教學課程時,可使用本節所示的其中一個政策範例做為起點,並依您的需求進行自訂。在教學課程結束時,您的使用IAM者具有可以使用neptune-db:*動作的附加原則。

重要
  • 對IAM策略所做的變更最多需要 10 分鐘才能套用至指定的 Neptune 資源。

  • IAM套用至 Neptune 資料庫叢集的原則會套用至該叢集中的所有執行個體。

使用不同類型的IAM原則來控制對 Neptune 的存取

若要提供 Neptune 系統管理動作或 Neptune 資料庫叢集中資料的存取權,您可以將原則附加至IAM使用者或角色。如需有關如何將IAM策略附加至使用者的資訊,請參閱將IAM策略附加到IAM使用者。如需有關將策略附加至角色的資訊,請參閱《IAM使用指南》中的〈新增和移除IAM策略〉

如需對 Neptune 的一般存取,您可以使用 Neptune 的其中一個受管政策。如需更受限制的存取,您可以使用 Neptune 支援的管理動作資源來建立自己的自訂政策。

在自訂IAM原則中,您可以使用兩種不同類型的原則陳述式來控制 Neptune DB 叢集的不同存取模式:

  • 系統管理原則陳述式 — 系統管理原則陳述式可APIs讓您存取 Neptune 管理,以建立、設定和管理資料庫叢集及其執行個體。

    由於 Neptune 與 Amazon 共用功能RDS,因此 Neptune 政策中的管理動作、資源和條件金鑰會依設計使用rds:前置詞。

  • 資料存取政策聲明 – 資料存取政策陳述式會使用資料存取動作資源條件金鑰,控制如何存取資料庫叢集包含的資料。

    Neptune 資料存取動作、資源和條件金鑰會使用 neptune-db: 字首。

在 Amazon Neptune 中使用IAM條件內容鍵

您可以在控制 Neptune 存取的IAM原則陳述式中指定條件。然後,政策陳述式只有在條件成立時才會生效。

例如,您可能想要政策陳述式只在特定日期之後生效,或者只有在請求中存在特定值時才允許存取。

若要表示條件,您可以在原則陳述式的Condition項目中使用預先定義的條件索引鍵,以及等於或小於等於或小於之類的IAM條件原則運算子

若您在陳述式中指定多個 Condition 元素,或是在單一 Condition 元素中指定多個索引鍵, AWS 會使用邏輯 AND 操作評估他們。如果您為單一條件索引鍵指定多個值,請使用邏輯OR運算來 AWS 評估條件。必須符合所有條件,才會授與陳述式的許可。

您也可以在指定條件時使用預留位置變數。例如,只有在IAM使用者名稱標記資源時,您才可以授與IAM使用者存取資源的權限。如需詳細資訊,請參閱IAM使用指南中的IAM策略元素:變數和標籤

條件金鑰的資料類型會判斷您可以使用哪些條件運算子,來將請求中的值與政策陳述式中的值比較。如果您使用與該資料類型不相容的條件運算子,則比對一律失敗且政策陳述式永不套用。

Neptune 支援管理政策陳述式與資料存取政策陳述式各有不同的條件金鑰集:

Support Amazon N IAM eptune 中的政策和存取控制功能

下表顯示 Neptune 支援系統管理原則陳述式和資料存取原則陳述式的IAM功能:

IAM您可以搭配 Neptune 使用的功能
IAM特徵 管理 資料存取

身分型政策

資源型政策

政策動作

政策資源

全域條件鍵

(子集)

標籤型條件金鑰

存取控制清單 (ACLs)

服務控制政策 (SCPs)

服務連結角色

IAM政策限制

對IAM策略所做的變更最多需要 10 分鐘才能套用至指定的 Neptune 資源。

IAM套用至 Neptune 資料庫叢集的原則會套用至該叢集中的所有執行個體。

Neptune 目前不支援跨帳戶存取控制。