BYOR Policies
Learn about the policies required to use Bring Your Own Reservations (BYOR).
Your administrator must configure the required IAM policies before Data Science workloads can use customer-managed reservations.
Policy Requirements
| Policy Category | Required |
|---|---|
| Endorse Statements | Yes |
| Capacity Reservation Permissions | Yes |
| Compute Management Service Permissions | Yes |
| Service-Managed Networking Permissions | Required when using service-managed networking |
| Custom Networking Permissions | Required when using custom networking |
| AQUA Dynamic Group Permissions | Optional |
Endorse Statements
Use the following endorse statements:
Define tenancy DataScienceTenancy as DATA_SCIENCE_TENANCY
Define tenancy DataScienceManagedEgressTenancy as DATA_SCIENCE_MANAGED_EGRESS_TENANCY Note
Oracle provides the tenancy details and up-to-date policies during onboarding.
Oracle provides the tenancy details and up-to-date policies during onboarding.
Endorse any-user to { INSTANCE_CONFIGURATION_CREATE, INSTANCE_CONFIGURATION_DELETE, INSTANCE_CONFIGURATION_INSPECT, INSTANCE_CONFIGURATION_LAUNCH, INSTANCE_CONFIGURATION_MOVE, INSTANCE_CONFIGURATION_READ, INSTANCE_CONFIGURATION_UPDATE, INSTANCE_POOL_CREATE, INSTANCE_POOL_DELETE, INSTANCE_POOL_INSTANCE_ATTACH, INSTANCE_POOL_INSTANCE_DETACH, INSTANCE_POOL_INSPECT, INSTANCE_POOL_INSTANCE_TERMINATION_PROCEED, INSTANCE_POOL_MOVE, INSTANCE_POOL_POWER_ACTIONS, INSTANCE_POOL_READ, INSTANCE_POOL_UPDATE, INSTANCE_CREATE, INSTANCE_DELETE, INSTANCE_INSPECT, INSTANCE_MOVE, INSTANCE_READ, INSTANCE_UPDATE, INSTANCE_IMAGE_READ, INSTANCE_IMAGE_INSPECT, INSTANCE_ATTACH_VOLUME, INSTANCE_DETACH_VOLUME, INSTANCE_DELETE_VOLUME } in tenancy DataScienceTenancy where ALL { request.principal.type in ('datasciencemodeldeploymentvrp','datasciencejobrunvrp', 'datasciencenotebooksessionvrp'), target.resource.tag.datascience.vrp-id = request.principal.id }
Endorse any-user to { VOLUME_CREATE, VOLUME_DELETE, VOLUME_INSPECT, VOLUME_MOVE, VOLUME_UPDATE, VOLUME_WRITE, VOLUME_ATTACHMENT_CREATE, VOLUME_ATTACHMENT_DELETE, VOLUME_ATTACHMENT_INSPECT, VOLUME_ATTACHMENT_READ, VOLUME_ATTACHMENT_UPDATE } in tenancy DataScienceTenancy where ALL { request.principal.type in ('datasciencemodeldeploymentvrp', 'datasciencejobrunvrp', 'datasciencenotebooksessionvrp'), target.resource.tag.datascience.vrp-id = request.principal.id }
# primary subnet
Endorse any-user to { SUBNET_READ, SUBNET_ATTACH, SUBNET_DETACH } in tenancy DataScienceTenancy where ALL { request.principal.type in ('datasciencemodeldeploymentvrp', 'datasciencejobrunvrp', 'datasciencenotebooksessionvrp'), target.resource.tag.dataplane.vrp-access = request.principal.type }
# primary VNIC
Endorse any-user to { VNIC_ATTACH, VNIC_CREATE, VNIC_DELETE, VNIC_DETACH, VNIC_READ, VNIC_ATTACHMENT_READ, INSTANCE_ATTACH_SECONDARY_VNIC, INSTANCE_DETACH_SECONDARY_VNIC } in tenancy DataScienceTenancy where ALL { request.principal.type in ('datasciencemodeldeploymentvrp', 'datasciencejobrunvrp', 'datasciencenotebooksessionvrp'), target.resource.tag.datascience.vrp-id = request.principal.id }
# service managed secondary VNIC Subnet (all workloads of a given type share the same egress subnet)
Endorse any-user to { SUBNET_READ, SUBNET_ATTACH, SUBNET_DETACH } in tenancy DataScienceManagedEgressTenancy where all {request.principal.type in ('datasciencemodeldeploymentvrp', 'datasciencejobrunvrp', 'datasciencenotebooksessionvrp'), target.resource.tag.dataplane.vrp-access = resource.principal.type }
# service managed secondary VNIC
Endorse any-user to { VNIC_ATTACH, VNIC_CREATE, VNIC_DELETE, VNIC_DETACH, VNIC_READ, VNIC_ATTACHMENT_READ, INSTANCE_ATTACH_SECONDARY_VNIC, INSTANCE_DETACH_SECONDARY_VNIC } in tenancy DataScienceManagedEgressTenancy where ALL { request.principal.type in ('datasciencemodeldeploymentvrp', 'datasciencejobrunvrp', 'datasciencenotebooksessionvrp'), target.resource.tag.datascience.vrp-id = request.principal.id }
Allow Statements
For Custom networking, use the given allow statements. If the workload uses a subnet in your VCN then add the following policies:
# secondary VNIC
Allow any-user to { VNIC_ATTACH, VNIC_CREATE, VNIC_DELETE, VNIC_DETACH, VNIC_READ, VNIC_ATTACHMENT_READ, INSTANCE_ATTACH_SECONDARY_VNIC, INSTANCE_DETACH_SECONDARY_VNIC } in tenancy where ALL {request.principal.type in ('datasciencemodeldeploymentvrp', 'datasciencejobrunvrp', 'datasciencenotebooksessionvrp'), target.resource.tag.datascience.vrp-id = request.principal.id}
# secondary VNIC subnet
Allow any-user to { SUBNET_READ, SUBNET_ATTACH, SUBNET_DETACH } in tenancy where ALL {request.principal.type in ('datasciencemodeldeploymentvrp', 'datasciencejobrunvrp', 'datasciencenotebooksessionvrp'), request.principal.subnet.id = target.resource.subnet.id}# Capacity Reservation
Allow any-user to { CAPACITY_RESERVATION_INSPECT, CAPACITY_RESERVATION_LAUNCH_INSTANCE, CAPACITY_RESERVATION_READ } in tenancy where ALL { request.principal.type in ('datasciencemodeldeploymentvrp', 'datasciencejobrunvrp', 'datasciencenotebooksessionvrp') }
Allow service compute_management to {CAPACITY_RESERVATION_LAUNCH_INSTANCE} in compartment <compartment>
Allow service datascience to {CAPACITY_RESERVATION_READ} in compartment <compartment>
Allow group <group_name> to use compute-capacity-reservations in compartment <compartment>
# AQUA
Allow dynamic-group <DataScienceAquaDynamicGroup> to use compute-capacity-reservations in compartment <compartment>Policy Explanation
- Endorse statements allow Data Science resource principals to create and manage service infrastructure.
- Capacity reservation permissions allow Data Science workloads to consume the specified reservation.
- Service-managed networking permissions are required when using the default networking option.
- Custom networking permissions are required when using customer-managed networking.
- Compute Management service permissions are required for Model Deployments that use instance pools.
- AQUA dynamic group permissions enable reservation selection when creating model deployments through AI Quick Actions.
For more information, see Managing Policies.