DSE Sparkアプリケーションのパーミッションの設定
Sparkアプリケーションの送信、管理、使用を許可します。
手順
CQLシェル(cqlsh)を使用して、DSE Resource Manager(DSEリソース・マネージャー)およびSparkアプリケーションへのアクセス権限を管理します。すべてのコマンドは、クラスター内のDSE Analyticsノードで入力する必要があります。
-
AlwaysOn SQLロールに必要なアクセス:
GRANT ALL PERMISSIONS ON REMOTE OBJECT AlwaysOnSqlRoutingRPC to role_name; GRANT ALL PERMISSIONS ON REMOTE OBJECT DseResourceManager TO role_name; GRANT ALL PERMISSIONS ON REMOTE OBJECT DseClientTool TO role_name; GRANT SELECT, MODIFY ON dse_analytics.alwayson_sql_cache_table TO role_name; GRANT SELECT, MODIFY ON dse_analytics.alwayson_sql_info TO role_name;
-
DSE Resource Manager(DSEリソース・マネージャー)のみへのアクセス:
GRANT EXECUTE ON REMOTE OBJECT DseResourceManager TO role_name;
-
アプリケーションの実行:
GRANT EXECUTE ON REMOTE OBJECT DseClientTool TO role_name
注: DSE Analyticsユーザーにはそれぞれ、DSEクライアント・ツールを使用してリモート・プロシージャ・コールを実行するためのパーミッションが付与されている必要があります。 -
スーパーユーザー以外のロールの場合、以下のテーブルへのアクセスが必要です。
AlwaysOn SQLを実行する場合、追加のパーミッションが必要です。GRANT SELECT ON system.size_estimates TO role_name; GRANT SELECT, MODIFY ON "HiveMetaStore".sparkmetastore TO role_name;
GRANT SELECT, MODIFY ON dse_analytics.alwayson_sql_cache_table TO role_name;
-
アプリケーションの送信:
- すべてのデータ・センターへ:
GRANT CREATE ON ANY WORKPOOL TO role_name;
ヒント: revokeコマンドを使用してアクセスを削除します。REVOKE CREATE ON ANY WORKPOOL FROM role_name;
- 特定のデータ・センターへ:
GRANT CREATE ON WORKPOOL datacenter_name TO role_name;
ヒント: revokeコマンドを使用してアクセスを削除します。REVOKE CREATE ON WORKPOOL datacenter_name FROM role_name;
注: アプリケーションを送信するために使用されるロールは、アプリケーションを変更(MODIFY)するための自動的に付与されるパーミッションです。 - すべてのデータ・センターへ:
-
アプリケーションを変更します。
- すべてのアプリケーション:
GRANT MODIFY ON ANY SUBMISSION TO role_name;
ヒント: revokeコマンドを使用してアクセスを削除します。REVOKE MODIFY ON ANY SUBMISSION FROM role_name;
- 特定のデータ・センター内のすべてのアプリケーション:
GRANT MODIFY ON ANY SUBMISSION IN WORKPOOL datacenter_name TO role_name;
ヒント: revokeコマンドを使用してアクセスを削除します。REVOKE MODIFY ON ANY SUBMISSION IN WORKPOOL datacenter_name FROM role_name;
- 特定のデータ・センター内の特定のアプリケーション:
GRANT MODIFY ON SUBMISSION id IN WORKPOOL datacenter_name TO role_name;
ヒント: revokeコマンドを使用してアクセスを削除します。REVOKE MODIFY ON SUBMISSION id IN WORKPOOL datacenter_name FROM role_name;
- すべてのアプリケーション:
-
DSE GraphFramesの使用:
GRANT EXECUTE ON REMOTE OBJECT DseGraphRpc TO role_name;
例
CREATE ROLE alwayson_sql WITH LOGIN=true; // role name matches auth_user // Required if scheme_permissions true GRANT EXECUTE ON ALL AUTHENTICATION SCHEMES TO alwayson_sql; // Spark RPC settings GRANT ALL PERMISSIONS ON REMOTE OBJECT DseResourceManager TO alwayson_sql; GRANT ALL PERMISSIONS ON REMOTE OBJECT DseClientTool TO alwayson_sql; GRANT ALL PERMISSIONS ON REMOTE OBJECT AlwaysOnSqlRoutingRPC to alwayson_sql; // Spark and DSE required table access GRANT SELECT ON system.size_estimates TO alwayson_sql; GRANT SELECT, MODIFY ON "HiveMetaStore".sparkmetastore TO alwayson_sql; GRANT SELECT, MODIFY ON dse_analytics.alwayson_sql_cache_table TO alwayson_sql; GRANT SELECT, MODIFY ON dse_analytics.alwayson_sql_info TO alwayson_sql; // Permissions to create and change applications GRANT CREATE, DESCRIBE ON ANY WORKPOOL TO alwayson_sql; GRANT MODIFY, DESCRIBE ON ANY SUBMISSION TO alwayson_sql;