メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

IAM ロールを DB クラスターに関連付ける

Amazon Aurora DB クラスター内のデータベースユーザーから他の AWS サービスにアクセスすることを許可するには、Amazon Aurora から AWS サービスにアクセスすることを許可する IAM ロールを作成する で作成したロールをその DB クラスターに関連付けます。

IAM ロールを DB クラスターに関連付けるには、2 つのことを行います。

  • RDS コンソール、AWS CLI の add-role-to-db-cluster コマンド、RDS API の AddRoleToDBCluster アクションを使用して、DB クラスターの関連付けられたロールのリストにロールを追加します。

    Aurora DB クラスターごとに最大 5 つの IAM ロールを追加できます。

  • 関連する AWS サービスのクラスターレベルのパラメータを、関連付けられた IAM ロールの ARN に設定します。

    次の表では、AWS の他のサービスにアクセスするために使用する IAM ロールのクラスターレベルのパラメータ名について説明します。

    クラスターレベルのパラメータ 説明

    aws_default_lambda_role

    DB クラスターから Lambda 関数を呼び出すときに使用します。

    aws_default_logs_role

    DB クラスターから Amazon CloudWatch Logs に監査ログデータをエクスポートするときに使用します。

    aws_default_s3_role

    DB クラスターから LOAD DATA FROM S3 ステートメント、LOAD XML FROM S3 ステートメント、または SELECT INTO OUTFILE S3 ステートメントを呼び出すときに使用します。

    Aurora バージョン 1.13 では、該当するステートメントの aurora_load_from_s3_role または aurora_select_into_s3_role に IAM ロールが指定されていない場合に限り、このパラメータに指定した IAM ロールが使用されます。

    Aurora の以前のバージョンでは、このパラメータに指定した IAM ロールが常に使用されます。

    aurora_load_from_s3_role

    Aurora バージョン 1.13 以降では、DB クラスターから LOAD DATA FROM S3 ステートメントまたは LOAD XML FROM S3 ステートメントを呼び出すときに使用します。このパラメータに IAM ロールが指定されていない場合は、aws_default_s3_role に指定した IAM ロールが使用されます。

    Aurora の以前のバージョンでは、このパラメータは使用できません。

    aurora_select_into_s3_role

    Aurora バージョン 1.13 以降では、DB クラスターから SELECT INTO OUTFILE S3 ステートメントを呼び出すときに使用します。このパラメータに IAM ロールが指定されていない場合は、aws_default_s3_role に指定した IAM ロールが使用されます。

    Aurora の以前のバージョンでは、このパラメータは使用できません。

ユーザーに代わって Amazon RDS クラスターが AWS の他のサービスと通信することを許可する IAM ロールを関連付けるには、以下のステップを実行します。

コンソールを使用して IAM ロールを Aurora DB クラスターに関連付けるには

  1. https://console.aws.amazon.com/rds/ で RDS コンソールを開きます。

  2. [Clusters] を選択します。

  3. IAM ロールを関連付ける Aurora DB クラスターを選択し、[Manage IAM Roles] を選択します。

     DB クラスターの IAM ロールを管理する
  4. [Manage IAM Roles] で、DB クラスターに関連付けるロールを [Available roles] から選択します。

     IAM ロールを DB クラスターに関連付ける
  5. (オプション) IAM ロールを DB クラスターに関連付けることを止めて、関連するアクセス権限を削除するには、ロールの [Delete] を選択します。

  6. [Done] を選択します。

  7. RDS コンソールで、ナビゲーションペインの [Parameter Groups] を選択します。

  8. カスタム DB パラメータグループをすでに使用している場合は、DB クラスターの新しいパラメータグループを作成する代わりに、そのグループを選択して使用できます。DB クラスターのデフォルトのパラメータグループを使用している場合は、以下のステップに従って、DB クラスターの新しいパラメータグループを作成する必要があります。

    1. [Create Parameter Group] を選択します。

       DB クラスターのパラメータグループを作成する

      [Parameter Group Family] で、[aurora5.6] を選択します。

    2. [Type] で、[DB cluster parameter group] を選択します。

    3. [Group Name] に、DB クラスターの新しいパラメータグループの名前を入力します。

    4. [Description] に、DB クラスターの新しいパラメータグループの説明を入力します。

    5. [Create] を選択します。

  9. DB クラスターのパラメータグループを選択し、[Edit Parameters] を選択します。

  10. 適切なクラスターレベルのパラメータを、関連する IAM ロールの ARN 値に設定します。たとえば、aws_default_s3_role パラメーターだけにarn:aws:iam::123456789012:role/AllowAuroraS3Role を設定できます。

  11. [Save Changes] を選択します。

  12. [Instances] を選択し、Aurora DB クラスターのプライマリインスタンスを選択します。

  13. [Instance Actions] を選択し、次に [Modify] を選択します。

  14. [DB Cluster Parameter Group] に、新しく作成した DB クラスターのパラメータグループを設定します。[Apply Immediately] を選択します。 [Continue] を選択します。

  15. 変更内容を確認して、[Modify DB Instance] をクリックします。

  16. DB クラスターのプライマリインスタンスは、インスタンスのリストで選択されたままになります。[Instance Actions] を選択し、次に [Reboot] を選択します。

    インスタンスが再起動すると、IAM ロールが DB クラスターに関連付けられます。

    クラスターのパラメータグループの詳細については、「DB クラスターパラメータと DB インスタンスパラメータ」を参照してください。

AWS CLI を使用して IAM ロールを DB クラスターに関連付けるには

  1. 以下に示すように、AWS CLI から [add-role-to-db-cluster] コマンドを呼び出して、IAM ロールの ARN を DB クラスターに追加します。

    Copy
    PROMPT> aws rds add-role-to-db-cluster --db-cluster-identifier my-cluster --role-arn arn:aws:iam::123456789012:role/AllowAuroraS3Role PROMPT> aws rds add-role-to-db-cluster --db-cluster-identifier my-cluster --role-arn arn:aws:iam::123456789012:role/AllowAuroraLambdaRole
  2. DB クラスターのデフォルトのパラメータグループを使用している場合は、DB クラスターの新しいパラメータグループを作成する必要があります。カスタム DB パラメータグループをすでに使用している場合は、DB クラスターの新しいパラメータグループを作成する代わりに、そのグループを使用できます。

    DB クラスターの新しいパラメータグループを作成するには、以下に示すように、AWS CLI から [create-db-cluster-parameter-group] コマンドを呼び出します。

    Copy
    PROMPT> aws rds create-db-cluster-parameter-group --db-cluster-parameter-group-name AllowAWSAccess \ --db-parameter-group-family aurora5.6 --description "Allow access to Amazon S3 and AWS Lambda"
  3. 以下に示すように、適切なクラスターレベルの単一あるいは複数のパラメータと関連する IAM ロールの ARN 値を DB クラスターのパラメータグループに設定します。

    Copy
    PROMPT> aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name AllowAWSAccess \ --parameters "name=aws_default_s3_role,value=arn:aws:iam::123456789012:role/AllowAuroraS3Role,method=pending-reboot" \ --parameters "name=aws_default_lambda_role,value=arn:aws:iam::123456789012:role/AllowAuroraLambdaRole,method=pending-reboot"
  4. 以下に示すように、DB クラスターの新しいパラメータグループを使うように DB クラスターを変更し、クラスターを再起動します。

    Copy
    PROMPT> aws rds modify-db-cluster --db-cluster-identifier my-cluster --db-cluster-parameter-group-name AllowAWSAccess PROMPT> aws rds reboot-db-instance --db-instance-identifier my-cluster-primary

    インスタンスが再起動すると、IAM ロールが DB クラスターに関連付けられます。

    クラスターのパラメータグループの詳細については、「DB クラスターパラメータと DB インスタンスパラメータ」を参照してください。