Suga
July 25, 2024, 12:39am
1
GroupNameを使用してRLSルールを適用しようとしておりますが、ルール数が999を超える可能性があります。
999を超える場合にはどのような対処方法がありますでしょうか。
RLSルールを適用する対象のデータセットを分割する以外に方法があれば、ご教示いただけますと幸いです。
ユーザーごとに適用されるルールレコードの完全なセットは、999 を超えないようにしてください。この制限は、ユーザーネームに直接割り当てられるルールと、グループ名を使用してユーザーに割り当てられるルールの総数に適用されます。
@Suga 様
ご質問ありがとうございます。状況確認させてください。
RLS に関するドキュメント[1]に記載のある「ユーザーごとに適用されるルールレコードの完全なセット」ですが、1 ユーザーに対して、ルールレコード 1 行が 1 つのセットとしてカウントされるものであります。当該制限はあくまで各ユーザーに対して適用されるルールレコードの総数に対して課されるものであり、RLS 用データセット内のルールレコードの総数に対する制約ではございません。つまりRLSルール数について制限はないが1ユーザーに対してのルール数の付与制限が999となります。また、今回のようにGroupNameを利用する場合は、指定したグループに所属するユーザーごとにルールレコードがカウントされますため、例えば「group01」と「group02」に、「user01」が所属していた場合には、「user01」のルール数は2 行のルールレコードがカウントされます。ドキュメント[1]の通り、あくまでユーザーごとに適用される制限となります。
上記考慮して質問ですが1ユーザーあたりのRLSルール数が999を超えそうということでしょうか。
[1]データセットへのアクセスを制限するためのユーザーベースのルールでの行レベルのセキュリティ (RLS) の使用 - Amazon QuickSight
Suga
July 25, 2024, 10:33pm
3
@murackey
ご回答ありがとうございます。
1ユーザ当たりのルール数の上限が999で、データセット内のルール数には上限がない点承知いたしました。
ただ、下記ドキュメントですとデータセット内のルール総数が999を超えてはいけないように読み取れるのですが、データセット内のルール総数に上限はないという理解で間違いないでしょうか?
If a dataset contains too many rules, then even if you successfully applied RLS, restricted users can still see all the data. To resolve this issue, make sure that your dataset contains only 999 or fewer rules. If you restrict users by UserName and have more than 999 users in your dataset rule, then create QuickSight groups. Add the users to the groups, and use GroupName instead of UserName in the dataset rule.
Wakana
July 25, 2024, 10:57pm
4
@Suga
ご提示いただいたドキュメントの上部に、RLSの制限事項として以下の記述があり、999はユーザー単位のルール数の制限値であることが明記されています。
The full set of rule records that are applied per user can’t exceed 999. Datasets with more than 999 rules might fail to apply RLS rules to the dataset.
999を超えるルールが適用されてしまうと、RLSルールの適用自体は正常に稼働しなくなる可能性があることも明記されており、ご指摘いただいた文章の内容と合致します。
Suga
July 25, 2024, 11:27pm
5
@Wakana
ご回答ありがとうございます。
ユーザ単位のルール数の上限(999個まで)だけでなく、データセット内のルール総数にも上限がある(999個まで)ということで承知致しました。
データセット内のルール総数の上限を超える場合に、ルール適用対象のデータセットを分割する以外になにか対処方法はございますでしょうか?
Wakana
July 26, 2024, 7:34am
6
@Suga
999はユーザ単位のルール数の上限で、データセット内のルール総数にはではありません。データセット内のルール総数の上限はありません。以下の文章の999は、前文で明記したデータセット内のユーザ単位でのルール数を指しています。
Datasets with more than 999 rules might fail to apply RLS rules to the dataset.
したがって、ユーザー単位で999を超えるルールを設定しているかどうかだけをご留意いただければと思います。
2 Likes
Suga
August 1, 2024, 12:48am
7
@Wakana
ご回答誠にありがとうございます。
ユーザ単位のルール数上限のみで、データセット内のルール総数に上限はないこと承知いたしました。
1 Like