To define the accounts for which Monaco will configure the account management resources, you need to create an accounts section in a manifest file.
In the following example, we define a single account object containing account-related information. The name property specifies the account name (in this example, my-account) that can be referenced using the Monaco CLI commands --account flag.
accounts:- name: my-accountaccountUUID: 12345678-1234-5678-1234-123456789012oAuth:clientId:name: OAUTH_CLIENT_IDclientSecret:name: OAUTH_CLIENT_SECRET
Other than the accounts section, a manifest.yaml defined for account resources is the same as for environment configurations, requiring projects of account resource configuration files.
Using Monaco, you can define users, service users, groups, policies, and boundaries as dedicated types in YAML configuration files.
Unlike the usual environment-level configurations, no JSON template files are needed. Monaco builds the required API data directly from your YAML configuration.
This example shows how Monaco represents account management resources locally, with examples defining users, service users, groups, policies, and boundaries.
The following sections will describe each configuration in detail.
users:- email: monaco@dynatrace.comgroups:- Log viewer- type: referenceid: my-groupserviceUsers:- name: Monaco service userdescription: Description of service usergroups:- Log viewer- type: referenceid: my-groupgroups:- name: My Groupid: my-groupdescription: This is my groupaccount:permissions:- account-viewerpolicies:- policy: Environment role - Access environmentenvironments:- name: abc12345permissions:- tenant-viewerpolicies:- policy: Environment role - Replay session data without masking- policy:type: referenceid: my-policyboundaries:- type: referenceid: workflow-simple-boundary- MyExistingBoundary # If you want to reference by name directlymanagementZones:- environment: abc12345managementZone: Management Zone 2000permissions:- tenant-viewerpolicies:- name: My Policyid: my-policylevel:type: accountdescription: My policy description.policy: |-ALLOW automation:workflows:read;boundaries:- id: workflow-simple-boundaryname: Workflow Simple boundaryquery: automation:workflow-type = "SIMPLE";
While this sample shows users, service users, groups, policies, and boundaries defined in a single file, you can define them in individual files and structure your account resource projects and files as needed.
users:- email: my-user@example.comgroups:- Log viewer- type: referenceid: my-group
In this example, we define these objects.
Log viewer group.
my-group. This id must match a group defined under the groups field.Dynatrace Monaco CLI version 2.23.0+
serviceUsers:- name: Monaco service userdescription: Description of the service user.originObjectId: 123e4567-e89b-12d3-a456-426614174000groups:- Log viewer- type: referenceid: my-group
In this example, we define these objects.
Log viewer group and to my-group defined under the groups field. As the latter is a reference, type must be set to reference and id must match that of a group defined under the groups field.groups:- name: My Groupid: my-groupdescription: This is my groupaccount:permissions:- account-viewerpolicies:- policy: Environment role - Access environmentenvironments:- name: abc12345permissions:- tenant-viewerpolicies:- policy: Environment role - Replay session data without masking- policy:type: referenceid: my-policyboundaries:- type: referenceid: my-boundary- MyExistingBoundary # If you want to reference by name directlymanagementZones:- environment: abc12345managementZone: Management Zone 2000permissions:- tenant-viewer
In this example, we define these objects.
reference when referencing a custom policy.reference when referencing a custom boundary.Management Zone 2000.policies:- name: My policyid: my-policylevel:type: accountdescription: My policy is defined for the account.policy: |-ALLOW automation:workflows:read;- name: My other policy.id: my-other-policylevel:type: environmentenvironment: abc12345description: My policy is defined for a specific environment.policy: |-ALLOW automation:workflows:read;
In this example, we define these objects.
account or environment.environment, specify the environment ID for which this policy applies.boundaries:- id: workflow-simple-boundaryname: Workflow Simple boundaryquery: automation:workflow-type = "SIMPLE";
In this example, we define these objects.
;.Because account-level configuration is usually distinct from environment-level configuration and changes less frequently, existing commands like monaco deploy ignore any account configuration that may be defined in a manifest file.
Dedicated commands exist for account resources: Account.