> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell-universal/da/api/security.md).

# Sikkerhed

Beskyt REST API-slutpunkter i PowerShell Universal med token-, Windows- og cookie-godkendelse, og håndhæv derefter rollebaseret autorisation for hver anmodning.

Når det er aktiveret, vil De kunne håndhæve godkendelse og autorisation på Deres slutpunkter.

## Definition af sikre slutpunkter

De kan definere sikre slutpunkter i brugergrænsefladen ved at aktivere godkendelse. De finder slutpunktets godkendelse og autorisation under fanen Security i egenskaberne for et slutpunkt.

De kan også definere sikre slutpunkter ved hjælp af filen `.universal/endpoints.ps1` eller administrations-API'en ved hjælp af `New-PSUEndpoint`.

```powershell
New-PSUEndpoint -Url '/endpoint' -Method 'GET' -Endpoint {
   "Hello, world!"
} -Authentication
```

Når godkendelse er aktiveret, håndhæves brugen af en af de konfigurerede godkendelsesmetoder. API'er understøtter følgende metoder.

* JWT-app-tokens
* Windows-godkendelse
* Cookie-godkendelse
* Basic-godkendelse

## Adgang til sikre slutpunkter

Når De har defineret et sikkert slutpunkt, skal De angive godkendelse og autorisation for at få adgang til slutpunktet.

### Godkendelse med tokens

{% hint style="warning" %}
Bemærk, at hvis De hoster i IIS og ikke har anonym godkendelse aktiveret, kan De ikke sende app-tokens til PowerShell Universal-serveren.
{% endhint %}

For at godkende med tokens skal De først generere et nyt app-token til brug. De kan bruge cmdletten `Grant-PSUAppToken` til at gøre det eksternt eller tildele et token til den bruger, der aktuelt er logget på, under **User menu > User Settings > Tokens**.

Når De har oprettet Deres app-token, kan De nu bruge det til at godkende mod det sikre slutpunkt. For at gøre det skal De sende headeren Authorization sammen med anmodningen.

```powershell
Invoke-RestMethod http://localhost:5000/auth -Headers @{ Authorization = "******" }
```

#### Brugerdefineret autorisationsheader

PowerShell Universal leverer en brugerdefineret autorisationsheader til at understøtte scenarier med omvendte proxyer, der kan kræve deres egen Authorization-header. Hvis headeren `X-PSU-Authorization` er angivet, ignorerer PSU headeren `Authorization` og bruger denne header i stedet.

```
Invoke-RestMethod http://localhost:5000/auth -Headers @{ 
    Authorization = "******" 
    'X-PSU-Authorization' = '******'
}
```

### Godkendelse med Windows-godkendelse

For at godkende med [Windows-godkendelse](/powershell-universal/da/sikkerhed/enterprise-security/windows-sso.md#windows-authentication-in-iis) kan De bruge parameteren `-UseDefaultCredentials` for `Invoke-RestMethod` og `Invoke-WebRequest` . Dette udfører Negotiate-godkendelse, uanset om De kører i IIS eller en tjeneste.

```powershell
Invoke-RestMethod http://localhost:5000/auth -UseDefaultCredentials
```

### Godkendelse med cookies

For at godkende med cookies skal De først kalde logon-API'et for at modtage en gyldig cookie fra systemet. De kan bruge `Invoke-WebRequest` til dette. Send brugernavnet og adgangskoden som brødtekst. Angiv parameteren `-SessionVariable` for at oprette en session.

```powershell
Invoke-WebRequest http://localhost:5000/api/v1/signin -Body (@{ 
    UserName = "Admin"
    Password = "Any"
} | ConvertTo-Json) -ContentType 'application/json' -SessionVariable mySession -Method POST
```

Når De er blevet godkendt, kan De bruge Deres variabel `$mySession` til at kalde sikre slutpunkter.

```powershell
 Invoke-WebRequest http://localhost:5000/auth -WebSession $mySession
```

## Håndhævelse af roller

Ud over at oprette slutpunkter, der kræver godkendelse, kan De også håndhæve roller ved at definere en rolle i cmdletten `New-PSUEndpoint` eller ved at vælge en i brugergrænsefladen. Hvis en rolle er valgt, skal den besiddes.

Windows- og cookie-godkendelse tildeler roller baseret på brugerens identitet og rollepolitikkerne, sådan som de anvendes.

JWT-app-tokens vil bruge den rolle, der blev defineret, da de blev genereret.

## Execution Roles

Ved at bruge egenskaben Execution Roles kan De angive, hvilke roller der tildeles, mens API-slutpunktet køres. Som standard køres slutpunktet ud fra kalderens roller. I nogle scenarier, for eksempel når De bruger Secrets med roller, kan De ønske at angive yderligere roller, som kalderen muligvis ikke har. Execution Roles kræver ikke, at API-godkendelsen er aktiveret.

## API

* [New-PSUEndpoint](/powershell-universal/da/powershell-kommandoer/new-psuendpoint.md)
* [Get-PSUEndpoint](/powershell-universal/da/powershell-kommandoer/get-psuendpoint.md)
* [Remove-PSUEndpoint](/powershell-universal/da/powershell-kommandoer/remove-psuendpoint.md)
* [New-PSUApiResponse](/powershell-universal/da/powershell-kommandoer/new-psuapiresponse.md)
* [Set-PSUSetting](/powershell-universal/da/powershell-kommandoer/set-psusetting.md)

### Se også

* [Devolutions Academy – Oprettelse af et variabelslutpunkt](https://academy.devolutions.net/student/activity/3466016-creating-a-variable-endpoint)
* [Devolutions Academy – Oprettelse af et slutpunkt med forespørgselsstreng](https://academy.devolutions.net/student/activity/3466018-creating-a-query-string-endpoint)
* [Devolutions Academy – Oprettelse af et slutpunkt, der accepterer en brødtekst](https://academy.devolutions.net/student/activity/3466020-creating-an-endpoint-that-accepts-a-body)
* [Devolutions Academy – Forskellige rutemetoder](https://academy.devolutions.net/student/activity/3466022-different-route-methods)
* [Devolutions Academy – Godkendelse](https://academy.devolutions.net/student/path/3465905/activity/5612255)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/powershell-universal/da/api/security.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
