アクセス制御: データベース上の REFERENCE_USAGE をロールに付与することは不許可に

注意

この動作変更は2023_02バンドルにあります。

バンドルの現在のステータスについては、 バンドル履歴 をご参照ください。

REFERENCE_USAGE 権限を付与する動作が次のように変更されました。

以前

REFERENCE_USAGE 権限は、データベースに対して個別に、一連の権限で、またはロールオブジェクトに対するすべての権限とともに付与できます。例:

grant reference_usage on database mydb to role r1;
grant modify, reference_usage on database mydb to role r1;
grant all privileges on database mydb to role r1;
Copy

SHOW GRANTS コマンドの出力には、各付与に対する REFERENCE_USAGE 権限の行が含まれていました。

現在

REFERENCE_USAGE 権限は、データベース上でロールオブジェクトに付与できません。この権限は共有オブジェクトにのみ付与できます。

ユーザーが REFERENCE_USAGE 権限を個別に付与しようとすると、Snowflakeは次のエラー メッセージを返します。

REFERENCE_USAGE ON DATABASE can only be granted to share(s).

ユーザーが一連の権限の中で REFERENCE_USAGE 権限を指定するか、データベースに対するすべての権限を付与しようとすると、Snowflakeは次のメッセージを返します。

Grant partially executed: privileges [REFERENCE_USAGE] not granted.

Snowflakeは、付与できる権限を許可し、 REFERENCE_USAGE 権限の付与を禁止します。

SHOW GRANTS コマンドの出力には、データベースに対する REFERENCE_USAGE 権限をロールオブジェクトに付与するための行が含まれません。

参照: 944