AWSSupport-TroubleshootRDSIAMAuthentication - AWS Systems Manager オートメーションランブックリファレンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWSSupport-TroubleshootRDSIAMAuthentication

説明

は、Amazon RDS for PostgreSQL、Amazon RDS for MySQL、Amazon RDS for MariaDB、Amazon Aurora PostgreSQL、および Amazon Aurora MySQL インスタンスの AWS Identity and Access Management (IAM) 認証のトラブルシューティングAWSSupport-TroubleshootRDSIAMAuthenticationに役立ちます。このランブックを使用して、Amazon RDS インスタンスまたは Aurora クラスターでの IAM 認証に必要な設定を確認します。また、Amazon RDS インスタンスまたは Aurora クラスターへの接続の問題を修正する手順も示します。

重要

このランブックは、Amazon RDS for Oracle または Amazon RDS for Microsoft SQL Server をサポートしていません。

重要

ソース Amazon EC2 インスタンスが提供され、ターゲットデータベースが Amazon RDS の場合、子オートメーションAWSSupport-TroubleshootConnectivityToRDSが呼び出され、TCP 接続のトラブルシューティングが行われます。出力には、IAM 認証を使用して Amazon RDS インスタンスに接続するために Amazon EC2 インスタンスまたはソースマシンで実行できるコマンドも用意されています。

動作の仕組み

このランブックは 6 つのステップで構成されています。

  • ステップ 1: validateInputs: オートメーションへの入力を検証します。

  • ステップ 2: branchOnSourceEC2Provided: 入力パラメータでソース Amazon EC2 インスタンス ID が指定されているかどうかを確認します。

  • ステップ 3: validateRDSConnectivity: ソース Amazon EC2 インスタンスから Amazon RDS 接続が提供されている場合は検証します。

  • ステップ 4: validateRDSIAMAuthentication: IAM 認証機能が有効になっているかどうかを検証します。

  • ステップ 5: validateIAMPolicies: 指定された IAM ユーザー/ロールに必要な IAM アクセス許可が存在するかどうかを確認します。

  • ステップ 6: generateReport: 以前に実行したステップの結果のレポートを生成します。

このオートメーションを実行する (コンソール)

ドキュメントタイプ

Automation

[所有者]

Amazon

[Platforms] (プラットフォーム)

リナックス

パラメータ

  • AutomationAssumeRole

    タイプ: 文字列

    説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。

  • RDSType

    タイプ: 文字列

    説明: (必須): 接続および認証しようとしているリレーショナルデータベースのタイプを選択します。

    使用できる値: Amazon RDSまたは Amazon Aurora Cluster.

  • DB インスタンス識別子

    タイプ: 文字列

    説明: (必須) ターゲット Amazon RDS データベースインスタンスまたは Aurora データベースクラスターの識別子。

    許可されたパターン: ^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$

    最大文字数: 63

  • SourceEc2InstanceIdentifier

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

    説明: (オプション) 同じアカウントとリージョンで実行されている Amazon EC2 インスタンスから Amazon RDS データベースインスタンスに接続する場合の Amazon EC2 インスタンス ID。ソースが Amazon EC2 インスタンスでない場合、またはターゲットの Amazon RDS タイプが Aurora データベースクラスターである場合は、このパラメータを指定しないでください。

    デフォルト: ""

  • DBIAMRoleName

    タイプ: 文字列

    説明: (オプション) IAM ベースの認証に使用される IAM ロール名。パラメータが指定されDBIAMUserNameていない場合にのみ を指定し、指定しない場合は空のままにします。DBIAMRoleName または を指定DBIAMUserNameする必要があります。

    許可されたパターン: ^[a-zA-Z0-9+=,.@_-]{1,64}$|^$

    最大文字数: 64

    デフォルト: ""

  • DBIAMUserName

    タイプ: 文字列

    説明: (オプション) IAM ベースの認証に使用される IAM ユーザー名。DBIAMRoleName パラメータが指定されていない場合にのみ を指定し、指定しない場合は空のままにします。DBIAMRoleName または を指定DBIAMUserNameする必要があります。

    許可されたパターン: ^[a-zA-Z0-9+=,.@_-]{1,64}$|^$

    最大文字数: 64

    デフォルト: ""

  • DBUserName

    タイプ: 文字列

    説明: (オプション) データベース内の IAM ベースの認証用に IAM ロール/ユーザーにマッピングされたデータベースユーザー名。デフォルトのオプションでは、データベース内のすべてのユーザーに アクセスrds-db:connect許可が付与されているかどうか*を評価します。

    許可されたパターン: ^[a-zA-Z0-9+=,.@*_-]{1,64}$

    最大文字数: 64

    デフォルト: *

必要な IAM アクセス許可

AutomationAssumeRole パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。

  • 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 コンソールで AWSSupport-TroubleshootRDSIAMAuthentication に移動します。

  2. [Execute automation] (オートメーションを実行) を選択します。

  3. 次の入力パラメータを入力できます。

    • AutomationAssumeRole(オプション):

      Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。

    • RDSType (必須):

      接続および認証しようとしている Amazon RDS のタイプを選択します。2 つの許可された値から選択します。 Amazon RDS または Amazon Aurora Cluster.

    • DBInstanceIdentifier (必須):

      接続しようとしているターゲット Amazon RDS データベースインスタンスまたは Aurora クラスターの識別子を入力し、認証に IAM 認証情報を使用します。

    • SourceEc2InstanceIdentifier (オプション):

      同じアカウントとリージョンに存在する Amazon EC2 インスタンスから Amazon RDS データベースインスタンスに接続する場合は、Amazon EC2 インスタンス ID を指定します。ソースが Amazon EC2 でない場合、またはターゲットの Amazon RDS タイプが Aurora クラスターの場合は空白のままにします。

    • DBIAMRoleName (オプション):

      IAM ベースの認証に使用される IAM ロール名を入力します。DBIAMUserName が指定されていない場合にのみ を指定します。それ以外の場合は空白のままにします。DBIAMRoleName または を指定DBIAMUserNameする必要があります。

    • DBIAMUserName (オプション):

      IAM ベースの認証に使用される IAM ユーザーを入力します。DBIAMRoleName が指定されていない場合は のみを指定し、それ以外の場合は空白のままにします。DBIAMRoleName または を指定DBIAMUserNameする必要があります。

    • DBUserName (オプション):

      データベース内の IAM ベースの認証用に IAM ロール/ユーザーにマッピングされたデータベースユーザーを入力します。デフォルトのオプション*は評価に使用されます。このフィールドには何も表示されません。

    Input parameters form for AWS Systems Manager with fields for EC2 instance and database configuration.
  4. [実行] を選択します。

  5. オートメーションが開始されることに注意してください。

  6. ドキュメントは以下のステップを実行します。

    • ステップ 1: validateInputs:

      オートメーションへの入力を検証します - SourceEC2InstanceIdentifier (オプション)、DBInstanceIdentifierClusterIDDBIAMRoleNameまたは DBIAMUserName。入力した入力パラメータがアカウントとリージョンに存在するかどうかを確認します。また、ユーザーが IAM パラメータ ( DBIAMRoleNameや など) のいずれかを入力したかどうかも確認しますDBIAMUserName。さらに、言及されたデータベースが使用可能ステータスであるかどうかなど、他の検証も実行します。

    • ステップ 2: branchOnSourceEC2Provided済み:

      ソース Amazon EC2 が入力パラメータで提供され、データベースが Amazon RDS であることを確認します。「はい」の場合、ステップ 3 に進みます。そうでない場合、Amazon EC2-Amazon RDS 接続検証であるステップ 3 をスキップし、ステップ 4 に進みます。

    • ステップ 3: validateRDSConnectivity:

      ソース Amazon EC2 が入力パラメータで提供され、データベースが Amazon RDS である場合、ステップ 2 はステップ 3 を開始します。このステップでは、ソース Amazon EC2 から Amazon RDS 接続を検証するために、子オートメーションAWSSupport-TroubleshootConnectivityToRDSが呼び出されます。子オートメーションランブックAWSSupport-TroubleshootConnectivityToRDSは、Amazon EC2 インスタンスから Amazon RDS インスタンスに接続できるように、必要なネットワーク設定 (Amazon Virtual Private Cloud [Amazon VPC]、セキュリティグループ、ネットワークアクセスコントロールリスト [NACL]、Amazon RDS の可用性) が設定されているかどうかを確認します。

    • ステップ 4: validateRDSIAMAuthentication:

      Amazon RDS インスタンスまたは Aurora クラスターで IAM 認証機能が有効になっているかどうかを検証します。

    • ステップ 5: validateIAMPolicies:

      IAM 認証情報が指定されたデータベースユーザー (存在する場合) の Amazon RDS インスタンスを認証できるように、渡された IAM ユーザー/ロールに必要な IAM アクセス許可が存在するかどうかを確認します。

    • ステップ 6: generateReport:

      前のステップからすべての情報を取得し、各ステップの結果または出力を出力します。また、IAM 認証情報を使用して Amazon RDS インスタンスに接続するために参照して実行する手順も示します。

  7. 自動化が完了したら、出力セクションで詳細な結果を確認します。

    • データベースに接続するための IAM ユーザー/ロールのアクセス許可の確認:

      IAM 認証情報が指定されたデータベースユーザー (存在する場合) の Amazon RDS インスタンスに対して認証できるように渡された IAM ユーザー/ロールに必要な IAM アクセス許可が存在するかどうかを確認します。

    • データベースの IAM ベースの認証属性の確認:

      指定された Amazon RDS データベース/Aurora クラスターで IAM 認証の機能が有効になっているかどうかを確認します。

    • Amazon EC2 インスタンスから Amazon RDS インスタンスへの接続の確認:

      Amazon EC2 インスタンスから Amazon RDS インスタンスに接続できるように、必要なネットワーク設定 (Amazon VPC、セキュリティグループ、NACL、Amazon RDS の可用性) が設定されているかどうかを確認します。

    • 次のステップ:

      IAM 認証情報を使用して Amazon RDS インスタンスに接続するために参照および実行するコマンドとステップを一覧表示します。

    Troubleshooting results for IAM permissions and authentication for an Aurora MySQL database.

リファレンス

Systems Manager Automation