Amazon RDS 如何使用 IAM - Amazon Relational Database Service

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

Amazon RDS 如何使用 IAM

使用 IAM管理 Amazon RDS 的存取權之前,您應該了解哪些IAM功能可與 Amazon RDS 搭配使用。

下表列出可與 Amazon RDS 搭配使用IAM的功能:

若要深入了解 Amazon RDS 和其他 AWS 服務如何與 搭配使用IAM,請參閱 IAM 使用者指南中的 AWS 服務IAM

Amazon RDS 身分型政策

支援以身分為基礎的政策:是。

以身分為基礎的政策是您可以連接到身分的JSON許可政策文件,例如IAM使用者、使用者群組或角色。這些政策可控制身分在何種條件下能對哪些資源執行哪些動作。若要了解如何建立身分型政策,請參閱IAM《 使用者指南》中的使用客戶受管政策定義自訂IAM許可

使用 IAM 身分型政策,您可以指定允許或拒絕的動作和資源,以及在何種條件下允許或拒絕動作。您無法在身分型政策中指定主體,因為這會套用至連接的使用者或角色。若要了解您可以在JSON政策中使用的所有元素,請參閱 IAM 使用者指南中的IAMJSON政策元素參考

Amazon RDS 身分型政策範例

若要檢視 Amazon RDS 身分型政策的範例,請參閱 Amazon RDS 的身分型政策範例

Amazon RDS 內的資源型政策

支援以資源為基礎的政策:否。

資源型政策是您連接到資源JSON的政策文件。資源型政策的範例包括IAM角色信任政策和 Amazon S3 儲存貯體政策。在支援資源型政策的服務中,服務管理員可以使用它們來控制對特定資源的存取權限。對於附加政策的資源,政策會定義指定的主體可以對該資源執行的動作以及在何種條件下執行的動作。您必須在資源型政策中指定主體。委託人可以包括帳戶、使用者、角色、聯合身分使用者或 AWS 服務。

若要啟用跨帳戶存取,您可以指定在其他帳戶內的所有帳戶或 IAM 實體,做為以資源為基礎政策的委託人。新增跨帳戶主體至資源型政策,只是建立信任關係的一半。當委託人和資源位於不同的位置時 AWS 帳戶,信任帳戶中的IAM管理員也必須授予委託人實體 (使用者或角色) 存取資源的許可。其透過將身分型政策連接到實體來授與許可。不過,如果資源型政策會為相同帳戶中的主體授予存取,這時就不需要額外的身分型政策。如需詳細資訊,請參閱IAM《 使用者指南中的跨帳戶資源存取IAM

Amazon RDS 的政策動作

支援政策動作:是。

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

JSON 政策的 Action元素說明您可以用來允許或拒絕政策中存取的動作。政策動作通常具有與相關聯 AWS API操作相同的名稱。有一些例外狀況,例如沒有相符API操作的僅限許可動作。也有一些作業需要政策中的多個動作。這些額外的動作稱為相依動作

政策會使用動作來授予執行相關聯動作的許可。

Amazon RDS 中的政策動作在動作之前使用下列字首:rds:。例如,若要授予某人使用 Amazon RDSDescribeDBInstancesAPI操作描述資料庫執行個體的許可,請在其政策中包含 rds:DescribeDBInstances動作。政策陳述式必須包含 ActionNotAction 元素。Amazon RDS 會定義自己的動作集,描述您可以使用此服務執行的任務。

若要在單一陳述式中指定多個  動作,請用逗號分隔,如下所示。

"Action": [ "rds:action1", "rds:action2"

您也可以使用萬用字元 (*) 來指定多個動作。例如,如需指定開頭是 Describe 文字的所有動作,請包含以下動作:

"Action": "rds:Describe*"

若要查看 Amazon RDS 動作的清單,請參閱服務授權參考中的 Amazon 定義的動作RDS

Amazon RDS 的政策資源

支援政策資源:是。

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

Resource JSON 政策元素會指定 動作套用的物件。陳述式必須包含 ResourceNotResource 元素。最佳實務是使用其 Amazon Resource Name (ARN) 指定資源。您可以針對支援特定資源類型的動作 (稱為資源層級許可) 來這麼做。

對於不支援資源層級許可的動作 (例如列出操作),請使用萬用字元 (*) 來表示陳述式適用於所有資源。

"Resource": "*"

資料庫執行個體資源具有下列 Amazon Resource Name (ARN)。

arn:${Partition}:rds:${Region}:${Account}:{ResourceType}/${Resource}

如需 格式的詳細資訊ARNs,請參閱 Amazon Resource Names (ARNs) AWS 和服務命名空間

例如,若要在陳述式中指定dbtest資料庫執行個體,請使用下列 ARN。

"Resource": "arn:aws:rds:us-west-2:123456789012:db:dbtest"

若要指定屬於特定帳戶的所有資料庫執行個體,請使用萬用字元 (*)。

"Resource": "arn:aws:rds:us-east-1:123456789012:db:*"

某些RDSAPI操作,例如用於建立資源的操作,無法對特定資源執行。在這些情況下,請使用萬用字元 (*)。

"Resource": "*"

許多 Amazon RDSAPI操作涉及多個資源。例如,CreateDBInstance 會建立資料庫執行個體。建立資料庫執行個體時,您可指定 使用者必須使用特定的安全群組和參數群組。若要在單一陳述式中指定多個資源,ARNs請以逗號分隔 。

"Resource": [ "resource1", "resource2"

若要查看 Amazon RDS 資源類型及其 的清單ARNs,請參閱服務授權參考中的 Amazon 定義的資源RDS。若要了解您可以使用哪些動作來指定每個資源ARN的 ,請參閱 Amazon 定義的動作RDS

Amazon RDS 的政策條件索引鍵

支援服務特定的政策條件金鑰:是。

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

Condition 元素 (或 Condition 區塊) 可讓您指定使陳述式生效的條件。Condition 元素是選用項目。您可以建立使用條件運算子的條件運算式 (例如等於或小於),來比對政策中的條件和請求中的值。

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

您也可以在指定條件時使用預留位置變數。例如,您可以只在使用者使用其 IAM 使用者名稱標記時,將存取資源的許可授予該 IAM 使用者。如需詳細資訊,請參閱IAM《 使用者指南》中的IAM政策元素:變數和標籤

AWS 支援全域條件索引鍵和服務特定條件索引鍵。若要查看所有 AWS 全域條件索引鍵,請參閱 IAM 使用者指南中的AWS 全域條件內容索引鍵

Amazon RDS 會定義自己的一組條件金鑰,也支援使用一些全域條件金鑰。若要查看所有 AWS 全域條件索引鍵,請參閱 IAM 使用者指南中的AWS 全域條件內容索引鍵

所有RDSAPI操作都支援 aws:RequestedRegion 條件金鑰。

若要查看 Amazon RDS 條件金鑰清單,請參閱服務授權參考中的 Amazon 條件金鑰RDS。若要了解您可以使用條件金鑰的動作和資源,請參閱 Amazon 定義的動作RDS

Amazon RDS 中的存取控制清單 (ACLs)

支援存取控制清單 (ACLs):

存取控制清單 (ACLs) 控制哪些主體 (帳戶成員、使用者或角色) 具有存取資源的許可。 ACLs 類似於以資源為基礎的政策,雖然它們不使用JSON政策文件格式。

Amazon RDS 標籤政策中的屬性型存取控制 (ABAC)

支援政策中的屬性型存取控制 (ABAC) 標籤:

屬性型存取控制 (ABAC) 是一種根據屬性定義許可的授權策略。在 中 AWS,這些屬性稱為標籤。您可以將標籤連接到IAM實體 (使用者或角色) 和許多 AWS 資源。標記實體和資源是 的第一步ABAC。然後,您可以設計ABAC政策,在主體的標籤符合其嘗試存取之資源上的標籤時允許操作。

ABAC 有助於快速成長的環境,並有助於處理政策管理變得繁瑣的情況。

如需根據標籤控制存取,請使用 aws:ResourceTag/key-nameaws:RequestTag/key-nameaws:TagKeys 條件索引鍵,在政策的條件元素中,提供標籤資訊。

如果服務支援每個資源類型的全部三個條件金鑰,則對該服務而言,值為 Yes。如果服務僅支援某些資源類型的全部三個條件金鑰,則值為 Partial

如需 的詳細資訊ABAC,請參閱IAM《 使用者指南》中的使用ABAC授權定義許可。若要檢視包含設定 之步驟的教學課程ABAC,請參閱IAM《 使用者指南》中的使用屬性型存取控制 (ABAC)

如需標記 Amazon RDS 資源的詳細資訊,請參閱指定條件:使用自訂標籤。若要檢視身分型政策範例,以根據該資源上的標籤來限制存取資源,請參閱利用具有兩個不同值的特定標籤,對資源上的動作授予許可

搭配 Amazon RDS 使用臨時登入資料

支援臨時登入資料:是。

當您使用臨時登入資料登入時,有些 AWS 服務 無法使用。如需詳細資訊,包括哪些 AWS 服務 使用臨時登入資料,請參閱IAM《 使用者指南》中的AWS 服務 使用 IAM

如果您 AWS Management Console 使用使用者名稱和密碼以外的任何方法登入 ,則會使用臨時登入資料。例如,當您 AWS 使用公司的單一登入 (SSO) 連結存取 時,該程序會自動建立臨時登入資料。當您以使用者身分登入主控台,然後切換角色時,也會自動建立臨時憑證。如需切換角色的詳細資訊,請參閱IAM《 使用者指南》中的從使用者切換到IAM角色 (主控台)

您可以使用 AWS CLI 或 手動建立臨時登入資料 AWS API。然後,您可以使用這些臨時登入資料來存取 AWS。 AWS 建議您動態產生臨時登入資料,而不是使用長期存取金鑰。如需詳細資訊,請參閱 中的臨時安全登入IAM資料。

轉送 Amazon RDS 的存取工作階段

支援轉送存取工作階段:是。

當您使用 IAM使用者或角色在 中執行動作時 AWS,您會被視為委託人。當您使用某些 服務時,您可以執行動作,然後啟動不同服務中的另一個動作。 FAS會使用呼叫 的委託人許可 AWS 服務,結合 對下游服務 AWS 服務 提出請求的請求。 FAS 只有在服務收到請求,需要與其他 AWS 服務 或 資源互動才能完成時,才會提出請求。在此情況下,您必須具有執行這兩個動作的許可。如需提出FAS請求時的政策詳細資訊,請參閱轉送存取工作階段

Amazon RDS 的服務角色

支援服務角色:是。

服務角色是IAM服務擔任的角色,可代表您執行動作。IAM 管理員可以從 IAM 內建立、修改和刪除服務角色。如需詳細資訊,請參閱IAM《 使用者指南》中的建立角色以將許可委派給 AWS 服務

警告

變更服務角色的許可可能會中斷 Amazon RDS 功能。只有在 Amazon RDS 提供指引時,才能編輯服務角色。

Amazon RDS 的服務連結角色

支援服務連結角色:是。

服務連結角色是連結至 的服務角色類型 AWS 服務。服務可以擔任代表您執行動作的角色。服務連結角色會出現在您的 中 AWS 帳戶 ,並由服務擁有。IAM 管理員可以檢視,但不能編輯服務連結角色的許可。

如需使用 Amazon RDS 服務連結角色的詳細資訊,請參閱 使用 Amazon RDS 的服務連結角色