ロール階層
ロールとは、ユーザーまたは別のロールに割り当てることができるアクセス許可の集合です。ロールには、システムまたはデータベースへのアクセス許可を割り当てることができます。ユーザーは、割り当てられたロールのアクセス許可を継承します。
RBAC では、ネストされたロールをユーザーに付与できます。ロールは、ユーザーとロールの両方に付与することが可能です。ユーザーにロールを付与すると、このロールに含まれるすべてのアクセス許可が、そのユーザーに対し承認されます。ユーザーにロール r1 を付与するとすれば、r1 が持つ権限がそのユーザーでも承認されます。このユーザーには r1 からのアクセス許可が与えられると同時に、すでに保持していた既存の許可も維持されます。
あるロール (r1) を別のロール (r2) に付与する場合、r1 のすべてのアクセス許可が r2 においても承認されます。さらに、r2 を別のロール (r3) に付与すると、r3 には r1 と r2 の許可を組み合わせた許可が付与されます。このロール階層では、r1 からの許可が r2 に継承されています。Amazon Redshift は、アクセス許可とともに各ロールの認可を伝播します。r1 を r2 に付与し、r2 を r3 に付与すると、3 つのロールのすべてのアクセス許可が r3 において承認されます。したがって、ユーザーに r3 を付与することで、このユーザーには 3 つのロールからのすべてのアクセス許可が付与されます。
Amazon Redshift では、ロールの認可サイクルを作成することはできません。ロールの認可サイクルは、ネストされたロールがロール階層で前の段階にあるロールに割り当てられる場合に発生します。例えば、ここで r3 を r1 に割り当てる場合がこれに相当します。IAM ロールを作成し、ロールの割り当てを管理する方法の詳細については「RBAC でのロールの管理」を参照してください。