AWSSupport-TroubleshootRDSIAMAuthentication - AWS Systems Manager 自動化手冊參考

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

AWSSupport-TroubleshootRDSIAMAuthentication

Description

AWSSupport-TroubleshootRDSIAMAuthentication有助於針對 Postgre 的 Amazon,我的 AmazonRDS,MariaDB 的 AmazonSQL,亞馬遜 RDS Aurora Postgre 和 Amazon Aurora 我SQL的實RDS例進行故障排除 AWS Identity and Access Management (IAM)身份驗證。SQL SQL使用此執行手冊來驗證使用 Amazon RDS 執行個體或 Aurora 叢集進行IAM身份驗證所需的組態。同時也提供修正 Amazon RDS 執行個體或 Aurora 叢集之連線問題的步驟。

重要

這本手冊不支持 Amazon RDS 的甲骨文或 Amazon Microsoft RDS 服SQL務器。

重要

如果提供來源 Amazon EC2 執行個體,且目標資料庫為 AmazonRDS,則會叫用子自動化以AWSSupport-TroubleshootConnectivityToRDS對TCP連線進行疑難排解。輸出還提供您可以在 Amazon EC2 執行個體或來源機器上執行的命令,以使用IAM身份驗證連接到 Amazon RDS 執行個體。

它是如何工作的?

此手冊由六個步驟組成:

  • 第 1 步validateInputs:驗證輸入到自動化。

  • 步驟 2 branchOnSourceEC2Provided:驗證輸入參數中是否提供來源 Amazon EC2 執行個體 ID。

  • 步驟 3validateRDSConnectivity:驗證來源 Amazon EC2 執行個體的 Amazon RDS 連線 (若有提供)。

  • 步驟 4validateRDSIAMAuthentication:驗證驗IAM證功能是否已啟用。

  • 步驟 5validateIAMPolicies:驗證所提供的IAM用戶/角色中是否存在所需的IAM權限。

  • 第 6 步generateReport:生成先前執行的步驟的結果的報告。

運行此自動化(控制台)

文件類型

 自動化

擁有者

Amazon

平台

Linux

參數

  • AutomationAssumeRole

    類型:字串

    描述:(選用) 允許 Systems Manager 自動化代表您執行動作的 AWS Identity and Access Management (IAM) 角色的 Amazon 資源名稱 ()。ARN如果未指定角色,Systems Manager 自動化會使用啟動此 runbook 的使用者的權限。

  • RDSType

    類型:字串

    描述:(必要):選取您嘗試連線並進行認證的關聯式資料庫類型。

    允許的值:Amazon RDSAmazon Aurora Cluster.

  • DBInstanceIdentifier

    類型:字串

    說明:(必填) 目標 Amazon RDS 資料庫執行個體或 Aurora 資料庫叢集的識別碼。

    允許的模式:^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$

    最多字元數目:63

  • SourceEc2 InstanceIdentifier

    類型:AWS::EC2::Instance::Id

    說明:(選擇性) 如果您要從相同帳戶和區域中EC2執行的 Amazon 執行個體連線至 Amazon RDS 資料庫EC2執行個體,則為 Amazon 執行個體 ID。如果來源不是 Amazon EC2 執行個體,或目標 Amazon RDS 類型是 Aurora 資料庫叢集,請勿指定此參數。

    預設:""

  • DBIAMRoleName

    類型:字串

    描述:(選擇性) 用IAM於驗證的IAM角色名稱。僅在未提供參數DBIAMUserName時提供,否則請將其保留空白。DBIAMRoleNameDBIAMUserName必須提供。

    允許的模式:^[a-zA-Z0-9+=,.@_-]{1,64}$|^$

    最多字元數目:64

    預設:""

  • DBIAMUserName

    類型:字串

    說明:(選擇性) 用IAM於基礎驗證的使用IAM者名稱。僅在未提供DBIAMRoleName參數時提供,否則請將其保留空白。DBIAMRoleNameDBIAMUserName必須提供。

    允許的模式:^[a-zA-Z0-9+=,.@_-]{1,64}$|^$

    最多字元數目:64

    預設:""

  • DBUserName

    類型:字串

    描述:(選擇性) 對應至資料庫中IAM以進行認證之IAM角色/使用者的資料庫使用者名稱。預設選項*會評估資料庫中是否允許所有使用者使用rds-db:connect權限。

    允許的模式:^[a-zA-Z0-9+=,.@*_-]{1,64}$

    最多字元數目:64

    預設:*

必要的IAM權限

AutomationAssumeRole參數需要執行下列動作,才能成功使用 Runbook。

  • ec2:DescribeInstances

  • ec2:DescribeNetworkAcls

  • ec2:DescribeRouteTables

  • ec2:DescribeSecurityGroups

  • ec2:DescribeSubnets

  • iam:GetPolicy

  • iam:GetRole

  • iam:GetUser

  • iam:ListAttachedRolePolicies

  • iam:ListAttachedUserPolicies

  • iam:ListRolePolicies

  • iam:ListUserPolicies

  • iam:SimulatePrincipalPolicy

  • rds:DescribeDBClusters

  • rds:DescribeDBInstances

  • ssm:DescribeAutomationStepExecutions

  • ssm:GetAutomationExecution

  • ssm:StartAutomationExecution

指示

  1. 導覽至主 AWS Systems Manager 控台roubleshootRDSIAMAuthentication中的 AWSSupport-T

  2. 選擇執行自動化

  3. 對於輸入參數,請輸入以下內容:

    • AutomationAssumeRole(選擇性):

      () 角色的 Amazon 資源名稱 AWS Identity and Access Management (ARNIAM),可讓 Systems Manager 自動化代表您執行動作。如果未指定角色,Systems Manager 自動化會使用啟動此 runbook 的使用者的權限。

    • RDSType(必填):

      選擇您嘗試連接和進行身份驗證的 Amazon RDS 類型。從兩個允許的值中選擇:Amazon RDSAmazon Aurora Cluster.

    • DBInstanceIdentifier(必填):

      輸入您嘗試連接的目標 Amazon RDS 資料庫執行個體或 Aurora 叢集的識別碼,並使用IAM登入資料進行身份驗證。

    • SourceEc2 InstanceIdentifier (選擇性):

      如果您要從相同帳戶和區域中的 Amazon EC2 執行個體連接到 Amazon RDS 資料庫EC2執行個體,請提供 Amazon 執行個體 ID。如果來源不是 Amazon EC2 或目標 Amazon RDS 類型是 Aurora 叢集,請保留空白。

    • DBIAMRoleName(選擇性):

      輸入用於「IAM基礎」驗證的「IAM角色」名稱。僅在未提DBIAMUserName供時提供;否則,請留空。DBIAMRoleNameDBIAMUserName必須提供。

    • DBIAMUserName(選擇性):

      輸入用於「IAM基於」驗證的「使用IAM者」。僅在未提DBIAMRoleName供時提供,否則保留空白。DBIAMRoleNameDBIAMUserName必須提供。

    • DBUserName(選擇性):

      輸入對應至資料庫中「IAM基於」驗證之IAM角色/使用者的資料庫使用者。預設選項用*於評估;此欄位中未提供任何內容。

  4. 選取執行

  5. 請注意,自動化會啟動。

  6. 文件會執行下列步驟:

    • 步驟一validateInputs:

      驗證輸入到自動化-SourceEC2InstanceIdentifier(可選),DBInstanceIdentifierClusterID,和DBIAMRoleNameDBIAMUserName。它會驗證輸入的輸入參數是否存在於您的帳戶和區域中。它也會驗證使用者是否輸入其中一個IAM參數 (例如,DBIAMRoleNameDBIAMUserName)。此外,它還會執行其他驗證,例如提到的資料庫是否處於 [可用] 狀態。

    • 步驟二 branchOnSourceEC2Provided:

      驗證 Amazon 來源EC2是否在輸入參數提供和數據庫是 Amazon RDS。如果是,則會繼續執行步驟 3。如果沒有,它會跳過步驟 3,這是 EC2 Amazon RDS 連接驗證,並繼續步驟 4。

    • 步驟三validateRDSConnectivity:

      如果在輸入參數中EC2提供了源 Amazon,並且數據庫是 AmazonRDS,則步驟 2 啟動步驟 3。在此步驟中,會叫用子自動化AWSSupport-TroubleshootConnectivityToRDS來驗證來源 Amazon 的 Amazon RDS 連線能力EC2。子自動化執行手冊AWSSupport-TroubleshootConnectivityToRDS會驗證所需的網路組態 (Amazon Virtual Private Cloud [AmazonVPC]、安全群組、網路存取控制清單 [NACL]、Amazon 可RDS用性) 是否已到位,以便您可以從 Amazon 執行個體連接到 Amazon EC2 執行個體。RDS

    • 步驟四validateRDSIAMAuthentication:

      驗IAM證是否在 Amazon RDS 執行個體或 Aurora 叢集上啟用了身份驗證功能。

    • 步驟五validateIAMPolicies:

      驗證傳遞的使用IAM者/角色中是否存在所需的IAM許可,以便讓IAM登入資料為指定的資料庫使用者 (如果有) 向 Amazon RDS 執行個體進行驗證。

    • 步驟六generateReport:

      取得先前步驟的所有資訊,並列印每個步驟的結果或輸出。它還列出了使用IAM登入資料連接到 Amazon 執行RDS個體的參考和執行步驟。

  7. 自動化操作完成後,請查看「輸出」部分以獲取詳細結果:

    • 檢查用IAM戶/角色權限以連接到數據庫:

      驗證傳遞的使用IAM者/角色中是否存在所需的IAM許可,以便讓IAM登入資料為指定的資料庫使用者 (如果有) 向 Amazon RDS 執行個體進行驗證。

    • 檢查資料庫的IAM基礎驗證屬性:

      驗證是否為指定的 Amazon RDS 資料庫/Aurora 叢集啟用IAM身份驗證功能。

    • 檢查 Amazon 執行個體與 Amazon EC2 執行個體的連線能力:RDS

      驗證是否已設置所需的網路組態 (Amazon VPC、安全群組NACL、Amazon 可RDS用性),以便您可以從 Amazon 執行個體連接到 Amazon EC2 執行RDS個體。

    • 後續步驟:

      列出使用IAM登入資料連接 Amazon 執行RDS個體時所要參考和執行的命令和步驟。

參考

Systems Manager Automation