本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立並使用 IAM 政策進行 IAM 資料庫存取
若要允許使用者或角色連接資料庫執行個體,您必須建立 IAM 政策。然後,您可以將政策連接到許可集或角色。
注意
若要進一步了解 IAM 政策,請參閱Amazon RDS 的身分和存取管理。
以下範例政策可讓使用者利用 IAM 資料庫身分驗證來連接資料庫執行個體。
重要
具有管理員許可的使用者可以存取資料庫執行個體,而不需 IAM 政策中的明確許可。如果您想要將管理員的存取權限制為資料庫執行個體,您可以建立具有適當、特殊權限較低的許可的 IAM 角色,並將其指派給管理員。
注意
請勿混淆 rds-db:
前綴和其他以 rds:
開頭的 RDS API 操作前綴。您只能對 IAM 資料庫身分驗證使用 rds-db:
字首和 rds-db:connect
動作。它們不適用於任何其他內容。
範例政策包含單一陳述式與下列元素:
-
Effect
– 指定Allow
以授權存取資料庫執行個體。如果您未明確允許存取,預設將會拒絕存取。 -
Action
– 指定rds-db:connect
以允許連線至資料庫執行個體。 -
Resource
– 指定 Amazon Resource Name (ARN) 以描述一個資料庫執行個體中的一個資料庫帳戶。ARN 格式如下。arn:aws:rds-db:
region
:account-id
:dbuser:DbiResourceId
/db-user-name
請在此格式中更換下列項目:
-
是資料庫執行個體 AWS 的區域。在範例政策中, AWS 區域為region
us-east-2
。 -
是資料庫執行個體的 AWS 帳號。在此範例政策中,帳戶號碼是account-id
1234567890
。使用者的帳戶必須與資料庫執行個體的帳戶相同。若要執行跨帳户存取權,請使用資料庫執行個體帳戶中,上述的政策來建立 IAM 角色,並允許您的其他帳戶擔任該角色。
-
是資料庫執行個體的識別符。此識別符對 AWS 區域是唯一的,絕不會變更。在此範例政策中,識別符是DbiResourceId
db-ABCDEFGHIJKL01234
。若要在適用於 Amazon RDS AWS Management Console 的 中尋找資料庫執行個體資源 ID,請選擇資料庫執行個體以查看其詳細資訊。然後選擇 Configuration (組態) 標籤。Resource ID (資源 ID) 顯示在 Configuration (組態) 區段中。
或者,您可以使用 AWS CLI 命令列出目前 AWS 區域中所有資料庫執行個體的識別符和資源 IDs,如下所示。
aws rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier,DbiResourceId]"
若您使用的是 Amazon Aurora,請指定
DbClusterResourceId
而非DbiResourceId
。如需詳細資訊,請參閱《Amazon Aurora 使用者指南》中的建立並使用 IAM 政策進行 IAM 資料庫存取。注意
如果您是透過 RDS Proxy 連線至資料庫,請指定代理資源 ID,例如
prx-ABCDEFGHIJKL01234
。如需搭配 RDS Proxy 使用 IAM 資料庫驗證的相關資訊,請參閱使用 IAM 身分驗證連線到代理。 -
是要與 IAM 身分驗證產生關聯的資料庫帳戶的名稱。在範例政策中,資料庫帳戶是db-user-name
db_user
。
-
您可以建構其他 ARN 來支援各種存取模式。下列政策允許存取資料庫執行個體中的兩個不同資料庫帳戶:
下列政策使用「*」字元來比對特定 AWS 帳戶和 AWS 區域的所有資料庫執行個體和資料庫帳戶。
下列政策符合特定 AWS 帳戶和 AWS 區域的所有資料庫執行個體。不過,此政策僅授權存取具有 jane_doe
資料庫帳戶的資料庫執行個體。
使用者或角色只能存取資料庫使用者可存取的資料庫。例如,假設資料庫執行個體有一個名為 dev 的資料庫,還有另一個名為 test 的資料庫。如果資料庫使用者 jane_doe
只能存取 dev,則任何以 jane_doe
使用者存取該資料庫執行個體的使用者或角色,也只能存取 dev。其他資料庫物件同樣受此存取限制,例如資料表和檢視等。
管理員必須建立 IAM 政策,授予實體在其所需的指定資源上執行特定 API 操作的許可。管理員接著必須將這些政策連接至需要這些許可的許可集或角色。如需政策範例,請參閱 Amazon RDS 以身分為基礎的政策範例。
將政 IAM 政策連接到許可集或角色
在您建立 IAM 政策以允許資料庫身分驗證之後,您必須將該政策連接至許可集或角色。如需本主題的教學課程,請參閱《IAM 使用者指南》中的建立並連接您的第一個客戶受管原則。
在您進行教學課程時,可使用本節所示的其中一個政策範例做為起點,並依您的需求進行自訂。在教學課程結束時,您會有一個具有連接政策且可使用 rds-db:connect
動作的許可集。
注意
您可以將多個許可集或角色映射至相同的資料庫使用者帳戶。例如,假設 IAM 政策指定下列資源 ARN。
arn:aws:rds-db:us-east-2:123456789012:dbuser:db-12ABC34DEFG5HIJ6KLMNOP78QR/jane_doe
如果您將此政策連接至 Jane、Bob 和 Diego,則每個使用者都能使用 jane_doe
資料庫帳戶連線至指定的資料庫執行個體。