> 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/pam/da/pam-with-devolutions-server/getting-started/custom-pam-providers/create-a-custom-pam-provider-in-devolutions-server.md).

# Opret en brugerdefineret PAM-udbyder i Devolutions Server

Byg brugerdefinerede PAM-skabeloner og -udbydere i Devolutions Server ved at knytte handlingsscripts til udbyder- og kontoegenskaber for hver handling.

Brugerdefinerede PAM-udbydere bygges og administreres ved hjælp af skabeloner. Skabeloner udnytter indsatsen fra Devolutions og fællesskabet til at bygge udbydere og mindsker behovet for, at brugere opretter dem fra bunden.

En skabelon er et objekt i Devolutions PAM, der fungerer som en ramme for opbygning af en brugerdefineret PAM-udbyder.

Skabeloner guider Devolutions Server i at knytte parametrene og outputtet fra handlingsscriptet til de interne egenskaber i Devolutions PAM, så oplysninger kan angives og udveksles. Skabeloner gør det muligt for brugere at udfylde egenskaberne for en identitetsudbyder for at oprette en udbyder.

Opret en brugerdefineret skabelon, eller importér en af de skabeloner, der allerede findes.

{% hint style="warning" %}
[WinRM](https://docs.devolutions.net/server/knowledge-base/how-to-articles/enable-winrm-and-add-trusted-hosts) skal være aktiveret, for at dette virker.
{% endhint %}

### Opret en brugerdefineret PAM-skabelon

Når [handlingsscripts](/pam/da/concepts/action-script.md) er oprettet, er næste trin at udvikle den brugerdefinerede PAM-skabelon i Devolutions Server.

1. Gå i Devolutions Server til ***Administration – Privilegeret adgang – Udbydere***.
2. Klik på ***Brugerdefinerede PAM-skabeloner***.
3. Klik på ***Tilføj*** for at oprette en ny skabelon.
4. Angiv under ***Generelt*** et ***Navn*** (obligatorisk) og en ***Beskrivelse*** (valgfri) til Deres nye skabelon. Det er også muligt at ændre det viste ikon.
5. Der kan aktiveres tre handlinger, hver med sit eget script. Markér felterne ud for dem, som De ønsker, at denne udbyder skal implementere.

   * ***Rotation af adgangskoder***, for at nulstille kontoadgangskoder.
   * ***Heartbeat***, for at synkronisere konti.
   * ***Kontoopdagelse***, til scanning.

   <div data-gb-custom-block data-tag="hint" data-style="success" class="hint hint-success"><p>Det er ikke obligatorisk at aktivere hver handling, men det anbefales for fuldt ud at udnytte fordelene ved en brugerdefineret PAM-udbyder.</p></div>
6. Angiv under ***Udbyderegenskaber*** og ***Kontoegenskaber*** de felter, som udbyderne og kontiene skal implementere.

   * ***Udbyderegenskaber*** definerer de attributter, den brugerdefinerede PAM-udbyder bruger til at godkende og oprette forbindelse til en identitetsudbyder. Disse egenskaber kan omfatte brugernavn, adgangskode, værtsnavn eller en hvilken som helst anden unik attribut for en identitetsudbyder.
   * ***Kontoegenskaber*** er attributter, der er knyttet til en bestemt konto hos en identitetsudbyder. Almindelige kontoegenskaber omfatter id, brugernavn og hemmelighed. Kontoegenskaber identificerer entydigt udbyderkonti og giver en værdi til at gemme en kontos adgangskode eller andre sikre legitimationsoplysninger.

   Tilføj egenskaber ved at klikke på ***Tilføj egenskab***. Angiv et ***Navn*** og en ***Type*** for hver egenskab. Nedenfor er en liste over de forskellige typer:

   * ***Boolesk***
   * ***Beskrivelse*** (streng)
   * ***Int***
   * ***Adgangskode*** (SecureString)
   * ***Følsomme data*** (SecureString)
   * ***Streng***
   * ***Unik identifikator*** (streng)
   * ***Brugernavn*** (streng)

   <div data-gb-custom-block data-tag="hint" data-style="success" class="hint hint-success"><p>Sørg for at angive typen Unik identifikator, hvis De planlægger at bruge kontoopdagelse. Feltet hjælper med at holde styr på, hvilke konti der er blevet tilføjet siden den seneste scanning.</p></div>
7. Markér feltet ***Obligatorisk*** ud for en egenskab, hvis felterne er påkrævet ved oprettelse/redigering.
8. Gå for hver handling, der blev aktiveret i sektionen ***Generelt***, til den tilsvarende sektion i menuen til venstre.
9. Knyt egenskaberne for udbyderen/kontoen, som scriptet skal bruge for at virke, ved at angive følgende:

   * ***Navn***: Navn på variablen i scriptet.
   * ***Kilde***: Om værdien leveres af udbyderen eller kontoen.
   * ***Egenskab***: Den kildeegenskab, der indsættes i scriptet.

   Alle handlinger har tilknyttede handlingsscripts med mindst to eller tre parametre. Brugerdefinerede PAM-udbydere skal forstå, hvordan en egenskab knyttes til en scriptparameter, for at definere forholdet mellem objektet for den brugerdefinerede PAM-udbyder (udbyder eller konto) og hvert handlingsscript. Scriptparametre giver Dem mulighed for at angive over for den brugerdefinerede PAM-udbyder, hvilke parametre hvert af Deres handlingsscripts har, og hvilken egenskab for den brugerdefinerede PAM-udbyder den scriptparameter skal knyttes til. Om nødvendigt kan De tilføje andre scriptparametre.
10. Indsæt handlingens script ved enten at søge på Deres computer for at finde det eller ved manuelt at redigere feltet ***Script***. De kan også generere et grundscript at bygge videre på.
11. Test Deres script, når det er færdigt, og ***Gem*** derefter Deres nye skabelon. Deres nye brugerdefinerede PAM-skabelon er oprettet og findes på skabelonlisten. De kan springe til afsnittet Opret en brugerdefineret PAM-udbyder.

#### Skabeloneksempel

Nedenfor er et eksempel på værdier for en færdig brugerdefineret PAM-skabelon baseret på følgende handlingsscripts:

```powershell
[CmdletBinding()]
param(
    [Parameter(Mandatory)]
    [string]$IdentityProviderEndpoint,

    [Parameter(Mandatory)]
    [string]$IdentityProviderEndpointUserName,

    [Parameter(Mandatory)]
    [securestring]$IdentityProviderEndpointPassword
)
```

```powershell
[CmdletBinding()]
param(
    [Parameter(Mandatory)]
    [string]$IdentityProviderEndpoint,

    [Parameter(Mandatory)]
    [string]$IdentityProviderEndpointUserName,

    [Parameter(Mandatory)]
    [securestring]$IdentityProviderEndpointPassword,

    [Parameter(Mandatory)]
    [securestring]$NewPassword,

    [Parameter(Mandatory)]
    [string]$AccountUserName
)
```

```powershell
[CmdletBinding()]
param(
    [Parameter(Mandatory)]
    [string]$IdentityProviderEndpoint,

    [Parameter(Mandatory)]
    [string]$IdentityProviderEndpointUserName,

    [Parameter(Mandatory)]
    [securestring]$IdentityProviderEndpointPassword,

    [Parameter(Mandatory)]
    [securestring]$AccountSecret,

    [Parameter(Mandatory)]
    [string]$AccountUserName
)
```

**Udbyderegenskaber**

| Egenskabsnavn                    | Egenskabstype | Obligatorisk |
| -------------------------------- | ------------- | ------------ |
| IdentityProviderEndpoint         | String        | Ja           |
| IdentityProviderEndpointUserName | UserName      | Ja           |
| IdentityProviderEndpointPassword | Password      | Ja           |

**Kontoegenskaber**

| Egenskabsnavn   | Egenskabstype    | Obligatorisk |
| --------------- | ---------------- | ------------ |
| AccountUserName | UniqueIdentifier | Ja           |
| AccountSecret   | Password         | Ja           |

**Typer af scriptparametre**

| Parameternavn                    | Handling(er)                                        | Egenskab                         | Kilde   | Obligatorisk |
| -------------------------------- | --------------------------------------------------- | -------------------------------- | ------- | ------------ |
| IdentityProviderEndpoint         | Rotation af adgangskoder, Heartbeat, Kontoopdagelse | IdentityProviderEndpoint         | Udbyder | Ja           |
| IdentityProviderEndpointUserName | Rotation af adgangskoder, Heartbeat, Kontoopdagelse | IdentityProviderEndpointUserName | Udbyder | Ja           |
| IdentityProviderEndpointPassword | Rotation af adgangskoder, Heartbeat, Kontoopdagelse | IdentityProviderEndpointPassword | Udbyder | Ja           |
| NewPassword                      | Rotation af adgangskoder                            | N/A                              | System  | Ja           |
| AccountUserName                  | Rotation af adgangskoder, Heartbeat                 | AccountUserName                  | Konto   | Ja           |
| AccountSecret                    | Heartbeat                                           | AccountSecret                    | Konto   | Ja           |

### Importér en brugerdefineret PAM-skabelon

{% embed url="<https://youtu.be/hsLuhLJjCaM?t=112>" %}

{% hint style="info" %}
De kan få adgang til vores offentlige [GitHub-lager](https://github.com/Devolutions/PAM-Providers) for at finde brugerdefinerede PAM-udbydere, som er lavet af teamet hos Devolutions, og vejledning i, hvordan de bruges.
{% endhint %}

1. Gå i Devolutions Server til ***Administration – Privilegeret adgang – Udbydere***.
2. Klik på ***Brugerdefinerede PAM-skabeloner***.
3. Klik på ***Importér***.
4. Upload Deres .json-fil, og klik derefter på ***Importér***.
5. Tilpas skabelonindstillingerne om nødvendigt, og klik derefter på ***Gem***.

Deres skabelon er nu importeret og findes på listen ***Brugerdefinerede PAM-skabeloner***.

### Opret en brugerdefineret PAM-udbyder

Når Deres skabelon er oprettet eller importeret, er De klar til at oprette en brugerdefineret PAM-udbyder.

1. Gå til ***Administration – Privilegeret adgang – Udbydere***, og klik derefter på ***Tilføj***.
2. Gå til ***Brugerdefineret*** i menuen til venstre, og vælg derefter Deres nye skabelon på listen. Klik på ***Fortsæt***.
3. Angiv et ***Navn*** og et ***Brugernavn*** på konfigurationssiden ***Udbyder***, da disse oplysninger er obligatoriske. Angiv derefter om nødvendigt de øvrige valgmuligheder efter Deres behov.
4. Klik på ***Gem***.

Deres nye brugerdefinerede PAM-udbyder er oprettet og findes på udbyderlisten.

#### Se også

* [Devolutions Academy - Configuring a custom PAM provider](https://academy.devolutions.net/student/path/2354099/activity/3423448)


---

# 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/pam/da/pam-with-devolutions-server/getting-started/custom-pam-providers/create-a-custom-pam-provider-in-devolutions-server.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.
