Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates #1657

Merged
merged 6 commits into from
May 31, 2024
Merged

Updates #1657

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 26 additions & 2 deletions content/authorization/guides/_index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,31 @@
---
title: User Guides
linktitle: User Guides
description: User Guides
description: Read our collection of user guides related to Altinn Authorization.
toc: false
weight: 4
---
---

## Creating and publishing resources in Altinn Studio

This guide explains how an org can create and publish a resource in Altinn Studio Resource Admin.

[Read guide](create-resource-resource-admin)

## Creating and publishing API scheme in Altinn Studio

This guide explains how an org can create and publish an API Scheme in Altinn Studio Resource Admin.

[Read guide](create-apischeme-resource-admin)

## Setting up integration with Altinn Authorization from external services

This guide describes how to integrate with Altinn Authorization from an external service

[Read guide](integrating-link-service)

## XACML

Altinn Authorization uses XACML for Access control. This guide describes how the XACML Policy format is supported in Altinn and the XACML Request and Response formats for PDP.

[Read Guide](xacml)
32 changes: 28 additions & 4 deletions content/authorization/guides/_index.nb.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,31 @@
---
title: User Guides
linktitle: User Guides
description: User Guides
title: Brukerveiledninger
linktitle: Brukerveiledninger
description: Les vår samling av brukerveiledninger knyttet til Altinn Autorisasjon.
toc: false
weight: 4
---
---

## Opprette og publisere ressurser i Altinn Studio

Denne guiden forklarer hvordan en organisasjon kan opprette og publisere en ressurs i Altinn Studio Resource Admin.

[Les guide](create-resource-resource-admin)

## Opprette og publisere API-skjema i Altinn Studio

Denne guiden forklarer hvordan en organisasjon kan opprette og publisere et API-skjema i Altinn Studio Resource Admin.

[Les guide](create-apischeme-resource-admin)

## Sette opp integrasjon med Altinn Autorisasjon fra eksterne tjenester

Denne veiledningen beskriver hvordan du integrerer med Altinn Autorisasjon fra en ekstern tjeneste

[Les guide](integrating-link-service)

## XACML

Altinn Autorisasjon bruker XACML for tilgangskontroll. Denne veiledningen beskriver hvordan XACML Policy-formatet støttes i Altinn og XACML Request and Response-formatene for PDP.

[Les veiledning](xacml)
144 changes: 144 additions & 0 deletions content/authorization/guides/create-apischeme-api/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
---
title: Creating and publishing resources in Altinn Studio
linktitle: API Scheme via API
description: In Altinn Studio Resource admin, you can create resources to use as a basis for access control for services outside of the Altinn Platform.
toc: false
weight: 1
---

I Altinn Studio Resource admin kan du opprette ressurser som skal brukes som grunnlag for tilgangskontroll for tjenester utenfor Altinn-plattformen.

## Forutsetninger

- Organisasjon må ha klient i maskinporten
- Organisasjonen må ha blitt gitt scopene altinn:resourceregistry/resource.write og altinn:resourceregistry/resource.read

## Definere Ressurs for delegerbart API Scheme


De delegerbare API schemsene defineres i Altinn Ressursregister som en ressurs etter ressursmodellen

Følgende attributter er nødvendig


| Attributt | Beskrivelse |
|-------|-------|
|identifier | Globalt unik ID for ressurs. Brukes i Policy også. Påkrevd |
| Title | Tittel for API Scheme. Vises i Altinn portal når man delegerer. Må oppgis for en, nb og nn (engelsk, bokmål og nynorsk) Påkrevd |
| description | Beskrivelse for API Scheme å oppgis for en, nb og nn (engelsk, bokmål og nynorsk) Påkrevd|
| rightDescription | Delegeringsbeskrivelse for API Scheme. Må oppgis for en, nb og nn (engelsk, bokmål og nynorsk) Påkrevd |
| resourceReferences | Det må legges inn en resource refernece med referencetype MaskinportenScope |
| delegable | Må settes til true for at scope skal kunne delegeres til leverandør |
| visible | Må settes til true for at scope skal kunne delegeres til leverandør |
| hasCompetentAuthority | Definere tjenesteeier. Må settes med organisasjonsnr og riktig tjenesteeierkode (NAV, SKD, SVV +++) |
| resourceType | Må settes til MaskinportenSchema |

Nedenfor vises eksempel fra produksjon på API ressurs. ([se samme vi API](https://platform.altinn.no/resourceregistry/api/v1/resource/maskinportenschema-aquaportalapi-write))

```json
{
"identifier": "maskinportenschema-aquaportalapi-write",
"title": {
"en": "Write access to the Aqua Portal API.",
"nb": "Skrivetilgang til API for Akvakulturportalen.",
"nn": "Skrivetilgang til API for Akvakulturportalen."
},
"description": {
"en": "This service provides write access to aquaculture applications for county municipalities and other sector authorities.",
"nb": "Denne tjenesten gir skrivetilgang til akvakultursøknader for fylkeskommuner og andre sektormyndigheter.",
"nn": "Denne tenesta gir skrivetilgang til akvakultursøknader for fylkeskommunar og andre sektormyndigheiter."
},
"rightDescription": {
"en": "This service provides write access to aquaculture applications for county municipalities and other sector authorities.",
"nb": "Denne tjenesten gir skrivetilgang til akvakultursøknader for fylkeskommuner og andre sektormyndigheter.",
"nn": "Denne tenesta gir skrivetilgang til akvakultursøknader for fylkeskommunar og andre sektormyndigheiter."
},
"homepage": "https://www.fiskeridir.no/",
"status": "Active",
"contactPoints": [
{
"contactPage": "https://www.fiskeridir.no/"
}
],
"isPartOf": "",
"resourceReferences": [
{
"referenceSource": "Altinn3",
"reference": "fdir:aquaportalapi.write",
"referenceType": "MaskinportenScope"
}
],
"delegable": true,
"visible": true,
"hasCompetentAuthority": {
"organization": "971203420",
"orgcode": "FD",
"name": {
"en": "The Norwegian Directorate of Fisheries",
"nb": "Fiskeridirektoratet",
"nn": "Fiskeridirektoratet"
}
},
"keywords": [],
"limitedByRRR": false,
"selfIdentifiedUserEnabled": false,
"enterpriseUserEnabled": false,
"resourceType": "MaskinportenSchema"
}
```


## Definere policy for API Scheme

For å kunne støtte delegering av API SCheme til leverandør må API Scheme ressursen ha en policy som beskriver hvem som har rettighet til å delegere
API SCheme til leverandør.

Policy må ha en regel som gir APIADM rollen rettighet til action scopeaccess. Hvis kontaktperson for NUF skal ha mulighet til å delegere må rollen APIADMNUF også legges til.


Nedefor vises policy for ressurs eksempelet. [Last ned fra API](https://platform.altinn.no/resourceregistry/api/v1/resource/maskinportenschema-aquaportalapi-write/policy)


```xml
<?xml version="1.0" encoding="utf-8"?>
<xacml:Policy xmlns:xsl="http://www.w3.org/2001/XMLSchema-instance" xmlns:xacml="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" PolicyId="urn:maskinportenschema:aquaportalapi:write:1" Version="1.0" RuleCombiningAlgId="urn:oasis:names:tc:xacml:3.0:rule-combining-algorithm:deny-overrides">
<xacml:Target/>
<xacml:Rule RuleId="urn:maskinportenschema:aquaportalapi:write:1:1" Effect="Permit">
<xacml:Description>MaskinportenSchema resource policy for; maskinportenschema-aquaportalapi-write for roles; APIADM to have access to actions; ScopeAccess</xacml:Description>
<xacml:Target>
<xacml:AnyOf>
<xacml:AllOf>
<xacml:Match MatchId="urn:oasis:names:tc:xacml:3.0:function:string-equal-ignore-case">
<xacml:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">APIADM</xacml:AttributeValue>
<xacml:AttributeDesignator AttributeId="urn:altinn:rolecode" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
</xacml:Match>
</xacml:AllOf>
</xacml:AnyOf>
<xacml:AnyOf>
<xacml:AllOf>
<xacml:Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<xacml:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">maskinportenschema-aquaportalapi-write</xacml:AttributeValue>
<xacml:AttributeDesignator AttributeId="urn:altinn:resource" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
</xacml:Match>
</xacml:AllOf>
</xacml:AnyOf>
<xacml:AnyOf>
<xacml:AllOf>
<xacml:Match MatchId="urn:oasis:names:tc:xacml:3.0:function:string-equal-ignore-case">
<xacml:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">ScopeAccess</xacml:AttributeValue>
<xacml:AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
</xacml:Match>
</xacml:AllOf>
</xacml:AnyOf>
</xacml:Target>
</xacml:Rule>
<xacml:ObligationExpressions>
<xacml:ObligationExpression FulfillOn="Permit" ObligationId="urn:maskinportenschema:aquaportalapi:write:obligation:1">
<xacml:AttributeAssignmentExpression AttributeId="urn:maskinportenschema:aquaportalapi:write:obligation-assignment:1" Category="urn:altinn:minimum-authenticationlevel">
<xacml:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#integer">3</xacml:AttributeValue>
</xacml:AttributeAssignmentExpression>
</xacml:ObligationExpression>
</xacml:ObligationExpressions>
</xacml:Policy>

```
144 changes: 144 additions & 0 deletions content/authorization/guides/create-apischeme-api/_index.nb.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
---
title: Opprette og publisere delegerbar API Scheme
linktitle: API Scheme via API
description: Denne guiden forklarer hvordan du kan opprette og publisere API Scheme fre
toc: false
weight: 1
---

I Altinn Studio Resource admin kan du opprette ressurser som skal brukes som grunnlag for tilgangskontroll for tjenester utenfor Altinn-plattformen.

## Forutsetninger

- Organisasjon må ha klient i maskinporten
- Organisasjonen må ha blitt gitt scopene altinn:resourceregistry/resource.write og altinn:resourceregistry/resource.read

## Definere Ressurs for delegerbart API Scheme


De delegerbare API schemsene defineres i Altinn Ressursregister som en ressurs etter ressursmodellen

Følgende attributter er nødvendig


| Attributt | Beskrivelse |
|-------|-------|
|identifier | Globalt unik ID for ressurs. Brukes i Policy også. Påkrevd |
| Title | Tittel for API Scheme. Vises i Altinn portal når man delegerer. Må oppgis for en, nb og nn (engelsk, bokmål og nynorsk) Påkrevd |
| description | Beskrivelse for API Scheme å oppgis for en, nb og nn (engelsk, bokmål og nynorsk) Påkrevd|
| rightDescription | Delegeringsbeskrivelse for API Scheme. Må oppgis for en, nb og nn (engelsk, bokmål og nynorsk) Påkrevd |
| resourceReferences | Det må legges inn en resource refernece med referencetype MaskinportenScope |
| delegable | Må settes til true for at scope skal kunne delegeres til leverandør |
| visible | Må settes til true for at scope skal kunne delegeres til leverandør |
| hasCompetentAuthority | Definere tjenesteeier. Må settes med organisasjonsnr og riktig tjenesteeierkode (NAV, SKD, SVV +++) |
| resourceType | Må settes til MaskinportenSchema |

Nedenfor vises eksempel fra produksjon på API ressurs. ([se samme vi API](https://platform.altinn.no/resourceregistry/api/v1/resource/maskinportenschema-aquaportalapi-write))

```json
{
"identifier": "maskinportenschema-aquaportalapi-write",
"title": {
"en": "Write access to the Aqua Portal API.",
"nb": "Skrivetilgang til API for Akvakulturportalen.",
"nn": "Skrivetilgang til API for Akvakulturportalen."
},
"description": {
"en": "This service provides write access to aquaculture applications for county municipalities and other sector authorities.",
"nb": "Denne tjenesten gir skrivetilgang til akvakultursøknader for fylkeskommuner og andre sektormyndigheter.",
"nn": "Denne tenesta gir skrivetilgang til akvakultursøknader for fylkeskommunar og andre sektormyndigheiter."
},
"rightDescription": {
"en": "This service provides write access to aquaculture applications for county municipalities and other sector authorities.",
"nb": "Denne tjenesten gir skrivetilgang til akvakultursøknader for fylkeskommuner og andre sektormyndigheter.",
"nn": "Denne tenesta gir skrivetilgang til akvakultursøknader for fylkeskommunar og andre sektormyndigheiter."
},
"homepage": "https://www.fiskeridir.no/",
"status": "Active",
"contactPoints": [
{
"contactPage": "https://www.fiskeridir.no/"
}
],
"isPartOf": "",
"resourceReferences": [
{
"referenceSource": "Altinn3",
"reference": "fdir:aquaportalapi.write",
"referenceType": "MaskinportenScope"
}
],
"delegable": true,
"visible": true,
"hasCompetentAuthority": {
"organization": "971203420",
"orgcode": "FD",
"name": {
"en": "The Norwegian Directorate of Fisheries",
"nb": "Fiskeridirektoratet",
"nn": "Fiskeridirektoratet"
}
},
"keywords": [],
"limitedByRRR": false,
"selfIdentifiedUserEnabled": false,
"enterpriseUserEnabled": false,
"resourceType": "MaskinportenSchema"
}
```


## Definere policy for API Scheme

For å kunne støtte delegering av API SCheme til leverandør må API Scheme ressursen ha en policy som beskriver hvem som har rettighet til å delegere
API SCheme til leverandør.

Policy må ha en regel som gir APIADM rollen rettighet til action scopeaccess. Hvis kontaktperson for NUF skal ha mulighet til å delegere må rollen APIADMNUF også legges til.


Nedefor vises policy for ressurs eksempelet. [Last ned fra API](https://platform.altinn.no/resourceregistry/api/v1/resource/maskinportenschema-aquaportalapi-write/policy)


```xml
<?xml version="1.0" encoding="utf-8"?>
<xacml:Policy xmlns:xsl="http://www.w3.org/2001/XMLSchema-instance" xmlns:xacml="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" PolicyId="urn:maskinportenschema:aquaportalapi:write:1" Version="1.0" RuleCombiningAlgId="urn:oasis:names:tc:xacml:3.0:rule-combining-algorithm:deny-overrides">
<xacml:Target/>
<xacml:Rule RuleId="urn:maskinportenschema:aquaportalapi:write:1:1" Effect="Permit">
<xacml:Description>MaskinportenSchema resource policy for; maskinportenschema-aquaportalapi-write for roles; APIADM to have access to actions; ScopeAccess</xacml:Description>
<xacml:Target>
<xacml:AnyOf>
<xacml:AllOf>
<xacml:Match MatchId="urn:oasis:names:tc:xacml:3.0:function:string-equal-ignore-case">
<xacml:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">APIADM</xacml:AttributeValue>
<xacml:AttributeDesignator AttributeId="urn:altinn:rolecode" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
</xacml:Match>
</xacml:AllOf>
</xacml:AnyOf>
<xacml:AnyOf>
<xacml:AllOf>
<xacml:Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<xacml:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">maskinportenschema-aquaportalapi-write</xacml:AttributeValue>
<xacml:AttributeDesignator AttributeId="urn:altinn:resource" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
</xacml:Match>
</xacml:AllOf>
</xacml:AnyOf>
<xacml:AnyOf>
<xacml:AllOf>
<xacml:Match MatchId="urn:oasis:names:tc:xacml:3.0:function:string-equal-ignore-case">
<xacml:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">ScopeAccess</xacml:AttributeValue>
<xacml:AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
</xacml:Match>
</xacml:AllOf>
</xacml:AnyOf>
</xacml:Target>
</xacml:Rule>
<xacml:ObligationExpressions>
<xacml:ObligationExpression FulfillOn="Permit" ObligationId="urn:maskinportenschema:aquaportalapi:write:obligation:1">
<xacml:AttributeAssignmentExpression AttributeId="urn:maskinportenschema:aquaportalapi:write:obligation-assignment:1" Category="urn:altinn:minimum-authenticationlevel">
<xacml:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#integer">3</xacml:AttributeValue>
</xacml:AttributeAssignmentExpression>
</xacml:ObligationExpression>
</xacml:ObligationExpressions>
</xacml:Policy>

```
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Creating and publishing API scheme in altinn Studio
linktitle: Creating API Scheme
description: This explaines how
description: This explaines how you can define a API scheme in Altinn
toc: false
weight: 1
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Opprette og publisere ressurser i altinn Studio
title: Opprette og publisere APIScheme i Altinn Studio
linktitle: Opprette API Scheme
description: Denne guiden forklarer hvordan du kan opprette og publisere ressurser i fra Ressursadministrasjon i Altinn Studio
toc: false
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: Creating and publishing resources in altinn Studio
title: Creating and publishing resources in Altinn Studio
linktitle: Creating Resources
description: This explaines how
description: In Altinn Studio Resource admin, you can create resources to use as a basis for access control for services outside of the Altinn Platform.
toc: false
weight: 1
---


In Altinn Studio Resource admin, you can create resources to use as a basis for access control for services outside of the Altinn Platform.


## Prerequisites

Expand Down
Loading
Loading