@saicharan1
I believe there is a simpler approach for this use case.
The key point is that Default Interactive Compute and Default Automated Compute appear to be workspace-level Serverless Compute resources. Therefore, rather than using the account-level account_access_control_proxy Rule Set APIs, the more appropriate approach seems to be managing access through the workspace-level Permissions API using the serverless-compute object type.
Conceptually, the process would involve connecting to each Databricks workspace and identifying the built-in Serverless Compute resource, such as Default Interactive Compute or Default Automated Compute. Once the corresponding Serverless Compute object ID is identified, the workspace-level Permissions API can be used with the serverless-compute object type to assign the required CAN_USE permission to the relevant groups.
For example, the automation would need to:
1. Connect to each Databricks workspace.
2. Identify the Default Interactive Compute and/or Default Automated Compute resource.
3. Obtain the corresponding Serverless Compute object ID.
4. Use the workspace Permissions API with the serverless-compute object type.
5. Grant CAN_USE to the required groups.
The main challenge, however, is step 3. While the permission assignment itself appears relatively straightforward once the object ID is available, it is not clear from the documentation which API or SDK method should be used to discover the IDs for the built-in Default Interactive Compute and Default Automated Compute resources programmatically.
This is also why account_access_control_proxy is somewhat confusing in this scenario. The APIs exposed through that interface are account-oriented and require a resource name, but it is not clear whether the built-in Serverless Compute resources are exposed through those APIs or how their resource names can be discovered.
Since the Default Interactive Compute and Default Automated Compute resources are available separately within each workspace, the permission configuration appears to be workspace-specific, even if the groups being assigned are account-level groups.
Therefore, for automation across multiple workspaces, the expected approach would be to iterate through each workspace and apply the required permissions individually. However, to fully automate this, it would be very helpful to have a supported and documented way to discover the Serverless Compute resources and their associated object IDs.
If anyone from Databricks can clarify the supported API or SDK method for discovering these built-in Serverless Compute resources programmatically, that would help us complete the automation without relying on manually obtained IDs from the UI.