

# AWS のサービスにアクセスするための IAM ロールの設定
<a name="AuroraMySQL.Integrating.Authorizing.IAM"></a>

Aurora DB クラスターから別の AWS サービスにアクセスすることを許可するには、以下のことを行います。

1. AWS のサービスにアクセス権限を付与する IAM ポリシーを作成します。詳細については、以下のトピックを参照してください。
   + [Amazon S3 リソースにアクセスするための IAM ポリシーの作成](AuroraMySQL.Integrating.Authorizing.IAM.S3CreatePolicy.md)
   + [AWS Lambda リソースにアクセスするための IAM ポリシーの作成](AuroraMySQL.Integrating.Authorizing.IAM.LambdaCreatePolicy.md)
   + [CloudWatch Logs リソースにアクセスするための IAM ポリシーの作成](AuroraMySQL.Integrating.Authorizing.IAM.CWCreatePolicy.md)
   + [AWS KMS リソースにアクセスするための IAM ポリシーの作成](AuroraMySQL.Integrating.Authorizing.IAM.KMSCreatePolicy.md)

1. IAM ロールを作成し、作成したポリシーをアタッチします。詳細については、「[Amazon Aurora が AWS のサービスにアクセスすることを許可する IAM ロールの作成](AuroraMySQL.Integrating.Authorizing.IAM.CreateRole.md)」を参照してください。

1. その IAM ロールを Aurora DB クラスターに関連付けます。詳細については、「[IAM ロールと Amazon Aurora MySQL DB クラスターの関連付け](AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.md)」を参照してください。

# Amazon S3 リソースにアクセスするための IAM ポリシーの作成
<a name="AuroraMySQL.Integrating.Authorizing.IAM.S3CreatePolicy"></a>

Aurora では、Amazon S3 のリソースにアクセスして Aurora DB クラスターにデータをロードしたり、Aurora DB クラスターのデータを保存したりできます。ただし、初期に IAM ポリシーを作成してバケットおよびオブジェクトのアクセス許可を付与し、Aurora から Amazon S3 にアクセスできるようにする必要があります。

次の表は、ユーザー名で Amazon S3 バケットにアクセスできる Aurora の機能と、各機能に必要な最小限のバケットとオブジェクトのアクセス許可の一覧です。


| 機能 | Bucket permissions (バケットのアクセス許可) | オブジェクトのアクセス許可 | 
| --- | --- | --- | 
|  `LOAD DATA FROM S3`  |  `ListBucket`  |  `GetObject` `GetObjectVersion`  | 
| LOAD XML FROM S3 |  `ListBucket`  |  `GetObject` `GetObjectVersion`  | 
|  `SELECT INTO OUTFILE S3`  |  `ListBucket`  |  `AbortMultipartUpload` `DeleteObject` `GetObject` `ListMultipartUploadParts` `PutObject`  | 

次のポリシーは、ユーザー名で Amazon S3 バケットにアクセスするために Aurora で必要となるアクセス許可を追加します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAuroraToExampleBucket",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:AbortMultipartUpload",
                "s3:ListBucket",
                "s3:DeleteObject",
                "s3:GetObjectVersion",
                "s3:ListMultipartUploadParts"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*",
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        }
    ]
}
```

------

**注記**  
 `Resource` 値の両方のエントリを含んでいることを確認します。Aurora には、バケット自体とバケット内のすべてのオブジェクトの両方に対するアクセス許可が必要です。  
ユースケースによっては、ポリシーのサンプルにすべてのアクセス許可を追加する必要がない場合があります。また、その他のアクセス許可が必要になる可能性もあります。例えば、Amazon S3 バケットが暗号化されている場合には、 `kms:Decrypt` アクセス許可を追加する必要があります。

以下のステップを使用して、ユーザーの代わりに Aurora から Amazon S3 バケットにアクセスするために必要な最低のアクセス権限を提供する IAM ポリシーを作成できます。Aurora からすべての Amazon S3 バケットへのアクセスを許可するには、以下のステップをスキップし、独自のポリシーを作成する代わりに定義済みの IAM ポリシーである `AmazonS3ReadOnlyAccess` または `AmazonS3FullAccess` を使用できます。

**Amazon S3 リソースへのアクセスを許可する IAM ポリシーを作成するには**

1. [IAM マネジメントコンソール](https://console.aws.amazon.com/iam/home?#home)を開きます。

1. ナビゲーションペインで、[**ポリシー**] を選択します。

1. [**ポリシーの作成**] を選択します。

1. [**Visual editor**] タブで、[**Choose a service**] を選択し、[**S3**] を選択します。

1. [**アクション**] で [**すべて展開**] を選択してから、IAM ポリシーに必要なバケットへのアクセス許可とオブジェクトへのアクセス許可を選択します。

   オブジェクトへのアクセス許可は、Amazon S3 のオブジェクトオペレーションのアクセス許可であり、バケット自体ではなくバケット内のオブジェクトに付与する必要があります。Amazon S3 におけるオブジェクトオペレーションのアクセス許可の詳細については、「[オブジェクトオペレーションに対するアクセス許可](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-objects)」を参照してください。

1. [**リソース**] を選択し、[**バケット**] に [**ARN の追加**] を選択します。

1. [**ARN の追加**] ダイアログボックスで、リソースの詳細を指定し、[**追加**] を選択します。

   アクセスを許可する Amazon S3 バケットを指定します。例えば、*amzn-s3-demo-bucket* という名前の Amazon S3 バケットへのアクセスを Aurora に許可するには、Amazon リソースネーム (ARN) の値を `arn:aws:s3:::amzn-s3-demo-bucket` に設定します。

1. [**オブジェクト**] リソースがリストされた場合は、[**オブジェクト**] に対して [**ARN の追加**] を選択します。

1. [**Add ARN(s)**] ダイアログボックスで、リソースの詳細を指定します。

   Amazon S3 バケットの場合は、アクセスを許可する Amazon S3 バケットを指定します。オブジェクトの場合は、[**Any**] を選択してバケット内の任意のオブジェクトにアクセス許可を付与できます。
**注記**  
Aurora から Amazon S3 バケット内の特定のファイルやフォルダにのみアクセスすることを許可するには、[**Amazon リソースネーム (ARN)**] により具体的な ARN 値を設定することができます。Amazon S3 のアクセスポリシーの定義方法については、「[Amazon S3 リソースへのアクセス許可の管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)」を参照してください。

1. (オプション) **バケット**の [**ARN の追加**] を選択して、別の Amazon S3 バケットをポリシーに追加し、そのバケットに対して前のステップを繰り返します。
**注記**  
このステップを繰り返して、対応するバケットのアクセス許可ステートメントを、Aurora からアクセスする各 Amazon S3 バケットのポリシーに追加できます。オプションで、Amazon S3 内のすべてのバケットとオブジェクトへのアクセスを許可できます。

1. [**ポリシーの確認**] を選択します。

1. [** 名前**] に、IAM ポリシーの名前 (例: `AllowAuroraToExampleBucket`) を設定します。IAM ロールを作成して Aurora DB クラスターに関連付ける際に、この名前を使用します。オプションで [**Description**] 値を追加することもできます。

1. [**Create policy**] を選択します。

1. 「[Amazon Aurora が AWS のサービスにアクセスすることを許可する IAM ロールの作成](AuroraMySQL.Integrating.Authorizing.IAM.CreateRole.md)」の各ステップを実行します。

# AWS Lambda リソースにアクセスするための IAM ポリシーの作成
<a name="AuroraMySQL.Integrating.Authorizing.IAM.LambdaCreatePolicy"></a>

ユーザーの代わりに Aurora から AWS Lambda 関数を呼び出すために必要な最低のアクセス許可を付与する、IAM ポリシーを作成できます。

次のポリシーは、Aurora がユーザーに代わって AWS Lambda 関数を呼び出すために必要なアクセス許可を追加します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAuroraToExampleFunction",
      "Effect": "Allow",
      "Action": "lambda:InvokeFunction",
      "Resource": "arn:aws:lambda:us-east-1:123456789012:function:example_function"
    }
  ]
}
```

------

以下のステップを使用して、ユーザーの代わりに Aurora から AWS Lambda 関数を呼び出すために必要な、最低限のアクセス許可を付与する IAM ポリシーを作成できます。Aurora からすべての AWS Lambda 関数を呼び出すことを許可するには、以下のステップをスキップして、独自のポリシーを作成する代わりに定義済みの `AWSLambdaRole` ポリシーを使用できます。

**AWS Lambda 関数への呼び出しを許可する IAM ポリシーを作成するには**

1. [IAM コンソール](https://console.aws.amazon.com/iam/home?#home)を開きます。

1. ナビゲーションペインで、[**Policies (ポリシー)**] を選択します。

1. [**ポリシーの作成**] を選択します。

1. [**ビジュアルエディタ**] タブで、[**サービスの選択**] を選択し、[**Lambda**] を選択します。

1. [**アクション**] の [**すべて展開**] を選択し、IAM ポリシーに必要な AWS Lambda アクセス許可を選択します。

   `InvokeFunction` が選択されていることを確認します。これは、Amazon Aurora から AWS Lambda 関数を呼び出すために必要な最低限のアクセス許可です。

1. [**リソース**] を選択し、[**関数**] に対して [**ARN の追加**] を選択します。

1. [**Add ARN(s)**] ダイアログボックスで、リソースの詳細を指定します。

   アクセスを許可する Lambda 関数を指定します。例えば、Aurora から `example_function` という名前の Lambda 関数にアクセスすることを許可するには、ARN 値として `arn:aws:lambda:::function:example_function` を設定します。

   AWS Lambda のアクセスポリシーを定義する方法の詳細については、「[AWS Lambda に対する認証とアクセス制御](https://docs.aws.amazon.com/lambda/latest/dg/lambda-auth-and-access-control.html)」を参照してください。

1. オプションで、[**さらにアクセス許可を追加する**] を選択して、ポリシーに別の AWS Lambda 関数を追加し、その関数に対して前のステップを繰り返します。
**注記**  
このステップを繰り返して、対応する関数のアクセス許可ステートメントを、Aurora からアクセスする各 AWS Lambda 関数のポリシーに追加できます。

1. [**ポリシーの確認**] を選択します。

1. [**名前**] に、IAM ポリシーの名前 (`AllowAuroraToExampleFunction` など) を設定します。IAM ロールを作成して Aurora DB クラスターに関連付ける際に、この名前を使用します。オプションで [**Description**] 値を追加することもできます。

1. [**Create policy**] を選択します。

1. 「[Amazon Aurora が AWS のサービスにアクセスすることを許可する IAM ロールの作成](AuroraMySQL.Integrating.Authorizing.IAM.CreateRole.md)」の各ステップを実行します。

# CloudWatch Logs リソースにアクセスするための IAM ポリシーの作成
<a name="AuroraMySQL.Integrating.Authorizing.IAM.CWCreatePolicy"></a>

Aurora は CloudWatch Logs にアクセスして Aurora DB クラスターから監査ログデータをエクスポートできます。ただし、初期に IAM ポリシーを作成してロググループおよびログストリーミングのアクセス許可を付与し、Aurora から CloudWatch Logs にアクセスできるようにする必要があります。

以下のポリシーは、ユーザー名で Amazon CloudWatch Logs にアクセスするために Aurora が要求する権限および、ロググループを作成してデータをエクスポートするための最小限の権限を追加します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableCreationAndManagementOfRDSCloudwatchLogEvents",
            "Effect": "Allow",
            "Action": [
                "logs:GetLogEvents",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:log-group:/aws/rds/*:log-stream:*"
        },
        {
            "Sid": "EnableCreationAndManagementOfRDSCloudwatchLogGroupsAndStreams",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:DescribeLogStreams",
                "logs:PutRetentionPolicy",
                "logs:CreateLogGroup"
            ],
            "Resource": "arn:aws:logs:*:*:log-group:/aws/rds/*"
        }
    ]
}
```

------

ポリシーの ARN を変更すると、特定の AWS リージョンおよびアカウントへのアクセスを制限できます。

以下のステップを使用して、ユーザーの代わりに Aurora から CloudWatch Logs にアクセスするために必要な最低のアクセス権限を提供する IAM ポリシーを作成できます。Aurora に CloudWatch Logs へのフルアクセスを付与するには、このステップをスキップして、独自のポリシーを作成する代わりに、定義済みの `CloudWatchLogsFullAccess` IAM ポリシーを使用します。詳細については、*Amazon CloudWatch ユーザーガイド*の「[CloudWatch Logs でアイデンティティベースのポリシー (IAM ポリシー) を使用する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/iam-identity-based-access-control-cwl.html#managed-policies-cwl)」を参照してください。

**CloudWatch Logs リソースへのアクセスを許可する IAM ポリシーを作成するには**

1. [IAM コンソール](https://console.aws.amazon.com/iam/home?#home)を開きます。

1. ナビゲーションペインで、[**Policies (ポリシー)**] を選択します。

1. [**ポリシーの作成**] を選択します。

1. [**ビジュアルエディタ**] タブで、[**サービスの選択**] を選択し、[**CloudWatch Logs**] を選択します。

1. [**アクション**] で、右側にある [**すべて展開**] を選択し、IAM ポリシーに必要な Amazon CloudWatch Logs アクセス許可を選択します。

   次のアクセス許可が選択されていることを確認します。
   + `CreateLogGroup`
   + `CreateLogStream`
   + `DescribeLogStreams`
   + `GetLogEvents`
   + `PutLogEvents`
   + `PutRetentionPolicy`

1. [**リソース**] を選択し、[**log-group**] に対して [**ARN の追加**] を選択します。

1. [**ARN の追加**] ダイアログボックスで、以下の値を入力します。
   + **リージョン** - AWS リージョンまたは `*`
   + **アカウント** - アカウント番号または `*`
   + **ロググループ名** - `/aws/rds/*`

1. [**ARN の追加**] ダイアログボックスで、[**追加**] を選択します。

1. [**log-stream**] に [**ARN の追加**] を選択します。

1. [**ARN の追加**] ダイアログボックスで、以下の値を入力します。
   + **リージョン** - AWS リージョンまたは `*`
   + **アカウント** - アカウント番号または `*`
   + **ロググループ名**]`/aws/rds/*` - 
   + **ログストリーミング名** - `*`

1. [**ARN の追加**] ダイアログボックスで、[**追加**] を選択します。

1. [**ポリシーの確認**] を選択します。

1. [**名前**] に、IAM ポリシーの名前 (`AmazonRDSCloudWatchLogs` など) を設定します。IAM ロールを作成して Aurora DB クラスターに関連付ける際に、この名前を使用します。オプションで [**Description**] 値を追加することもできます。

1. [**Create policy**] を選択します。

1. 「[Amazon Aurora が AWS のサービスにアクセスすることを許可する IAM ロールの作成](AuroraMySQL.Integrating.Authorizing.IAM.CreateRole.md)」の各ステップを実行します。

# AWS KMS リソースにアクセスするための IAM ポリシーの作成
<a name="AuroraMySQL.Integrating.Authorizing.IAM.KMSCreatePolicy"></a>

Aurora は、データベースバックアップの暗号化に使用された AWS KMS keys にアクセスできます。ただし、初期に IAM ポリシーを作成してアクセス許可を付与し、Aurora が KMS キーにアクセスできるようにする必要があります。

次のポリシーでは、ユーザーの代わりに KMS キーにアクセスするために Aurora で必要となるアクセス許可が追加されています。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAuroraToAccessKey",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt"
      ],
      "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-ID"
    }
  ]
}
```

------

次のステップを使用して、Aurora がユーザーの代わりに KMS キーにアクセスするために必要な最小限のアクセス許可を付与する IAM ポリシーを作成できます。

**KMS キーへのアクセスを許可する IAM ポリシーを作成するには**

1. [[IAM コンソール](https://console.aws.amazon.com/iam/home?#home)] を開きます。

1. ナビゲーションペインで、[**Policies (ポリシー)**] を選択します。

1. [**ポリシーの作成**] を選択します。

1. [**ビジュアルエディタ**] タブで、[**サービスの選択**] を選択し、[**KMS**] を選択します。

1. [**アクション**] で、[**書き込み**]、[**復号**] の順に選択します。

1. [**リソース**]、[**ARN の追加**] の順に選択します。

1. [**ARN の追加**] ダイアログボックスで、以下の値を入力します。
   + [**リージョン**] - AWS リージョンを (`us-west-2` のように) 入力します。
   + [**アカウント**] - ユーザーアカウント番号を入力します。
   + [**ログストリーミング名**] - KMS キー識別子を入力します。

1. [**ARN の追加**] ダイアログボックスで、[**追加**] を選択します。

1. [**ポリシーの確認**] を選択します。

1. [**名前**] に、IAM ポリシーの名前 (`AmazonRDSKMSKey` など) を設定します。IAM ロールを作成して Aurora DB クラスターに関連付ける際に、この名前を使用します。オプションで [**Description**] 値を追加することもできます。

1. [**Create policy**] を選択します。

1. 「[Amazon Aurora が AWS のサービスにアクセスすることを許可する IAM ロールの作成](AuroraMySQL.Integrating.Authorizing.IAM.CreateRole.md)」の各ステップを実行します。

# Amazon Aurora が AWS のサービスにアクセスすることを許可する IAM ロールの作成
<a name="AuroraMySQL.Integrating.Authorizing.IAM.CreateRole"></a>

Aurora から AWS リソースへのアクセスを許可する IAM ポリシーを作成したら、次に IAM ロールを作成して、この新しい IAM ロールに IAM ポリシーをアタッチする必要があります。

ユーザーに代わって Amazon RDS クラスターが他の AWS のサービスと通信することを許可する IAM ロールを作成するには、以下のステップを実行します。<a name="Create.IAMRole.AWSServices"></a>

**Amazon RDS が AWS のサービスにアクセスすることを許可する IAM ロールを作成するには**

1. [IAM コンソール](https://console.aws.amazon.com/iam/home?#home)を開きます。

1. ナビゲーションペインで **[ロール]** を選択します。

1. [**ロールの作成**] を選択します。

1. [**AWS のサービス**] で [**RDS**] を選択します。

1. [**ユースケースの選択**] で [**RDS - データベースへのロールの追加**] を選択します。

1. [**次へ**] を選択します。

1. [**アクセス許可ポリシーのアタッチ**] ページで、[**検索**] フィールドにポリシーの名前を入力します。

1. ポリシーがリストに表示されたら、次のセクションの説明のいずれかを使用して前に定義したポリシーを選択します。
   + [Amazon S3 リソースにアクセスするための IAM ポリシーの作成](AuroraMySQL.Integrating.Authorizing.IAM.S3CreatePolicy.md)
   + [AWS Lambda リソースにアクセスするための IAM ポリシーの作成](AuroraMySQL.Integrating.Authorizing.IAM.LambdaCreatePolicy.md)
   + [CloudWatch Logs リソースにアクセスするための IAM ポリシーの作成](AuroraMySQL.Integrating.Authorizing.IAM.CWCreatePolicy.md)
   + [AWS KMS リソースにアクセスするための IAM ポリシーの作成](AuroraMySQL.Integrating.Authorizing.IAM.KMSCreatePolicy.md)

1. [**次へ**] を選択します。

1. [**ロール名**] に、IAM ロールの名前 (`RDSLoadFromS3` など) を入力します。オプションで [**Description**] 値を追加することもできます。

1. [**ロールの作成**] を選択します。

1. 「[IAM ロールと Amazon Aurora MySQL DB クラスターの関連付け](AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.md)」の各ステップを実行します。

# IAM ロールと Amazon Aurora MySQL DB クラスターの関連付け
<a name="AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster"></a>

Amazon Aurora DB クラスター内のデータベースユーザーから他の AWS のサービスにアクセスすることを許可するには、[Amazon Aurora が AWS のサービスにアクセスすることを許可する IAM ロールの作成](AuroraMySQL.Integrating.Authorizing.IAM.CreateRole.md) で作成した IAM ロールを、その DB クラスターに関連付けます。サービスを直接関連付けることで、AWS に新しい IAM ロールを作成させることもできます。

**注記**  
IAM ロールを Aurora Serverless v1 DB クラスターに関連付けることはできません。詳細については、「[Amazon Aurora Serverless v1 の使用](aurora-serverless.md)」を参照してください。  
IAM ロールを Aurora Serverless v2 DB クラスターに関連付けることはでます。

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

1. RDS コンソール、[add-role-to-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/add-role-to-db-cluster.html) AWS CLI コマンド、または [AddRoleToDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AddRoleToDBCluster.html) RDS API オペレーションを使用して、DB クラスターの関連付けられたロールのリストにロールを追加します。

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

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

   次の表では、AWS の他のサービスにアクセスするために使用する IAM ロールのクラスターレベルのパラメータ名について説明します。    
<a name="aurora_cluster_params_iam_roles"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.html)

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

## コンソール
<a name="AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.CON"></a>

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

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

1. [**データベース**] をクリックします。

1. IAM ロールを関連付ける Aurora DB クラスターの名前を選択して、詳細を表示します。

1. **[Connectivity & security**] (接続とセキュリティ) タブの **[Manage IAM roles]** (IAM ロールの管理) セクションで、次のいずれかを実行します。
   + **このクラスターに追加する IAM ロールを選択してください** (デフォルト)
   + **このクラスターに接続するサービスを選択してください**  
![\[IAM ロールを DB クラスターに関連付ける\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/AuroraAssociateIAMRole-02.png)

1. 既存の IAM ロールを使用するには、メニューからロールを選択し、**[Add role]** (ロールの追加) を選択します。

   ロールの追加に成功すると、そのステータスは `Pending`、`Available` の順に表示されます。

1. サービスに直接接続するには、以下を実行します。

   1. **[Select a service to connect to this cluster]** (このクラスターに接続するサービスを選択する) を選択します。

   1. メニューからサービスを選択し、**[Connect service]** (サービスに接続する) を選択します。

   1. **[Connect cluster to *Service Name*]** (クラスターをサービス名に接続する) で、サービスへの接続に使用する Amazon リソースネーム (ARN) を入力し、**[Connect service]** (サービスに接続する) を選択します。

   AWS は、サービスに接続するための新しい IAM ロールを作成します。そのステータスは `Pending`、次に `Available` と表示されます。

1. (オプション) DB クラスターへの IAM ロールの関連付けを中止し、関連するアクセス許可を削除するには、ロールの **[Delete]** (削除) を選択します。

**関連する IAM ロールにクラスターレベルのパラメータを設定するには**

1. RDS コンソールで、ナビゲーションペインの [**パラメータグループ**] を選択します。

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

   1. [**パラメータグループの作成**]を選択します。

   1. **[パラメータグループファミリー]** で、Aurora MySQL 8.0 互換の DB クラスターには `aurora-mysql8.0` を選択し、Aurora MySQL 5.7 互換の DB クラスターには `aurora-mysql5.7` を選択します｡

   1. [**タイプ**] で、[**DB クラスターのパラメータグループ**] を選択します。

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

   1. [**説明**] に、DB クラスターの新しいパラメータグループの説明を入力します。  
![\[DB クラスターのパラメータグループを作成する\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/AuroraAssociateIAMRole-03.png)

   1. [**作成**] を選択します。

1. [**パラメータグループ**] ページで、DB クラスターパラメータグループを選択して [**パラメータグループアクション**]、[**編集**] の順に選択します。

1. 適切なクラスターレベルの[パラメータ](#aurora_cluster_params_iam_roles)を、関連する IAM ロールの ARN 値に設定します。

   例えば、`aws_default_s3_role` パラメータを`arn:aws:iam::123456789012:role/AllowS3Access` に設定します。

1. [**変更の保存**] をクリックします。

1. DB クラスターの DB クラスターパラメータグループを変更するには、次のステップをすべて行います。

   1. [**データベース**] を選択後、Aurora DB クラスターを選択します。

   1. [**Modify**] を選択します。

   1. [**データベースの選択肢**] までスクロールし、[**DB クラスターのパラメータグループ**] を、DB クラスターのパラメータグループに設定します。

   1. [**続行**] を選択します。

   1. 変更を確認し、[**すぐに適用**] を選択します。

   1. [**クラスタークラスターの変更**] を選択します。

   1. [**データベース**] を選択後、DB クラスターのプライマリインスタンスを選択します。

   1. [**アクション**] で、[**再起動**] を選択します。

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

      クラスターのパラメータグループの詳細については、「[Aurora MySQL 設定パラメータ](AuroraMySQL.Reference.ParameterGroups.md)」を参照してください。

## CLI
<a name="AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.CLI"></a>

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

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

   ```
   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
   ```

1. DB クラスターのデフォルトのパラメータグループを使用している場合は、DB クラスターの新しいパラメータグループを作成します。カスタム DB パラメータグループをすでに使用している場合は、DB クラスターの新しいパラメータグループを作成する代わりに、そのグループを使用できます。

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

   ```
   PROMPT> aws rds create-db-cluster-parameter-group  --db-cluster-parameter-group-name AllowAWSAccess \
        --db-parameter-group-family aurora5.7 --description "Allow access to Amazon S3 and AWS Lambda"
   ```

   Aurora MySQL 5.7 互換 DB クラスターの場合は、`aurora-mysql5.7` に `--db-parameter-group-family` を指定します。Aurora MySQL 8.0 互換 DB クラスターの場合は、`--db-parameter-group-family` に `aurora-mysql8.0` を指定します。

1. 以下に示すように、適切なクラスターレベルの単一あるいは複数のパラメータと関連する IAM ロールの ARN 値を DB クラスターのパラメータグループに設定します。

   ```
   PROMPT> aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name AllowAWSAccess \
       --parameters "ParameterName=aws_default_s3_role,ParameterValue=arn:aws:iam::123456789012:role/AllowAuroraS3Role,method=pending-reboot" \
       --parameters "ParameterName=aws_default_lambda_role,ParameterValue=arn:aws:iam::123456789012:role/AllowAuroraLambdaRole,method=pending-reboot"
   ```

1. 以下に示すように、DB クラスターの新しいパラメータグループを使うように DB クラスターを変更し、クラスターを再起動します。

   ```
   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 クラスターに関連付けられています。

   クラスターのパラメータグループの詳細については、「[Aurora MySQL 設定パラメータ](AuroraMySQL.Reference.ParameterGroups.md)」を参照してください。