DAX のサービスにリンクされた IAM ロールの使用
この Amazon DynamoDB Accelerator (DAX) では、AWS Identity and Access Management (IAM) のサービスにリンクされたロールが使用されます。サービスにリンクされたロールは、DAX に直接リンクされた一意のタイプの IAM ロールです。サービスにリンクされたロールは、DAX で事前定義されており、ユーザーの代わりに必要なサービスから他の AWS のサービスを呼び出すための、すべてのアクセス許可が付与されています。
サービスにリンクされたロールを使用することで、必要なアクセス許可を手動で追加する必要がなくなるため、DAX の設定が簡単になります。サービスにリンクされたロールのアクセス許可は DAX により定義され、他に特別な定義がある場合を除き、DAX のみがそのロールを引き受けることができます。定義されたアクセス権限には、信頼ポリシーとアクセス権限ポリシーが含まれます。このアクセス許可ポリシーを他の IAM エンティティにアタッチすることはできません。
ロールを削除するには、まず関連リソースを削除します。これにより、DAX リソースに対するアクセス権限が意図せずに削除されることがなくなり、リソースを保護できます。
サービスにリンクされたロールをサポートしているその他のサービスの詳細については、IAM ユーザーガイドの「IAM と連携する AWS のサービス」を参照してください。[サービスにリンクされたロール] 列が [はい] になっているサービスを見つけます。該当するサービスにリンクされたロールに関するドキュメントを表示するには、[あり] リンクを選択します。
DAX のサービスにリンクされたロールにおけるアクセス許可
DAX では、AWSServiceRoleForDAX
という名前のサービスにリンクされたロールを使用します。このロールにより、ユーザーの DAX クラスターに代わってサービスを呼び出すことを、DAX に許可します。
重要
サービスにリンクされたロール AWSServiceRoleForDAX
により、DAX クラスターのセットアップと保守が簡単になります。ただし、このロールを使用する前に、各クラスターに DynamoDB へのアクセス許可を付与する必要があります。詳細については、「」を参照してくださいDAX のアクセスコントロール
AWSServiceRoleForDAX
サービスリンクロールは、ロールの引き受けについて以下のサービスを信頼します。
-
dax.amazonaws.com
ロールのアクセス許可ポリシーは、DAX に対し、指定したリソースで以下のアクションを実行することを許可します。
-
ec2
でのアクション:-
AuthorizeSecurityGroupIngress
-
CreateNetworkInterface
-
CreateSecurityGroup
-
DeleteNetworkInterface
-
DeleteSecurityGroup
-
DescribeAvailabilityZones
-
DescribeNetworkInterfaces
-
DescribeSecurityGroups
-
DescribeSubnets
-
DescribeVpcs
-
ModifyNetworkInterfaceAttribute
-
RevokeSecurityGroupIngress
-
サービスにリンクされたロールの作成、編集、削除を IAM エンティティ (ユーザー、グループ、ロールなど) に許可するには、アクセス許可を設定する必要があります。詳細については、IAM ユーザーガイドの「サービスにリンクされたロールの許可」を参照してください。
IAM エンティティが AWSServiceRoleForDAX サービスにリンクされたロールを作成するには
以下のポリシーステートメントを IAM エンティティのアクセス許可に追加します。
{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": {"StringLike": {"iam:AWSServiceName": "dax.amazonaws.com"}} }
DAX でサービスにリンクされたロールの作成
サービスにリンクされたロールを手動で作成する必要はありません。サービスにリンクされたロールは、クラスターの作成時に DAX により自動的に作成されます。
重要
2018 年 2 月 28日より前に DAX サービスを使用していた場合は、サービスにリンクされたロールのサポートが開始された時点で、AWSServiceRoleForDAX
ロールが DAX によってアカウントに作成されています。詳細については、IAM ユーザーガイドの「AWS アカウントに新しいロールが表示される」を参照してください。
サービスにリンクされたこのロールを削除したが、再作成する必要がある場合は、同じプロセスで、アカウントにロールを再作成することができます。インスタンスまたはクラスターを作成するたびに、(ユーザーに代わり) DAX により、サービスにリンクされたロールが再作成されます。
DAX のサービスにリンクされたロールの編集
DAX では、サービスにリンクされたロール AWSServiceRoleForDAX
を編集することはできません。サービスにリンクされたロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、IAM を使用したロールの説明の編集はできます。詳細については、「IAM ユーザーガイド」の「サービスにリンクされたロールの編集」を参照してください。
DAX でサービスにリンクされたロールの削除
サービスリンクロールを必要とする機能またはサービスが不要になった場合には、そのロールを削除することをお勧めします。そうすることで、積極的にモニタリングまたは保守されていない未使用のエンティティを排除できます。ただし、サービスにリンクされたロールを削除する前に、すべての DAX クラスターを削除する必要があります。
サービスにリンクされたロールのクリーンアップ
IAM を使用してサービスにリンクされたロールを削除するには、まずそのロールにアクティブなセッションがないことを確認し、そのロールで使用されているリソースをすべて削除する必要があります。
サービスにリンクされたロールにアクティブなセッションがあるかどうかを、IAM コンソールで確認するには
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
IAM コンソールのナビゲーションペインで [ロール] を選択します。次に、AWSServiceRoleForDAX ロールの名前 (チェックボックスではありません) を選択します。
-
選択したロールの [Summary] ページで、[Access Advisor] タブを選択します。
-
[Access Advisor] タブで、サービスにリンクされたロールの最新のアクティビティを確認します。
注記
DAX で
AWSServiceRoleForDAX
ロールが使用されているかどうかが不明な場合は、このロールの削除を試みることができます。サービスがロールを使用している場合、削除は失敗し、ロールが使用されているリージョンを表示できます。ロールが使用されている場合は、そのロールを削除する前に DAX クラスターを削除する必要があります。サービスにリンクされたロールのセッションを取り消すことはできません。
AWSServiceRoleForDAX
ロールを削除する場合は、最初にすべての DAX クラスターを削除する必要があります。
すべての DAX クラスターの削除
以下のいずれかの手順を使用して、各 DAX クラスターを削除します。
DAX クラスターを削除するには (コンソール)
DynamoDB コンソール (https://console.aws.amazon.com/dynamodb/
) を開きます。 ナビゲーションペインの、[DAX] で、[クラスター]を選択します。
[アクション] を選択し、[削除] を選択します。
[Delete cluster confirmation (クラスターの削除の確認)] ボックスで、[削除] を選択します。
DAX クラスターを削除するには (AWS CLI)
AWS CLI コマンドリファレンスの「delete-cluster」を参照してください。
DAX クラスターを削除するには (API)
「Amazon DynamoDB API リファレンス」の「DeleteCluster」を参照してください。
サービスにリンクされたロールの削除
IAM を使用して、サービスにリンクされたロールを手動で削除するには
AWSServiceRoleForDAX
サービスにリンクされたロールを削除するには、IAM コンソール、IAM CLI、または IAM API を使用します。詳細については、IAM ユーザーガイドの「サービスにリンクされたロールの削除」を参照してください。