Amazon DynamoDB
開発者ガイド (API バージョン 2012-08-10)

DAX のサービスにリンクされたロールの使用

DAX は、AWS Identity and Access Management (IAM) サービスにリンクされたロールを使用します。サービスにリンクされたロールは、DAX に直接リンクされた一意のタイプの IAM ロールです。サービスにリンクされたロールは、DAX による事前定義済みのロールであり、ユーザーに代わってサービスから AWS の他のサービスを呼び出すために必要なすべてのアクセス権限を備えています。

サービスにリンクされたロールを使用すると、必要なアクセス許可を手動で追加する必要がなくなるため、DAX の設定が簡単になります。DAX はこのサービスにリンクされたロールのアクセス許可を定義し、特に定義されている場合を除き、DAX のみがそのロールを引き受けます。定義されるアクセス権限には、信頼ポリシーやアクセス権限ポリシーなどがあり、そのアクセス権限ポリシーをその他の IAM エンティティにアタッチすることはできません。

ロールを削除するには、まず関連リソースを削除します。これにより、リソースへの意図しないアクセスによるアクセス許可の削除が防止され、DAX リソースは保護されます。

サービスにリンクされたロールをサポートする他のサービスについては、「IAM と連携する AWS サービス」を参照の上、「サービスにリンクされたロール」列が「はい」になっているサービスを検索してください。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、[はい] リンクを選択します。

DAX のサービスにリンクされたロールのアクセス許可

DAX では、サービスにリンクされたロールとして AWSServiceRoleForDAX を使用します。This role allows DAX to call AWS services on behalf of your DAX cluster。

重要

AWSServiceRoleForDAX サービスにリンクされたロールを使用すると、DAX クラスターの設定と維持管理が容易になります。ただし、事前に DynamoDB へのアクセス権を各クラスターに付与する必要があります。詳細については、「DAX での Identity and Access Management」を参照してください。

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 で自動的に作成されます。

重要

February 28, 2018 以前に DAX サービスを使用していた場合は、サービスにリンクされたロールのサポートが開始された時点で、DAX によって AWSServiceRoleForDAX ロールがアカウントに作成されています。詳細については、「IAM アカウントに新しいロールが表示される」を参照してください。

このサービスにリンクされたロールを削除した後で再度作成する必要が生じた場合は、同じ方法でアカウントにロールを再作成できます。インスタンスまたはクラスターを作成すると、サービスにリンクされたロールが再度 DAX で自動的に作成されます。

DAX のサービスにリンクされたロールの編集

DAX では、AWSServiceRoleForDAX サービスにリンクされたロールを編集することはできません。サービスにリンクされたロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、IAM を使用したロールの説明の編集はできます。詳細については、IAM ユーザーガイド の「サービスにリンクされたロールの編集」を参照してください。

DAX のサービスにリンクされたロールの削除

サービスにリンクされたロールが必要な機能またはサービスが不要になった場合には、そのロールを削除することをお勧めします。そうすることで、使用していないエンティティがアクティブにモニタリングされたり、メンテナンスされたりすることがなくなります。ただし、サービスにリンクされたロールを削除する前に、すべての DAX クラスターを削除する必要があります。

サービスにリンクされたロールのクリーンアップ

IAM を使用してサービスにリンクされたロールを削除するには、まずそのロールにアクティブなセッションがないことを確認し、そのロールで使用されているリソースをすべて削除する必要があります。

サービスにリンクされたロールが IAM コンソールでアクティブなセッションを持っているかどうかを確認するには

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  2. IAM コンソールのナビゲーションペインで [ロール] を選択します。次に、AWSServiceRoleForDAX ロールの名前 (チェックボックスではありません) を選択します。

  3. 選択したロールの [Summary] ページで、[Access Advisor] タブを選択します。

  4. [Access Advisor] タブで、サービスにリンクされたロールの最新のアクティビティを確認します。

    注記

    DAX で AWSServiceRoleForDAX ロールが使用されているかどうかが不明な場合は、このロールの削除を試みることができます。サービスでロールが使用されている場合、削除は失敗し、ロールが使用されているリージョンが表示されます。ロールが使用されている場合は、ロールを削除する前に DAX クラスターを削除する必要があります。サービスにリンクされたロールのセッションを取り消すことはできません。

AWSServiceRoleForDAX ロールを削除する場合は、最初にすべての DAX クラスターを削除する必要があります。

すべての DAX クラスターの削除

各 DAX クラスターを削除するには、以下のいずれかの手順を使用します。

DAX クラスターを削除するには (コンソール)

  1. https://console.aws.amazon.com/dynamodb/ にある DynamoDB コンソールを開きます。

  2. ナビゲーションペインの見出し、[DAX] で [クラスター] を選択します。

  3. [アクション] を選択して、[削除] を選択します。

  4. [Delete cluster confirmation (クラスターの削除の確認)] ボックスで、[削除] を選択します。

DAX クラスターを削除するには (AWS CLI)

AWS CLI Command Reference の「delete-cluster」を参照してください。

DAX クラスターを削除するには (API)

Amazon DynamoDB API Reference の「DeleteCluster」を参照してください。

サービスにリンクされたロールの削除

IAM を使用して、サービスにリンクされたロールを手動で削除するには

IAM コンソール、IAM CLI、または IAM API を使用して、AWSServiceRoleForDAX サービスにリンクされたロールを削除します。詳細については、『IAM ユーザーガイド』の「サービスにリンクされたロールの削除」を参照してください。