Fleet Application Management Policies and Permissions
Create Identity and Access Management (IAM) policies to control who has access to Fleet Application Management resources and the type of access for each group of users.
Create policies for users to have necessary rights to the Fleet Application Management resources. By default, users in the Administrators
group have access to all the Fleet Application Management resources.
If you're new to IAM policies, see Getting Started with Policies.
For a complete list of all policies in Oracle Cloud Infrastructure, see the Policy Reference and Common Policies.
Fleet Application Management requires a tenancy administrator to add rules to the dynamic group that Fleet Application Management creates during onboarding. This action allows Fleet Application Management to perform lifecycle management operations on OCI Compute.
This section explains the following topics:
Resource Types and Permissions
List of Fleet Application Management resource types and associated permissions.
To assign permissions to all the OCI
Fleet Application Management resources, use the fams-family
aggregate type. For more information, see Permissions.
The following table lists all the resources in the fams-family
:
Family Name | Member Resources |
---|---|
fams-family |
|
A policy that uses <verb> fams-family
is equivalent to writing a policy with a separate <verb>
<resource-type>
statement for each of the individual resource types.
Resource Type | Permissions |
---|---|
fams-fleets |
|
fams-runbooks |
|
fams-schedules |
|
fams-schedule-jobs |
|
fams-maintenance-windows |
|
fams-admin |
|
fams-onboarding |
|
fams-workrequests |
|
fams-compliance-policies |
|
fams-patches |
|
fams-provisions |
|
fams-catalog-items |
|
fams-software-inventory |
|
fams-platform |
|
fams-properties |
|
Supported Variables
Fleet Application Management supports all the general variables and the ones listed here. For more information about general variables supported by Oracle Cloud Infrastructure services, see General Variables for All Requests.
Resource Type | Variable | Variable Type | Description |
---|---|---|---|
fams-fleets |
target.famsfleet.id |
Entity (OCID) | Use this variable for all fleet operations except create. |
fams-schedules |
target.famsschedulerdefinition.id |
Entity (OCID) | Use this variable for all schedule operations except create. |
fams-schedule-jobs |
target.famsschedulerjob.id |
Entity (OCID) | Use this variable for all schedule job operations except create. |
fams-maintenance-windows |
target.famsmaintenacewindow.id |
Entity (OCID) | Use this variable for all maintenance window operations except create. |
fams-runbooks |
target.famsrunbook.id
|
Entity (OCID) | Use these variables for runbook and runbook task operations except create. |
fams-admin |
target.famsproperty.id
|
Entity (OCID) | Use these variables for administration operations except create. |
fams-workrequests |
target.famsworkrequest.id |
Entity (OCID) | Use this variable for list and get operations. |
fams-compliance-policies |
target.famscompliancepolicy.id |
Entity (OCID) | Use this variable for all compliance policy operations except create. |
fams-patches |
target.famspatch.id |
Entity (OCID) | Use this variable for all patching operations except create. |
fams-catalog-items |
target.famscatalogitem.id |
Entity (OCID) | Use this variable for all catalog item operations except create. |
fams-provisions |
target.famsprovision.id |
Entity (OCID) | Use this variable for all provision operations except create. |
Details About Verb + Resource Type Combinations
Identify the permissions and API operations covered by each verb for Fleet Application Management resources.
The level of access is cumulative as you go from inspect
to read
to use
to manage
. A plus sign (+)
in a table cell indicates incremental access when compared to the preceding cell.
For information about granting access, see Permissions.
Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
---|---|---|---|
inspect | FAMS_FLEET_INSPECT
|
ListFleets
|
|
read |
|
|
CreateSchedulerDefinition (also needs FAMS_SCHEDULE_CREATE and FAMS_RUNBOOK_READ ) and the following depending on your requirements:
UpdateSchedulerDefinition (also needs FAMS_SCHEDULE_UPDATE and FAMS_RUNBOOK_READ ) and the following depending on your requirements:
|
use |
|
|
UpdateFleet (also needs FAMS_PLATFORM_READ ) and the following depending on your requirements:
UpdateFleetResource also needs the following depending on your requirements:
UpdateFleetCredential (also needs FAMS_PROPERTY_READ and VAULT_INSPECT ) and the following depending on your requirements:
|
manage |
|
|
CreateFleet (also needs FAMS_PLATFORM_READ and the following depending on your requirements:
CreateFleetResource also needs the following depending on your requirements:
CreateFleetCredential (also needs FAMS_PLATFORM_READ , VAULT_INSPECT , and the following depending on your requirements:
|
manage |
|
|
|
manage |
|
|
Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
---|---|---|---|
inspect |
FAMS_RUNBOOK_INSPECT |
ListRunbooks
|
|
read |
|
|
CreateSchedulerDefinition (also needs FAMS_SCHEDULE_CREATE and FAMS_FLEET_READ ) and the following depending on your requirements:
UpdateSchedulerDefinition (also needs FAMS_SCHEDULE_UPDATE and FAMS_FLEET_READ ) and the following depending on your requirements:
|
use |
|
|
UpdateTaskRecord also needs the following depending on your requirements:
|
manage |
|
|
CreateTaskRecord needs the following depending on your requirements:
|
manage |
|
|
|
manage |
|
|
Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
---|---|---|---|
inspect |
FAMS_SCHEDULE_INSPECT |
ListSchedulerDefinitions |
|
read |
|
|
|
use |
|
|
UpdateSchedulerDefinition (can also use FAMS_SCHEDULE_CREATE_WITH_SUDO , FAMS_FLEET_READ , and FAMS_RUNBOOK_READ ) and needs the following depending on your requirements:
|
manage |
|
|
CreateSchedulerDefinition (can also use FAMS_SCHEDULE_CREATE_WITH_SUDO and needs FAMS_RUNBOOK_READ and FAMS_FLEET_READ ) and the following depending on your requirements:
|
manage |
|
|
|
manage |
|
|
CreateSchedulerDefinition (can also use FAMS_SCHEDULE_CREATE and needs FAMS_RUNBOOK_READ and FAMS_FLEET_READ ) and the following depending on your requirements:
UpdateSchedulerDefinition ( can also use FAMS_SCHEDULE_UPDATE and needs FAMS_RUNBOOK_READ and FAMS_FLEET_READ ) and the following depending on your requirements:
|
Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
---|---|---|---|
inspect |
FAMS_SCHEDULE_JOB_INSPECT |
|
|
read |
|
|
|
use |
|
|
|
use |
|
|
|
manage |
|
|
|
Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
---|---|---|---|
inspect |
FAMS_MAINTENANCE_WINDOW_INSPECT |
ListMaintenanceWindows |
|
read |
|
|
|
use |
|
|
|
manage |
|
|
|
manage |
|
|
Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
---|---|---|---|
inspect |
FAMS_ADMIN_INSPECT |
|
|
read |
|
|
|
use |
|
|
UpdatePlatformConfiguration (can also use FAMS_PLATFORM_UPDATE ) and the following depending on your requirements:
|
manage |
|
|
CreatePlatformConfiguration (can also use FAMS_PLATFORM_CREATE ) and needs the following depending on your requirements:
|
manage |
|
|
|
manage |
|
|
|
Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
---|---|---|---|
inspect |
FAMS_ONBOARDING_INSPECT A regular user (not an administrator) must have this permission to access the tenancy. |
ListOnboardings
|
|
read |
|
|
|
use |
|
|
|
manage |
|
|
|
manage |
|
|
|
Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
---|---|---|---|
inspect |
FAMS_API_WORK_REQUEST_LIST |
ListWorkRequests |
|
read |
|
|
Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
---|---|---|---|
inspect |
FAMS_COMPLIANCE_POLICY_INSPECT |
|
|
read |
|
|
|
read |
|
|
|
use |
|
|
|
manage |
|
|
|
manage |
|
|
Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
---|---|---|---|
inspect |
FAMS_PATCH_INSPECT |
ListPatches |
|
read |
|
|
|
use |
|
|
|
manage |
|
|
|
manage |
|
|
|
manage |
|
|
Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
---|---|---|---|
inspect |
FAMS_PROVISION_INSPECT |
|
|
read |
|
|
|
use |
|
|
|
manage |
|
|
|
manage |
|
|
|
manage |
|
|
Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
---|---|---|---|
inspect |
FAMS_CATALOG_ITEM_INSPECT |
|
|
read |
|
|
CreateTaskRecord needs the following depending on your requirements:
UpdateTaskRecord also needs the following depending on your requirements:
|
use |
|
|
UpdateCatalogItem (also needs the following depending on your requirement):
|
manage |
|
|
CreateCatalogItem (also needs the following depending on your requirement):
|
manage |
|
|
|
manage |
|
|
|
manage |
|
CloneCatalogItem |
Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
---|---|---|---|
inspect |
FAMS_SOFTWARE_INVENTORY_INSPECT |
|
Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
---|---|---|---|
inspect |
FAMS_PLATFORM_INSPECT |
|
|
read |
|
|
CreateFleet (also needs FAMS_FLEET_CREATE and the following depending on your requirements:
UpdateFleet (also needs FAMS_FLEET_UPDATE ) and the following depending on your requirements:
CreateFleetCredential (also needs FAMS_FLEET_CREATE , VAULT_INSPECT , and the following depending on your requirements:
CreateTaskRecord needs the following depending on your requirements:
UpdateTaskRecord also needs the following depending on your requirements:
CreatePlatformConfiguration (can also use FAMS_PLATFORM_CREATE ) and needs the following depending on your requirements:
UpdatePlatformConfiguration (can also use FAMS_PLATFORM_UPDATE ) and the following depending on your requirements:
|
use |
|
|
UpdatePlatformConfiguration (can also use FAMS_ADMIN_UPDATE ) and the following depending on your requirements:
|
manage |
|
|
CreatePlatformConfiguration (can also use FAMS_ADMIN_CREATE ) and needs the following depending on your requirements:
|
manage |
|
|
|
manage |
|
|
|
Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
---|---|---|---|
inspect |
FAMS_PROPERTY_INSPECT |
|
|
read |
|
|
UpdateFleetCredential (also needs FAMS_FLEET_UPDATE and VAULT_INSPECT ) and the following depending on your requirements:
|
use |
|
|
|
manage |
|
|
|
manage |
|
|
|
manage |
|
|
|
Permissions Required for Each API Operation
The following table lists the API operations in a logical order, grouped by resource type.
For information about permissions, see Permissions.
API Operation | Permissions Required to Use the Operation |
---|---|
ListFleets
|
FAMS_FLEET_INSPECT |
GetFleet
|
FAMS_FLEET_READ |
CreateFleet
|
FAMS_FLEET_CREATE and FAMS_PLATFORM_READ and the following:
|
UpdateFleet
|
FAMS_FLEET_UPDATE and FAMS_PLATFORM_READ and the following:
|
DeleteFleet
|
FAMS_FLEET_DELETE |
ChangeFleetCompartment
|
FAMS_FLEET_MOVE |
ListInventoryResources
|
FAMS_FLEET_INSPECT |
ListFleetResources
|
FAMS_FLEET_INSPECT |
CreateFleetResource
|
FAMS_FLEET_CREATE and the following:
|
GetFleetResource
|
FAMS_FLEET_READ |
UpdateFleetResource |
FAMS_FLEET_UPDATE and the following:
|
DeleteFleetResource
|
FAMS_FLEET_DELETE |
ListFleetProperties
|
FAMS_FLEET_INSPECT |
CreateFleetProperty
|
FAMS_FLEET_CREATE and FAMS_PROPERTY_READ |
GetFleetProperty
|
FAMS_FLEET_READ |
UpdateFleetProperty
|
FAMS_FLEET_UPDAT and FAMS_PROPERTY_READ |
DeleteFleetProperty |
FAMS_FLEET_DELETE |
ConfirmTargets |
FAMS_FLEET_CREATE |
ListTargets |
FAMS_FLEET_INSPECT |
ListFleetTargets |
FAMS_FLEET_INSPECT |
ListFleetProducts |
FAMS_FLEET_INSPECT |
GetComplianceReport |
FAMS_FLEET_READ |
ListAnnouncements |
FAMS_ONBOARDING_INSPECT |
ListFleetCredentials |
FAMS_FLEET_INSPECT |
CreateFleetCredential |
FAMS_FLEET_CREATE , FAMS_PLATFORM_READ , and VAULT_INSPECT and the following:
|
GetFleetCredential |
FAMS_FLEET_READ |
UpdateFleetCredential |
FAMS_FLEET_UPDATE , FAMS_PROPERTY_READ , and VAULT_INSPECT and the following:
|
DeleteFleetCredential |
FAMS_FLEET_DELETE |
GenerateComplianceReport |
FAMS_FLEET_READ |
RequestTargetDiscovery |
FAMS_FLEET_CREATE |
RequestResourceValidation |
FAMS_FLEET_CREATE |
CheckResourceTagging |
FAMS_FLEET_CREATE |
ListRunbooks |
FAMS_RUNBOOK_INSPECT |
GetRunbook |
FAMS_RUNBOOK_READ |
CreateRunbook |
FAMS_RUNBOOK_CREATE , FAMS_RUNBOOK_READ , and FAMS_PLATFORM_READ also |
UpdateRunbook |
FAMS_RUNBOOK_UPDATE , FAMS_RUNBOOK_READ , and FAMS_PLATFORM_READ also |
DeleteRunbook |
FLEET_RUNBOOK_DELETE |
ChangeRunbookCompartment |
FAMS_RUNBOOK_MOVE |
PublishRunbook |
FAMS_RUNBOOK_PUBLISH |
ListRunbookVersions |
FLEET_RUNBOOK_INSPECT |
CreateRunbookVersion |
FLEET_RUNBOOK_CREATE , FAMS_RUNBOOK_READ , and FAMS_PLATFORM_READ also |
GetRunbookVersion |
FLEET_RUNBOOK_READ |
UpdateRunbookVersion |
FLEET_RUNBOOK_UPDATE , FAMS_RUNBOOK_READ , and FAMS_PLATFORM_READ also |
DeleteRunbookVersion |
FLEET_RUNBOOK_DELETE |
ListTaskRecords |
FAMS_RUNBOOK_INSPECT |
GetTaskRecord |
FAMS_RUNBOOK_READ |
CreateTaskRecord |
FAMS_RUNBOOK_CREATE and the following:
|
UpdateTaskRecord |
FAMS_RUNBOOK_UPDATE and the following:
|
DeleteTaskRecord |
FAMS_RUNBOOK_DELETE |
ChangeTaskRecordCompartment |
FAMS_RUNBOOK_MOVE |
ListMaintenanceWindows |
FAMS_MAINTENANCE_WINDOW_INSPECT |
CreateMaintenanceWindow |
FAMS_MAINTENANCE_WINDOW_CREATE |
GetMaintenanceWindow |
FAMS_MAINTENANCE_WINDOW_READ |
UpdateMaintenanceWindow |
FAMS_MAINTENANCE_WINDOW_UPDATE |
DeleteMaintenanceWindow |
FAMS_MAINTENANCE_WINDOW_DELETE |
CreateSchedulerDefinition |
(FAMS_SCHEDULE_CREATE or FAMS_SCHEDULE_CREATE_WITH_SUDO ), FAMS_FLEET_READ , and FAMS_RUNBOOK_READ and the following:
|
UpdateSchedulerDefinition |
(FAMS_SCHEDULE_UPDATE or FAMS_SCHEDULE_CREATE_WITH_SUDO ), FAMS_FLEET_READ , and FAMS_RUNBOOK_READ and the following:
|
DeleteSchedulerDefinition |
FAMS_SCHEDULE_DELETE |
ListSchedulerDefinitions |
FAMS_SCHEDULE_INSPECT |
GetSchedulerDefinition |
FAMS_SCHEDULE_READ |
DeleteSchedulerJob |
FAMS_SCHEDULE_DELETE or FAMS_SCHEDULE_JOB_DELETE |
ListSchedulerJobs |
FAMS_SCHEDULE_INSPECT or FAMS_SCHEDULE_JOB_INSPECT |
GetSchedulerJob |
FAMS_SCHEDULE_READ or FAMS_SCHEDULE_JOB_READ |
UpdateSchedulerJob |
FAMS_SCHEDULE_UPDATE , FAMS_SCHEDULE_JOB_UPDATE , or FAMS_SCHEDULE_CREATE_WITH_SUDO |
GetJobActivity |
FAMS_SCHEDULE_READ or FAMS_SCHEDULE_JOB_READ |
ManageJobExecution |
FAMS_SCHEDULE_UPDATE , FAMS_SCHEDULE_JOB_ACTION , or FAMS_SCHEDULE_CREATE_WITH_SUDO |
ListExecutions |
FAMS_SCHEDULE_READ or FAMS_SCHEDULE_JOB_READ |
GetExecution |
FAMS_SCHEDULE_READ or FAMS_SCHEDULE_JOB_READ |
ListSteps |
FAMS_SCHEDULE_READ or FAMS_SCHEDULE_JOB_READ |
ListResources |
FAMS_SCHEDULE_READ or FAMS_SCHEDULE_JOB_READ |
SummarizeSchedulerJobCounts |
FAMS_SCHEDULE_INSPECT or FAMS_SCHEDULE_JOB_INSPECT |
ListSchedulerExecutions |
FAMS_SCHEDULE_READ or FAMS_SCHEDULE_JOB_READ |
SetDefaultRunbook |
FAMS_RUNBOOK_UPDATE |
ListScheduledFleets |
FAMS_SCHEDULE_READ |
ListProperties |
FAMS_ADMIN_INSPECT , FAMS_FLEET_INSPECT , or FAMS_PROPERTY_INSPECT |
CreateProperty |
FAMS_ADMIN_CREATE or FAMS_PROPERTY_CREATE |
GetProperty |
FAMS_ADMIN_READ , FAMS_FLEET_READ , or FAMS_PROPERTY_READ |
UpdateProperty |
FAMS_ADMIN_UPDATE or FAMS_PROPERTY_UPDATE |
DeleteProperty |
FAMS_ADMIN_DELETE or FAMS_PROPERTY_DELETE |
ChangePropertyCompartment |
FAMS_ADMIN_MOVE or FAMS_PROPERTY_MOVE |
ListPlatformConfigurations |
FAMS_PLATFORM_INSPECT |
CreatePlatformConfiguration |
FAMS_ADMIN_CREATE or FAMS_PLATFORM_CREATE and the following:
|
GetPlatformConfiguration |
FAMS_PLATFORM_READ |
UpdatePlatformConfiguration |
FAMS_ADMIN_UPDATE or FAMS_PLATFORM_UPDATE and the following:
|
DeletePlatformConfiguration |
FAMS_ADMIN_DELETE or FAMS_PLATFORM_DELETE |
ChangePlatformConfigurationCompartment |
FAMS_ADMIN_MOVE or FAMS_PLATFORM_MOVE |
ListWorkRequests |
FAMS_API_WORK_REQUEST_LIST |
GetWorkRequest |
FAMS_API_WORK_REQUEST_READ |
ListWorkRequestErrors |
FAMS_API_WORK_REQUEST_READ |
ListWorkRequestLogs |
FAMS_API_WORK_REQUEST_READ |
ListOnboardings |
FAMS_ONBOARDING_INSPECT |
GetOnboarding |
FAMS_ONBOARDING_READ |
CreateOnboarding |
DYNAMIC_GROUP_CREATE , POLICY_CREATE , TAG_NAMESPACE_CREATE , TAG_DEFINITION_ADD , and ( FAMS_ADMIN_CREATE or FAMS_ONBOARDING_CREATE ) |
UpdateOnboarding |
TAG_NAMESPACE_CREATE , TAG_DEFINITION_ADD , and ( FAMS_ADMIN_UPDATE or FAMS_ONBOARDING_UPDATE ) |
DeleteOnboarding |
DYNAMIC_GROUP_DELETE , POLICY_DELETE , TAG_NAMESPACE_RETIRE , TAG_DEFINITION_RETIRE , and ( FAMS_ADMIN_DELETE or FAMS_ONBOARDING_DELETE ) |
EnableLatestPolicy |
DYNAMIC_GROUP_CREATE , POLICY_CREATE , TAG_NAMESPACE_CREATE , TAG_DEFINITION_ADD , and ( FAMS_ADMIN_CREATE or FAMS_ONBOARDING_CREATE ) |
ManageSettings |
FAMS_ADMIN_UPDATE |
ListOnboardingPolicies |
DYNAMIC_GROUP_CREATE , POLICY_CREATE , TAG_NAMESPACE_CREATE , TAG_DEFINITION_ADD , and ( FAMS_ADMIN_CREATE or FAMS_ONBOARDING_CREATE ) |
ListCompliancePolicies |
FAMS_COMPLIANCE_POLICY_INSPECT |
GetCompliancePolicy |
FAMS_COMPLIANCE_POLICY_READ |
ListCompliancePolicyRules |
FAMS_COMPLIANCE_POLICY_INSPECT |
GetCompliancePolicyRule |
FAMS_COMPLIANCE_POLICY_READ |
CreateCompliancePolicyRule |
FAMS_COMPLIANCE_POLICY_CREATE |
UpdateCompliancePolicyRule |
FAMS_COMPLIANCE_POLICY_UPDATE |
DeleteCompliancePolicyRule |
FAMS_COMPLIANCE_POLICY_DELETE |
ListComplianceRecords |
FAMS_COMPLIANCE_REPORT_READ , FAMS_FLEET_READ , FAMS_PATCH_READ , FAMS_ADMIN_READ , or FAMS_COMPLIANCE_POLICY_READ |
ExportComplianceReport |
FAMS_COMPLIANCE_REPORT_READ , FAMS_FLEET_READ , FAMS_PATCH_READ , FAMS_ADMIN_READ , or FAMS_COMPLIANCE_POLICY_READ |
SummarizeComplianceRecordCounts |
FAMS_COMPLIANCE_REPORT_READ , FAMS_FLEET_READ , FAMS_PATCH_READ , FAMS_ADMIN_READ , or FAMS_COMPLIANCE_POLICY_READ |
SummarizeManagedEntityCounts |
FAMS_COMPLIANCE_REPORT_READ , FAMS_FLEET_READ , FAMS_PATCH_READ , FAMS_ADMIN_READ , or FAMS_COMPLIANCE_POLICY_READ |
ListPatches |
FAMS_PATCH_INSPECT |
GetPatch |
FAMS_PATCH_READ |
CreatePatch |
FAMS_PATCH_CREATE , FAMS_PLATFORM_READ , OBJECT_INSPECT , and OBJECT_READ |
DeletePatch |
FAMS_PATCH_DELETE |
UpdatePatch |
FAMS_PATCH_UPDATE , FAMS_PLATFORM_READ , OBJECT_INSPECT , and OBJECT_READ |
ChangePatchCompartment |
FAMS_PATCH_MOVE |
CreateProvision |
FAMS_PROVISION_CREATE , FAMS_FLEET_READ , and FAMS_CATALOG_ITEM_READ |
DeleteProvision |
FAMS_PROVISION_DELETE |
ListProvisions |
FAMS_PROVISION_INSPECT |
UpdateProvision |
FAMS_PROVISION_UPDATE |
GetProvision |
FAMS_PROVISION_READ |
ChangeProvisionCompartment |
FAMS_PROVISION_MOVE |
ListCatalogItems |
FAMS_CATALOG_ITEM_INSPECT |
CreateCatalogItem |
FAMS_CATALOG_ITEM_CREATE and the following:
|
GetCatalogItem |
FAMS_CATALOG_ITEM_READ |
UpdateCatalogItem |
FAMS_CATALOG_ITEM_UPDATE and the following:
|
DeleteCatalogItem |
FAMS_CATALOG_ITEM_DELETE |
ChangeCatalogItemCompartment |
FAMS_CATALOG_ITEM_MOVE |
CloneCatalogItem |
FAMS_CATALOG_ITEM_CLONE |
ListInventoryRecords |
FAMS_SOFTWARE_INVENTORY_INSPECT |
User Policies
Fleet Application Management user policies are required for users to access the Fleet Application Management resources.
A policy syntax is as follows:
allow <subject> to <verb> <resource-type> in <location> where <conditions>
For complete details, see Policy Syntax.
Create policies for specific users or groups to get access to Fleet Application Management-related resources. See Creating a Policy.
For applying the permissions at a tenancy level, replace compartment <compartment name>
with the tenancy
.
Policy Examples
Fleet Application Management policies are required for using various Fleet Application Management resources.
See the instructions in creating a policy for creating policies using the Console.
For more details about the syntax, see Policy Syntax.
Fleet Application Management policy examples:
- Allow a group to manage all the resources in your tenancy:
Allow group acme-fams-developers to manage fams-family in tenancy
- Allow users in a group to read or manage the catalog items for Marketplace or private catalog items depending on the user role:
Allow group <USER_GROUP> to read fams-catalog-items in compartment <USER_COMPARTMENT_NAME>
The example assumes that the catalog items and Compute instances are in the same compartment as Fleet Application Management.
- Allow users in a group to access the catalog item scripts from the relevant locations:
Allow group <USER_GROUP> to {PAR_MANAGE} in compartment <USER_COMPARTMENT_NAME> Allow group <USER_GROUP> to read object-family in compartment <USER_COMPARTMENT_NAME> Allow group <USER_GROUP> to read buckets in compartment <USER_COMPARTMENT_NAME>
The example assumes that the Object Storage buckets and Compute instances are in the same compartment as Fleet Application Management.
- Allow users in a group to manage provisioning requests:
Allow group <USER_GROUP> to manage fams-provisions in compartment <USER_COMPARTMENT_NAME>
The example assumes that the provisioning requests and Compute instances are in the same compartment as Fleet Application Management.
- Allow users in a group to manage provisioning by connecting Fleet Application Management to Resource Manager.
Allow group <USER_GROUP> to manage orm-config-source-providers in compartment <USER_COMPARTMENT_NAME> Allow group <USER_GROUP> to manage orm-jobs in compartment <USER_COMPARTMENT_NAME> Allow group <USER_GROUP> to manage orm-stacks in compartment <USER_COMPARTMENT_NAME> Allow group <USER_GROUP> to manage orm-template in compartment <USER_COMPARTMENT_NAME> Allow group <USER_GROUP> to manage orm-work-requests in compartment <USER_COMPARTMENT_NAME>
The example assumes that the provisioning requests and Compute instances are in the same compartment as Fleet Application Management.
- Allow users in a group to schedule and manage provisioning:
Allow group <USER_GROUP> to manage fams-schedules in compartment <USER_COMPARTMENT_NAME>
The example assumes that the schedule, provisioning requests are in the same compartment as Fleet Application Management.
- Allow users in a group to provision the relevant OCI resource type.
Allow group <USER_GROUP> to manage <resource_type> in compartment <USER_COMPARTMENT_NAME>
The example assumes that the resource types are in the same compartment as Fleet Application Management.
Adding Rules to Dynamic Group
fams-customer-dg
group. Fleet Application Management performs lifecycle operations on these instances.IAM Policies
A tenancy administrator in your organization enables Fleet Application Management for your tenancy. This action creates the following IAM policies for using Fleet Application Management.
The IAM polices in "fams-service-dg" are:
define tenancy fams-tenancy as <fams-tenancy-ocid>
define dynamic-group fams-workload-dg as <fams-dynamicgroup-ocid>
allow dynamic-group fams-service-dg to { FAMS_CATALOG_ITEM_INSPECT, FAMS_CATALOG_ITEM_READ } in tenancy
allow dynamic-group fams-service-dg to { INSTANCE_UPDATE } in tenancy
allow dynamic-group fams-service-dg to read instance-family in tenancy
allow dynamic-group fams-service-dg to use instances in tenancy
allow dynamic-group fams-service-dg to inspect limits in tenancy
allow dynamic-group fams-service-dg to use tag-namespaces in tenancy where target.tag-namespace.name='Oracle$FAMS-Tags'
allow dynamic-group fams-service-dg to read instance-agent-plugins in tenancy
allow dynamic-group fams-service-dg to read instance-agent-command-family in tenancy
allow dynamic-group fams-service-dg to use ons-family in tenancy
allow dynamic-group fams-service-dg to manage database-family in tenancy
allow dynamic-group fams-service-dg to manage osmh-family in tenancy
allow dynamic-group fams-service-dg to { INSTANCE_AGENT_COMMAND_CREATE } in tenancy
allow dynamic-group fams-service-dg to { OBJECTSTORAGE_NAMESPACE_READ } in tenancy
allow dynamic-group fams-service-dg to manage work-requests in tenancy
To use Fleet Application Management, the following IAM policies are required in "fams-customer-dg":
You can configure the policies for a tenancy or compartment based on your preference. If you choose to configure policies for a compartment, the policy statement can be as follows:
allow dynamic-group fams-customer-dg to {VAULT_READ} in <compartment_OCID>
If you let Fleet Application Management configure the policies for a tenancy, the following IAM policies are in "fams-customer-dg" :
endorse any-group to { FAMS_CATALOG_ITEM_INSPECT, FAMS_CATALOG_ITEM_READ} in tenancy fams-tenancy
admit dynamic-group fams-workload-dg of tenancy fams-tenancy to read orm-stack in tenancy where all { request.principal.type = 'workload' }
allow dynamic-group fams-customer-dg to use instance-agent-command-execution-family in tenancy where request.instance.id=target.instance.id
allow dynamic-group fams-customer-dg to read instance-family in tenancy
allow dynamic-group fams-customer-dg to use fams-agent-command-executions in tenancy where request.instance.id=target.instance.id
allow dynamic-group fams-customer-dg to {OSMH_MANAGED_INSTANCE_ACCESS} in tenancy
allow dynamic-group fams-customer-dg to { OBJECT_INSPECT, OBJECT_READ } in tenancy
endorse dynamic-group fams-customer-dg to { OBJECT_CREATE, OBJECT_OVERWRITE, OBJECT_READ } in tenancy fams-tenancy where all { target.bucket.name = '<CUSTOMER_TENANCY_OCID>' }
endorse dynamic-group fams-customer-dg to { OBJECT_INSPECT, OBJECT_READ } in tenancy fams-tenancy where any { target.bucket.name = 'automations', target.bucket.name = 'patches'}
-
endorse any-group to { FAMS_CATALOG_ITEM_INSPECT, FAMS_CATALOG_ITEM_READ} in tenancy fams-tenancy
Allows the tenancy access to Marketplace catalog items.
-
admit dynamic-group fams-workload-dg of tenancy fams-tenancy to read orm-stack in tenancy where all { request.principal.type = 'workload' }
Allows managing provisioning requirements to check the Resource Manager stack status.
-
allow dynamic-group fams-customer-dg to { KEY_READ, KEY_DECRYPT,SECRET_READ } in tenancy allow dynamic-group fams-customer-dg to {VAULT_READ} in tenancy allow dynamic-group fams-customer-dg to {SECRET_BUNDLE_READ} in tenancy
Allows the tenancy access with vault keys and secrets to Fleet Application Management for lifecycle operations.
-
allow dynamic-group fams-customer-dg to use instance-agent-command-execution-family in tenancy where request.instance.id=target.instance.id
Allows managing lifecycle operations using the run command.
-
allow dynamic-group fams-customer-dg to read instance-family in tenancy
Allows Fleet Application Management to get instance details for state checks.
-
allow dynamic-group fams-customer-dg to use fams-agent-command-executions in tenancy where request.instance.id=target.instance.id
Allows Fleet Application Management to manage lifecycle operations on instances using the Fleet Application Management plugin.
-
allow dynamic-group fams-customer-dg to {OSMH_MANAGED_INSTANCE_ACCESS} in tenancy
Allows Fleet Application Management to manage patching OS with OS Management Hub.
-
allow dynamic-group fams-customer-dg to { OBJECT_INSPECT, OBJECT_READ } in tenancy
Allows Fleet Application Management access lifecycle operation scripts from Object Storage.
-
endorse dynamic-group fams-customer-dg to { OBJECT_CREATE, OBJECT_OVERWRITE, OBJECT_READ } in tenancy fams-tenancy where all { target.bucket.name = '<CUSTOMER_TENANCY_OCID>' }
Allows Fleet Application Management to manage lifecycle operation logs in Object Storage.
-
endorse dynamic-group fams-customer-dg to { OBJECT_INSPECT, OBJECT_READ } in tenancy fams-tenancy where any { target.bucket.name = 'automations', target.bucket.name = 'patches'}
Allows the tenancy access to Fleet Application Management lifecycle operation scripts and patches.
To avoid service disruption, a tenancy administrator must ensure that the "fams-service-dg," "fams-customer-dg" dynamic groups IAM policies aren't deleted. However, you can however create your own policies for your use cases, for example, if you need different administrators for different groups and product stacks.