Amazon Redshift
クラスター管理ガイド

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

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

サービスにリンクされたロールを使用することで、必要なアクセス権限を手動で追加する必要がなくなるため、Amazon Redshift の設定が簡単になります。このロールは、Amazon Redshift ユースケースにリンクされており、事前定義されたアクセス許可があります。Amazon Redshift のみがロールを引き受けることができ、サービスにリンクされたロールのみが事前定義されたアクセス権限のポリシーを使用できます。クラスターをはじめて作成する場合は、Amazon Redshift によって、サービスにリンクされたロールがアカウントに作成されます。このサービスにリンクされたロールを削除するには、アカウントの Amazon Redshift クラスターをすべて削除する必要があります。これにより、不注意で Amazon Redshift リソースへのアクセスに必要なアクセス許可の削除が防止され、このリソースは保護されます。

Amazon Redshift は、サービスを利用できるすべてのリージョンで、サービスにリンクされたロールの使用をサポートします。詳細については、「AWS Regions and Endpoints」を参照してください。

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

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

Amazon Redshift では、サービスにリンクされたロールとして AWSServiceRoleForRedshift – Allows Amazon Redshift to call AWS services on your behalf を使用します。

AWSServiceRoleForRedshift サービスにリンクされたロールは、ロールを引き受ける上で redshift.amazonaws.com のみを信頼します。

AWSServiceRoleForRedshift サービスにリンクされたロールのアクセス権限ポリシーでは、Amazon Redshift はすべての関連リソースで以下のことを実行することができます。

  • ec2:DescribeVpcs

  • ec2:DescribeSubnets

  • ec2:DescribeNetworkInterfaces

  • ec2:DescribeAddress

  • ec2:AssociateAddress

  • ec2:DisassociateAddress

  • ec2:CreateNetworkInterface

  • ec2:DeleteNetworkInterface

  • ec2:ModifyNetworkInterfaceAttribute

IAM エンティティが AWSServiceRoleForRedshift サービスにリンクされたロールを作成することを許可するには

以下のポリシーステートメントを IAM エンティティのアクセス許可に追加します。

{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::<AWS-account-ID>:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift", "Condition": {"StringLike": {"iam:AWSServiceName": "redshift.amazonaws.com"}} }

IAM エンティティが AWSServiceRoleForRedshift サービスにリンクされたロールを削除することを許可するには

以下のポリシーステートメントを IAM エンティティのアクセス許可に追加します。

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::<AWS-account-ID>:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift", "Condition": {"StringLike": {"iam:AWSServiceName": "redshift.amazonaws.com"}} }

または、AWS 管理ポリシーを使用して、Amazon Redshift にフルアクセスを付与することもできます。

のサービスにリンクされたロールの作成Amazon Redshift

AWSServiceRoleForRedshift サービスにリンクされたロールを手動で作成する必要はありません。Amazon Redshift は、お客様のサービスにリンクされたロールを作成します。AWSServiceRoleForRedshift サービスにリンクされたロールがアカウントより削除されている場合は、新しい Amazon Redshift クラスターを起動すると、Amazon Redshift によってロールが作成されます。

重要

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

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

Amazon Redshift では、AWSServiceRoleForRedshift サービスにリンクされたロールを編集することはできません。サービスにリンクされたロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、ロールの説明は IAM コンソール、AWS コマンドラインインターフェイス (AWS CLI)、または IAM API を使用して編集することができます。詳細については、IAM ユーザーガイド の「ロールの修正」を参照してください。

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

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

アカウントのサービスにリンクされたロールを削除するには、アカウントのクラスターをシャットダウンし、削除する必要があります。詳細については、「クラスターのシャットダウンと削除」を参照してください。

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