diff --git a/src/components/CippCards/CippButtonCard.jsx b/src/components/CippCards/CippButtonCard.jsx index 23839eb718f3..5be67cb8de86 100644 --- a/src/components/CippCards/CippButtonCard.jsx +++ b/src/components/CippCards/CippButtonCard.jsx @@ -1,12 +1,18 @@ import React from "react"; -import { Card, CardHeader, CardContent, CardActions, Skeleton } from "@mui/material"; +import { Card, CardHeader, CardContent, CardActions, Skeleton, Box } from "@mui/material"; export default function CippButtonCard({ title, CardButton, children, isFetching = false }) { return ( - - - {isFetching ? : children} - {CardButton && {CardButton}} - + + + + {isFetching ? : children} + {CardButton && {CardButton}} + + ); } diff --git a/src/components/CippCards/CippChartCard.jsx b/src/components/CippCards/CippChartCard.jsx index b19cffeec6d1..ccfbed22f564 100644 --- a/src/components/CippCards/CippChartCard.jsx +++ b/src/components/CippCards/CippChartCard.jsx @@ -1,5 +1,4 @@ import { useState } from "react"; -import PropTypes from "prop-types"; import { Box, Card, diff --git a/src/components/CippComponents/CippAutocomplete.jsx b/src/components/CippComponents/CippAutocomplete.jsx index 44a80a4aa5d6..e76beeb12d28 100644 --- a/src/components/CippComponents/CippAutocomplete.jsx +++ b/src/components/CippComponents/CippAutocomplete.jsx @@ -81,7 +81,7 @@ export const CippAutoComplete = (props) => { return ( diff --git a/src/components/CippComponents/CippFormComponent.jsx b/src/components/CippComponents/CippFormComponent.jsx index 29e191c1d843..48d3c9a463e4 100644 --- a/src/components/CippComponents/CippFormComponent.jsx +++ b/src/components/CippComponents/CippFormComponent.jsx @@ -1,4 +1,14 @@ -import { Radio, Switch, TextField, Typography, Checkbox, FormControlLabel } from "@mui/material"; +import { + Radio, + Switch, + TextField, + Typography, + Checkbox, + FormControlLabel, + FormControl, + FormLabel, + RadioGroup, +} from "@mui/material"; import { CippAutoComplete } from "./CippAutocomplete"; import { Controller, useFormState } from "react-hook-form"; import { DateTimePicker } from "@mui/x-date-pickers"; // Make sure to install @mui/x-date-pickers @@ -104,9 +114,23 @@ export const CippFormComponent = (props) => { case "radio": return ( <> -
- -
+ + {label} + + {props.options.map((option, idx) => { + return ( + } + label={option.label} + {...formControl.register(name, { ...validators })} + /> + ); + })} + + {name.includes(".") ? errors[name.split(".")[0]]?.[name.split(".")[1]]?.message diff --git a/src/components/CippComponents/CippFormCondition.jsx b/src/components/CippComponents/CippFormCondition.jsx index 615cbee5273f..dfb0c9c24089 100644 --- a/src/components/CippComponents/CippFormCondition.jsx +++ b/src/components/CippComponents/CippFormCondition.jsx @@ -2,8 +2,7 @@ import { useWatch } from "react-hook-form"; export const CippFormCondition = (props) => { const { field, compareType = "is", compareValue, children, formControl } = props; - const watcher = useWatch({ control: formControl.control, name: field }); - + let watcher = useWatch({ control: formControl.control, name: field }); switch (compareType) { case "is": if (watcher === compareValue) { diff --git a/src/components/CippComponents/CippFormDomainSelector.jsx b/src/components/CippComponents/CippFormDomainSelector.jsx new file mode 100644 index 000000000000..f78af1a9b533 --- /dev/null +++ b/src/components/CippComponents/CippFormDomainSelector.jsx @@ -0,0 +1,38 @@ +import React from "react"; +import { CippFormComponent } from "./CippFormComponent"; +import { useWatch } from "react-hook-form"; + +export const CippFormDomainSelector = ({ + formControl, + name, + label, + allTenants = false, + type = "multiple", + ...other +}) => { + const currentTenant = useWatch({ control: formControl.control, name: "tenantFilter" }); + return ( + `${option.id}`, + valueField: "id", + data: { + Endpoint: "domains", + manualPagination: true, + $count: true, + $top: 99, + }, + }} + /> + ); +}; diff --git a/src/components/CippComponents/CippFormTenantSelector.jsx b/src/components/CippComponents/CippFormTenantSelector.jsx index 0a3fe3e0cb5c..a8e87a378312 100644 --- a/src/components/CippComponents/CippFormTenantSelector.jsx +++ b/src/components/CippComponents/CippFormTenantSelector.jsx @@ -1,7 +1,12 @@ import React from "react"; import { CippFormComponent } from "./CippFormComponent"; -export const CippFormTenantSelector = ({ formControl, allTenants = false, type = "multiple" }) => { +export const CippFormTenantSelector = ({ + formControl, + allTenants = false, + type = "multiple", + ...other +}) => { return ( ); }; diff --git a/src/components/CippComponents/CippFormUserSelector.jsx b/src/components/CippComponents/CippFormUserSelector.jsx new file mode 100644 index 000000000000..4a0cfd63c104 --- /dev/null +++ b/src/components/CippComponents/CippFormUserSelector.jsx @@ -0,0 +1,40 @@ +import React from "react"; +import { CippFormComponent } from "./CippFormComponent"; +import { useWatch } from "react-hook-form"; + +export const CippFormUserSelector = ({ + formControl, + name, + label, + allTenants = false, + multiple = false, + type = "multiple", + ...other +}) => { + const currentTenant = useWatch({ control: formControl.control, name: "tenantFilter" }); + return ( + `${option.displayName} (${option.userPrincipalName})`, + valueField: "id", + queryKey: `ListUsers-${currentTenant?.value}`, + data: { + Endpoint: "users", + manualPagination: true, + $select: "id,userPrincipalName,displayName", + $count: true, + $orderby: "displayName", + $top: 999, + }, + }} + /> + ); +}; diff --git a/src/components/CippFormPages/CippFormPage.jsx b/src/components/CippFormPages/CippFormPage.jsx new file mode 100644 index 000000000000..fce079f66622 --- /dev/null +++ b/src/components/CippFormPages/CippFormPage.jsx @@ -0,0 +1,72 @@ +import { useRouter } from "next/router"; +import { + Box, + Container, + Stack, + Button, + SvgIcon, + Typography, + Card, + CardContent, + CardActions, +} from "@mui/material"; +import ArrowLeftIcon from "@mui/icons-material/ArrowLeft"; +import Head from "next/head"; + +const CippFormPage = (props) => { + const { title, backButtonTitle, formPageType = "Add", children, formControl, ...other } = props; + const router = useRouter(); + + const handleBackClick = () => { + router.back(); // Navigate to the previous page when the button is clicked + }; + + return ( + <> + + {title} + + + + + +
+ +
+
+ + {formPageType} - {title} + +
+
+ + {children} + + + + +
+
+
+ + ); +}; + +export default CippFormPage; diff --git a/src/data/GDAPRoles.json b/src/data/GDAPRoles.json new file mode 100644 index 000000000000..bf14e31159e5 --- /dev/null +++ b/src/data/GDAPRoles.json @@ -0,0 +1,722 @@ +[ + { + "ExtensionData": {}, + "Description": "Can create and manage all aspects of app registrations and enterprise apps.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Application Administrator", + "ObjectId": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3" + }, + { + "ExtensionData": {}, + "Description": "Can create application registrations independent of the \u0027Users can register applications\u0027 setting.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Application Developer", + "ObjectId": "cf1c38e5-3621-4004-a7cb-879624dced7c" + }, + { + "ExtensionData": {}, + "Description": "Can create attack payloads that an administrator can initiate later.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Attack Payload Author", + "ObjectId": "9c6df0f2-1e7c-4dc3-b195-66dfbd24aa8f" + }, + { + "ExtensionData": {}, + "Description": "Can create and manage all aspects of attack simulation campaigns.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Attack Simulation Administrator", + "ObjectId": "c430b396-e693-46cc-96f3-db01bf8bb62a" + }, + { + "ExtensionData": {}, + "Description": "Assign custom security attribute keys and values to supported Azure AD objects.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Attribute Assignment Administrator", + "ObjectId": "58a13ea3-c632-46ae-9ee0-9c0d43cd7f3d" + }, + { + "ExtensionData": {}, + "Description": "Read custom security attribute keys and values for supported Azure AD objects.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Attribute Assignment Reader", + "ObjectId": "ffd52fa5-98dc-465c-991d-fc073eb59f8f" + }, + { + "ExtensionData": {}, + "Description": "Define and manage the definition of custom security attributes.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Attribute Definition Administrator", + "ObjectId": "8424c6f0-a189-499e-bbd0-26c1753c96d4" + }, + { + "ExtensionData": {}, + "Description": "Read the definition of custom security attributes.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Attribute Definition Reader", + "ObjectId": "1d336d2c-4ae8-42ef-9711-b3604ce3fc2c" + }, + { + "ExtensionData": {}, + "Description": "Allowed to view, set and reset authentication method information for any non-admin user.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Authentication Administrator", + "ObjectId": "c4e39bd9-1100-46d3-8c65-fb160da0071f" + }, + { + "ExtensionData": {}, + "Description": "Can create and manage the authentication methods policy, tenant-wide MFA settings, password protection policy, and verifiable credentials.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Authentication Policy Administrator", + "ObjectId": "0526716b-113d-4c15-b2c8-68e3c22b9f80" + }, + { + "ExtensionData": {}, + "Description": "Users assigned to this role are added to the local administrators group on Azure AD-joined devices.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Azure AD Joined Device Local Administrator", + "ObjectId": "9f06204d-73c1-4d4c-880a-6edb90606fd8" + }, + { + "ExtensionData": {}, + "Description": "Can manage Azure DevOps organization policy and settings.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Azure DevOps Administrator", + "ObjectId": "e3973bdf-4987-49ae-837a-ba8e231c7286" + }, + { + "ExtensionData": {}, + "Description": "Can manage all aspects of the Azure Information Protection product.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Azure Information Protection Administrator", + "ObjectId": "7495fdc4-34c4-4d15-a289-98788ce399fd" + }, + { + "ExtensionData": {}, + "Description": "Can manage secrets for federation and encryption in the Identity Experience Framework (IEF).", + "IsEnabled": true, + "IsSystem": true, + "Name": "B2C IEF Keyset Administrator", + "ObjectId": "aaf43236-0c0d-4d5f-883a-6955382ac081" + }, + { + "ExtensionData": {}, + "Description": "Can create and manage trust framework policies in the Identity Experience Framework (IEF).", + "IsEnabled": true, + "IsSystem": true, + "Name": "B2C IEF Policy Administrator", + "ObjectId": "3edaf663-341e-4475-9f94-5c398ef6c070" + }, + { + "ExtensionData": {}, + "Description": "Can perform common billing related tasks like updating payment information.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Billing Administrator", + "ObjectId": "b0f54661-2d74-4c50-afa3-1ec803f12efe" + }, + { + "ExtensionData": {}, + "Description": "Can manage all aspects of the Cloud App Security product.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Cloud App Security Administrator", + "ObjectId": "892c5842-a9a6-463a-8041-72aa08ca3cf6" + }, + { + "ExtensionData": {}, + "Description": "Can create and manage all aspects of app registrations and enterprise apps except App Proxy.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Cloud Application Administrator", + "ObjectId": "158c047a-c907-4556-b7ef-446551a6b5f7" + }, + { + "ExtensionData": {}, + "Description": "Full access to manage devices in Azure AD.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Cloud Device Administrator", + "ObjectId": "7698a772-787b-4ac8-901f-60d6b08affd2" + }, + { + "ExtensionData": {}, + "Description": "Can manage all aspects of Azure AD and Microsoft services that use Azure AD identities. This role was formerly known as Global Administrator.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Company Administrator", + "ObjectId": "62e90394-69f5-4237-9190-012177145e10" + }, + { + "ExtensionData": {}, + "Description": "Can read and manage compliance configuration and reports in Azure AD and Microsoft 365.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Compliance Administrator", + "ObjectId": "17315797-102d-40b4-93e0-432062caca18" + }, + { + "ExtensionData": {}, + "Description": "Creates and manages compliance content.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Compliance Data Administrator", + "ObjectId": "e6d1a23a-da11-4be4-9570-befc86d067a7" + }, + { + "ExtensionData": {}, + "Description": "Can manage Conditional Access capabilities.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Conditional Access Administrator", + "ObjectId": "b1be1c3e-b65d-4f19-8427-f6fa0d97feb9" + }, + { + "ExtensionData": {}, + "Description": "Can approve Microsoft support requests to access customer organizational data.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Customer LockBox Access Approver", + "ObjectId": "5c4f9dcd-47dc-4cf7-8c9a-9e4207cbfc91" + }, + { + "ExtensionData": {}, + "Description": "Can access and manage Desktop management tools and services.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Desktop Analytics Administrator", + "ObjectId": "38a96431-2bdf-4b4c-8b6e-5d3d8abac1a4" + }, + { + "ExtensionData": {}, + "Description": "Device Join", + "IsEnabled": true, + "IsSystem": true, + "Name": "Device Join", + "ObjectId": "9c094953-4995-41c8-84c8-3ebb9b32c93f" + }, + { + "ExtensionData": {}, + "Description": "Device Users", + "IsEnabled": true, + "IsSystem": true, + "Name": "Device Users", + "ObjectId": "d405c6df-0af8-4e3b-95e4-4d06e542189e" + }, + { + "ExtensionData": {}, + "Description": "Can read basic directory information. Commonly used to grant directory read access to applications and guests.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Directory Readers", + "ObjectId": "88d8e3e3-8f55-4a1e-953a-9b9898b8876b" + }, + { + "ExtensionData": {}, + "Description": "Only used by Azure AD Connect service.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Directory Synchronization Accounts", + "ObjectId": "d29b2b05-8046-44ba-8758-1e26182fcf32" + }, + { + "ExtensionData": {}, + "Description": "Can read and write basic directory information. For granting access to applications, not intended for users.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Directory Writers", + "ObjectId": "9360feb5-f418-4baa-8175-e2a00bac4301" + }, + { + "ExtensionData": {}, + "Description": "Can manage domain names in cloud and on-premises.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Domain Name Administrator", + "ObjectId": "8329153b-31d0-4727-b945-745eb3bc5f31" + }, + { + "ExtensionData": {}, + "Description": "Can manage all aspects of the Dynamics 365 product.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Dynamics 365 Administrator", + "ObjectId": "44367163-eba1-44c3-98af-f5787879f96a" + }, + { + "ExtensionData": {}, + "Description": "Manage all aspects of Microsoft Edge.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Edge Administrator", + "ObjectId": "3f1acade-1e04-4fbc-9b69-f0302cd84aef" + }, + { + "ExtensionData": {}, + "Description": "Can manage all aspects of the Exchange product.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Exchange Administrator", + "ObjectId": "29232cdf-9323-42fd-ade2-1d097af3e4de" + }, + { + "ExtensionData": {}, + "Description": "Can create or update Exchange Online recipients within the Exchange Online organization.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Exchange Recipient Administrator", + "ObjectId": "31392ffb-586c-42d1-9346-e59415a2cc4e" + }, + { + "ExtensionData": {}, + "Description": "Can create and manage all aspects of user flows.", + "IsEnabled": true, + "IsSystem": true, + "Name": "External ID User Flow Administrator", + "ObjectId": "6e591065-9bad-43ed-90f3-e9424366d2f0" + }, + { + "ExtensionData": {}, + "Description": "Can create and manage the attribute schema available to all user flows.", + "IsEnabled": true, + "IsSystem": true, + "Name": "External ID User Flow Attribute Administrator", + "ObjectId": "0f971eea-41eb-4569-a71e-57bb8a3eff1e" + }, + { + "ExtensionData": {}, + "Description": "Can configure identity providers for use in direct federation.", + "IsEnabled": true, + "IsSystem": true, + "Name": "External Identity Provider Administrator", + "ObjectId": "be2f45a1-457d-42af-a067-6ec1fa63bc45" + }, + { + "ExtensionData": {}, + "Description": "Can read everything that a Global Administrator can, but not update anything.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Global Reader", + "ObjectId": "f2ef992c-3afb-46b9-b7cf-a126ee74c451" + }, + { + "ExtensionData": {}, + "Description": "Members of this role can create/manage groups, create/manage groups settings like naming and expiration policies, and view groups activity and audit reports.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Groups Administrator", + "ObjectId": "fdd7a751-b60b-444a-984c-02652fe8fa1c" + }, + { + "ExtensionData": {}, + "Description": "Can invite guest users independent of the \u0027members can invite guests\u0027 setting.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Guest Inviter", + "ObjectId": "95e79109-95c0-4d8e-aee3-d01accf2d47b" + }, + { + "ExtensionData": {}, + "Description": "Can reset passwords for non-administrators and Helpdesk Administrators.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Helpdesk Administrator", + "ObjectId": "729827e3-9c14-49f7-bb1b-9608f156bbb8" + }, + { + "ExtensionData": {}, + "Description": "Can manage AD to Azure AD cloud provisioning, Azure AD Connect, and federation settings.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Hybrid Identity Administrator", + "ObjectId": "8ac3fc64-6eca-42ea-9e69-59f4c7b60eb2" + }, + { + "ExtensionData": {}, + "Description": "Manage access using Azure AD for identity governance scenarios.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Identity Governance Administrator", + "ObjectId": "45d8d3c5-c802-45c6-b32a-1d70b5e1e86e" + }, + { + "ExtensionData": {}, + "Description": "Has administrative access in the Microsoft 365 Insights app.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Insights Administrator", + "ObjectId": "eb1f4a8d-243a-41f0-9fbd-c7cdf6c5ef7c" + }, + { + "ExtensionData": {}, + "Description": "Access the analytical capabilities in Microsoft Viva Insights and run custom queries.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Insights Analyst", + "ObjectId": "25df335f-86eb-4119-b717-0ff02de207e9" + }, + { + "ExtensionData": {}, + "Description": "Can view and share dashboards and insights via the M365 Insights app.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Insights Business Leader", + "ObjectId": "31e939ad-9672-4796-9c2e-873181342d2d" + }, + { + "ExtensionData": {}, + "Description": "Can manage all aspects of the Intune product.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Intune Administrator", + "ObjectId": "3a2c62db-5318-420d-8d74-23affee5d9d5" + }, + { + "ExtensionData": {}, + "Description": "Can manage settings for Microsoft Kaizala.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Kaizala Administrator", + "ObjectId": "74ef975b-6605-40af-a5d2-b9539d836353" + }, + { + "ExtensionData": {}, + "Description": "Can configure knowledge, learning, and other intelligent features.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Knowledge Administrator", + "ObjectId": "b5a8dcf3-09d5-43a9-a639-8e29ef291470" + }, + { + "ExtensionData": {}, + "Description": "Has access to topic management dashboard and can manage content.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Knowledge Manager", + "ObjectId": "744ec460-397e-42ad-a462-8b3f9747a02c" + }, + { + "ExtensionData": {}, + "Description": "Can manage product licenses on users and groups.", + "IsEnabled": true, + "IsSystem": true, + "Name": "License Administrator", + "ObjectId": "4d6ac14f-3453-41d0-bef9-a3e0c569773a" + }, + { + "ExtensionData": {}, + "Description": "Create and manage all aspects of workflows and tasks associated with Lifecycle Workflows in Azure AD.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Lifecycle Workflows Administrator", + "ObjectId": "59d46f88-662b-457b-bceb-5c3809e5908f" + }, + { + "ExtensionData": {}, + "Description": "Can read security messages and updates in Office 365 Message Center only.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Message Center Privacy Reader", + "ObjectId": "ac16e43d-7b2d-40e0-ac05-243ff356ab5b" + }, + { + "ExtensionData": {}, + "Description": "Can read messages and updates for their organization in Office 365 Message Center only.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Message Center Reader", + "ObjectId": "790c1fb9-7f7d-4f88-86a1-ef1f95c05c1b" + }, + { + "ExtensionData": {}, + "Description": "Can manage network locations and review enterprise network design insights for Microsoft 365 Software as a Service applications.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Network Administrator", + "ObjectId": "d37c8bed-0711-4417-ba38-b4abe66ce4c2" + }, + { + "ExtensionData": {}, + "Description": "Can manage Office apps cloud services, including policy and settings management, and manage the ability to select, unselect and publish \u0027what\u0027s new\u0027 feature content to end-user\u0027s devices.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Office Apps Administrator", + "ObjectId": "2b745bdf-0803-4d80-aa65-822c4493daac" + }, + { + "ExtensionData": {}, + "Description": "Do not use - not intended for general use.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Partner Tier1 Support", + "ObjectId": "4ba39ca4-527c-499a-b93d-d9b492c50246" + }, + { + "ExtensionData": {}, + "Description": "Do not use - not intended for general use.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Partner Tier2 Support", + "ObjectId": "e00e864a-17c5-4a4b-9c06-f5b95a8d5bd8" + }, + { + "ExtensionData": {}, + "Description": "Can reset passwords for non-administrators and Password Administrators.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Password Administrator", + "ObjectId": "966707d0-3269-4727-9be2-8c3a10f19b9d" + }, + { + "ExtensionData": {}, + "Description": "Manage all aspects of Entra Permissions Management.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Permissions Management Administrator", + "ObjectId": "af78dc32-cf4d-46f9-ba4e-4428526346b5" + }, + { + "ExtensionData": {}, + "Description": "Can manage all aspects of the Power BI product.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Power BI Administrator", + "ObjectId": "a9ea8996-122f-4c74-9520-8edcd192826c" + }, + { + "ExtensionData": {}, + "Description": "Can create and manage all aspects of Microsoft Dynamics 365, PowerApps and Microsoft Flow.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Power Platform Administrator", + "ObjectId": "11648597-926c-4cf3-9c36-bcebb0ba8dcc" + }, + { + "ExtensionData": {}, + "Description": "Can manage all aspects of printers and printer connectors.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Printer Administrator", + "ObjectId": "644ef478-e28f-4e28-b9dc-3fdde9aa0b1f" + }, + { + "ExtensionData": {}, + "Description": "Can manage all aspects of printers and printer connectors.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Printer Technician", + "ObjectId": "e8cef6f1-e4bd-4ea8-bc07-4b8d950f4477" + }, + { + "ExtensionData": {}, + "Description": "Allowed to view, set and reset authentication method information for any user (admin or non-admin).", + "IsEnabled": true, + "IsSystem": true, + "Name": "Privileged Authentication Administrator", + "ObjectId": "7be44c8a-adaf-4e2a-84d6-ab2649e08a13" + }, + { + "ExtensionData": {}, + "Description": "Can manage role assignments in Azure AD, and all aspects of Privileged Identity Management.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Privileged Role Administrator", + "ObjectId": "e8611ab8-c189-46e8-94e1-60213ab1f814" + }, + { + "ExtensionData": {}, + "Description": "Can read sign-in and audit reports.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Reports Reader", + "ObjectId": "4a5d8f65-41da-4de4-8968-e035b65339cf" + }, + { + "ExtensionData": {}, + "Description": "Can create and manage all aspects of Microsoft Search settings.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Search Administrator", + "ObjectId": "0964bb5e-9bdb-4d7b-ac29-58e794862a40" + }, + { + "ExtensionData": {}, + "Description": "Can create and manage the editorial content such as bookmarks, Q and As, locations, floorplan.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Search Editor", + "ObjectId": "8835291a-918c-4fd7-a9ce-faa49f0cf7d9" + }, + { + "ExtensionData": {}, + "Description": "Security Administrator allows ability to read and manage security configuration and reports.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Security Administrator", + "ObjectId": "194ae4cb-b126-40b2-bd5b-6091b380977d" + }, + { + "ExtensionData": {}, + "Description": "Creates and manages security events.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Security Operator", + "ObjectId": "5f2222b1-57c3-48ba-8ad5-d4759f1fde6f" + }, + { + "ExtensionData": {}, + "Description": "Can read security information and reports in Azure AD and Office 365.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Security Reader", + "ObjectId": "5d6b6bb7-de71-4623-b4af-96380a352509" + }, + { + "ExtensionData": {}, + "Description": "Can read service health information and manage support tickets.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Service Support Administrator", + "ObjectId": "f023fd81-a637-4b56-95fd-791ac0226033" + }, + { + "ExtensionData": {}, + "Description": "Can manage all aspects of the SharePoint service.", + "IsEnabled": true, + "IsSystem": true, + "Name": "SharePoint Administrator", + "ObjectId": "f28a1f50-f6e7-4571-818b-6a12f2af6b6c" + }, + { + "ExtensionData": {}, + "Description": "Can manage all aspects of the Skype for Business product.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Skype for Business Administrator", + "ObjectId": "75941009-915a-4869-abe7-691bff18279e" + }, + { + "ExtensionData": {}, + "Description": "Can manage the Microsoft Teams service.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Teams Administrator", + "ObjectId": "69091246-20e8-4a56-aa4d-066075b2a7a8" + }, + { + "ExtensionData": {}, + "Description": "Can manage calling and meetings features within the Microsoft Teams service.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Teams Communications Administrator", + "ObjectId": "baf37b3a-610e-45da-9e62-d9d1e5e8914b" + }, + { + "ExtensionData": {}, + "Description": "Can troubleshoot communications issues within Teams using advanced tools.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Teams Communications Support Engineer", + "ObjectId": "f70938a0-fc10-4177-9e90-2178f8765737" + }, + { + "ExtensionData": {}, + "Description": "Can troubleshoot communications issues within Teams using basic tools.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Teams Communications Support Specialist", + "ObjectId": "fcf91098-03e3-41a9-b5ba-6f0ec8188a12" + }, + { + "ExtensionData": {}, + "Description": "Can perform management related tasks on Teams certified devices.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Teams Devices Administrator", + "ObjectId": "3d762c5a-1b6c-493f-843e-55a3b42923d4" + }, + { + "ExtensionData": {}, + "Description": "Can see only tenant level aggregates in Microsoft 365 Usage Analytics and Productivity Score.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Usage Summary Reports Reader", + "ObjectId": "75934031-6c7e-415a-99d7-48dbd49e875e" + }, + { + "ExtensionData": {}, + "Description": "Can manage all aspects of users and groups, including resetting passwords for limited admins.", + "IsEnabled": true, + "IsSystem": true, + "Name": "User Administrator", + "ObjectId": "fe930be7-5e62-47db-91af-98c3a49a38b1" + }, + { + "ExtensionData": {}, + "Description": "Manage and share Virtual Visits information and metrics from admin centers or the Virtual Visits app.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Virtual Visits Administrator", + "ObjectId": "e300d9e7-4a2b-4295-9eff-f1c78b36cc98" + }, + { + "ExtensionData": {}, + "Description": "Manage and configure all aspects of Microsoft Viva Goals.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Viva Goals Administrator", + "ObjectId": "92b086b3-e367-4ef2-b869-1de128fb986e" + }, + { + "ExtensionData": {}, + "Description": "Can manage all settings for Microsoft Viva Pulse app.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Viva Pulse Administrator", + "ObjectId": "87761b17-1ed2-4af3-9acd-92a150038160" + }, + { + "ExtensionData": {}, + "Description": "Can provision and manage all aspects of Cloud PCs.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Windows 365 Administrator", + "ObjectId": "11451d60-acb2-45eb-a7d6-43d0f0125c13" + }, + { + "ExtensionData": {}, + "Description": "Can create and manage all aspects of Windows Update deployments through the Windows Update for Business deployment service.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Windows Update Deployment Administrator", + "ObjectId": "32696413-001a-46ae-978c-ce0f6b3620d2" + }, + { + "ExtensionData": {}, + "Description": "Workplace Device Join", + "IsEnabled": true, + "IsSystem": true, + "Name": "Workplace Device Join", + "ObjectId": "c34f683f-4d5a-4403-affd-6615e00e3a7f" + }, + { + "ExtensionData": {}, + "Description": "Manage all aspects of Yammer.", + "IsEnabled": true, + "IsSystem": true, + "Name": "Yammer Administrator", + "ObjectId": "810a2642-a034-447f-a5e8-41beaa378541" + } +] diff --git a/src/pages/identity/administration/jit-admin/add.jsx b/src/pages/identity/administration/jit-admin/add.jsx new file mode 100644 index 000000000000..ad5d18449838 --- /dev/null +++ b/src/pages/identity/administration/jit-admin/add.jsx @@ -0,0 +1,136 @@ +import { Box, Divider, Grid, TextField } from "@mui/material"; +import CippFormPage from "../../../../components/CippFormPages/CippFormPage"; +import { Layout as DashboardLayout } from "/src/layouts/index.js"; +import { CippFormTenantSelector } from "../../../../components/CippComponents/CippFormTenantSelector"; +import { useForm } from "react-hook-form"; +import CippFormComponent from "../../../../components/CippComponents/CippFormComponent"; +import { CippFormCondition } from "../../../../components/CippComponents/CippFormCondition"; +import gdaproles from "/src/data/GDAPRoles.json"; +import { CippFormDomainSelector } from "../../../../components/CippComponents/CippFormDomainSelector"; +import { CippFormUserSelector } from "../../../../components/CippComponents/CippFormUserSelector"; +const Page = () => { + const formControl = useForm({ Mode: "onChange" }); + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ({ label: role.Name, value: role.ObjectId }))} + formControl={formControl} + /> + + + + + + + + + ); +}; + +Page.getLayout = (page) => {page}; + +export default Page; diff --git a/src/pages/identity/administration/jit-admin/index.js b/src/pages/identity/administration/jit-admin/index.js index 00caabf20f15..dea07285c436 100644 --- a/src/pages/identity/administration/jit-admin/index.js +++ b/src/pages/identity/administration/jit-admin/index.js @@ -1,14 +1,23 @@ - import { Layout as DashboardLayout } from "/src/layouts/index.js"; +import CippTablePage from "/src/components/CippComponents/CippTablePage"; +import { Button } from "@mui/material"; +import Link from "next/link"; const Page = () => { - const pageTitle = "JIT Admin"; - return ( -
-

{pageTitle}

- -
+ + + + } + title="JIT Admin Table" + apiUrl="/api/ExecJITAdmin?Action=List" + apiDataKey="Results" + simpleColumns={[]} + /> ); };