Skip to content

EXOSecOpsOverrideRule

Parameters

Parameter Attribute DataType Description Allowed Values
Credential Write PSCredential Credentials of the workload's Admin
ApplicationId Write String Id of the Azure Active Directory application to authenticate with.
TenantId Write String Id of the Azure Active Directory tenant used for authentication.
CertificateThumbprint Write String Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.
CertificatePassword Write PSCredential Username can be made up to anything but password will be used for CertificatePassword
CertificatePath Write String Path to certificate used in service principal usually a PFX file.
ManagedIdentity Write Boolean Managed ID being used for authentication.
AccessTokens Write String[] Access token used for authentication.
IsSingleInstance Key String Only valid value is 'Yes'. Yes
SentTo Write String[] The email addresses of the SecOps mailboxes. Distribution groups are not allowed. Managed on the SecOps override policy.
Comment Write String An optional comment for the override rule.
Ensure Write String Ensures the presence or absence of the SecOps override rule. Present, Absent

Description

This resource manages the tenant's single SecOps mailbox override rule of the advanced delivery policy, which delivers unfiltered messages to SecOps mailboxes.

Permissions

Exchange

To authenticate with Microsoft Exchange, this resource requires the following permissions:

Roles

  • Read
  • View-Only Configuration
  • Update
  • Organization Configuration

Role Groups

  • Read
  • View-Only Organization Management
  • Update
  • Organization Management

Office 365 Exchange Online

To authenticate with the Office 365 Exchange Online API, this resource requires the following permissions:

Delegated permissions

  • Read
  • None

  • Update

  • None

Application permissions

  • Read
  • Exchange.ManageAsApp

  • Update

  • Exchange.ManageAsApp

Examples

Example 1

This example is used to test new resources and showcase the usage of new resources being worked on. It is not meant to use as a production baseline.

Configuration Example
{
    param
    (
        [Parameter()]
        [System.String]
        $ApplicationId,

        [Parameter()]
        [System.String]
        $TenantId,

        [Parameter()]
        [System.String]
        $CertificateThumbprint
    )

    Import-DscResource -ModuleName Microsoft365DSC

    Node localhost
    {
        EXOSecOpsOverrideRule "EXOSecOpsOverrideRule-Example"
        {
            Comment               = "Delivers unfiltered mail to the security operations mailbox";
            Ensure                = "Present";
            IsSingleInstance      = "Yes";
            SentTo                = @("AlexW@$TenantId");
            ApplicationId         = $ApplicationId
            TenantId              = $TenantId
            CertificateThumbprint = $CertificateThumbprint
        }
    }
}

Example 2

This example is used to test new resources and showcase the usage of new resources being worked on. It is not meant to use as a production baseline.

Configuration Example
{
    param
    (
        [Parameter()]
        [System.String]
        $ApplicationId,

        [Parameter()]
        [System.String]
        $TenantId,

        [Parameter()]
        [System.String]
        $CertificateThumbprint
    )

    Import-DscResource -ModuleName Microsoft365DSC

    Node localhost
    {
        EXOSecOpsOverrideRule "EXOSecOpsOverrideRule-Example"
        {
            Comment               = "Delivers unfiltered mail to the security operations mailbox for analysis"; # Updated Property
            Ensure                = "Present";
            IsSingleInstance      = "Yes";
            SentTo                = @("AlexW@$TenantId");
            ApplicationId         = $ApplicationId
            TenantId              = $TenantId
            CertificateThumbprint = $CertificateThumbprint
        }
    }
}

Example 3

This example is used to test new resources and showcase the usage of new resources being worked on. It is not meant to use as a production baseline.

Configuration Example
{
    param
    (
        [Parameter()]
        [System.String]
        $ApplicationId,

        [Parameter()]
        [System.String]
        $TenantId,

        [Parameter()]
        [System.String]
        $CertificateThumbprint
    )

    Import-DscResource -ModuleName Microsoft365DSC

    Node localhost
    {
        EXOSecOpsOverrideRule "EXOSecOpsOverrideRule-Example"
        {
            Ensure                = "Absent";
            IsSingleInstance      = "Yes";
            ApplicationId         = $ApplicationId
            TenantId              = $TenantId
            CertificateThumbprint = $CertificateThumbprint
        }
    }
}