Skip to content

Commit

Permalink
Merge branch 'master' into new-docs-button
Browse files Browse the repository at this point in the history
  • Loading branch information
olavflar authored Dec 12, 2024
2 parents 760f355 + 1308612 commit 3bcbb02
Show file tree
Hide file tree
Showing 29 changed files with 813 additions and 108 deletions.
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,6 @@
"workbench.editor.customLabels.patterns": {
"content/**/*index.*md": "${dirname}/${filename}.${extname}"

}
},
"cSpell.language": "en,nb"
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Migration of Linked Services to Resource Registry
linktitle: Migration of Linked Services
description: The Resource Registry is central for those who want to use Altinn authorization for access control and management for services they operate outside of Altinn.
description: The resource registry is essential for those who want to use Altinn authorization for access control and management for services they operate outside of Altinn.
tags: [architecture, security, authorization, xacml]
weight: 1
---
Expand All @@ -11,26 +11,28 @@ In the resource registry, you can create entirely new resources or base resource
{{% notice warning %}}
Altinn 2 linked services where Altinn offers startup control will not be continued.

This means that those who currently use startup control must implement this in their own solutions and link the user directly to their solution. For example, from the Altinn service catalog.
This means that those who currently use startup control must implement this in their own solutions and link the user directly to their solution, for example from the Altinn service catalog.
{{% /notice %}}

### Import from Altinn 2 Linked Services

If you have existing linked services in Altinn 2 that you use for external authorization, these must be moved to the resource registry in the Altinn 3 platform.
If you have existing linked services in Altinn 2 used for external authorization, they must be moved to the resource registry in the Altinn 3 platform.

In Altinn Studio, you can choose to create new resources based on existing linked services.

Select import resource
**This function is essential if you want to migrate existing delegations for an existing Altinn 2 service so that they also apply to the new resource in Altinn 3.**

Select "Import Resource".

![Migration](/authorization/what-do-you-get/resourceregistry/migration/migrationstep1.png "Migration")

Provide the ID to be used in the Altinn resource registry. This ID will be central in
Provide the ID to be used in the Altinn resource registry. This ID will be central.

![Migration](/authorization/what-do-you-get/resourceregistry/migration/migrationstep2.png "Migration")

When you click import, a new resource is created in Altinn Studio in the organization's repository.
When you click "Import", a new resource is created in Altinn Studio in the organization's repository.

Since the resource registry requires more complete data than was possible to set in Altinn 2, you will need to fill in additional values
Since the resource registry requires more complete data than was possible to set in Altinn 2, you must fill in additional values:

- Title in Bokmål, Nynorsk, and English
- Delegation text in Bokmål, Nynorsk, and English
Expand All @@ -43,36 +45,43 @@ Since the resource registry requires more complete data than was possible to set

Upon import, access rules similar to those in Altinn 2 are created.

Relevant access packages should also be added to make the service ready for transition to access packages from Altinn roles.
Relevant access packages should also be added to prepare the service for transition to access packages from Altinn roles.

![Migration](migrationstep4.png "Migration")

{{% notice warning %}}
For delegation migration to work, it is important that the policy contains the rules that exist in Altinn 2. For example, you cannot remove the signing rule if it was part of the service in Altinn 2.
{{% /notice %}}

#### Publishing

When the properties of the resource are complete, it can be published to the test environment or production.
When the resource properties are complete, it can be published to the test environment or production.

#### Change of API Integration
#### Changing API Integration

To perform access control on users in external services, the service owner must make calls to Altinn access control (PDP) to check access.
This is done via an API based on the XACML standard.
To perform access control on users in external services, the service owner must make calls to Altinn access control (PDP) to check access. This is done via an API based on the XACML standard.

Functionally, the request contains
The request contains:

- Information about who wants to perform the request
- What type of resource is being discussed and who is the party for that resource.
- What operation the end user wants to perform.
- What type of resource it is and who is the party for that resource
- What operation the end user wants to perform

In a request, you can ask about several things simultaneously if needed.

#### Migration of Delegations

For most linked services, there are [active delegations in Altinn 2](https://github.com/Altinn/altinn-access-management/issues/579). These are rights that have been granted from an actor to a person or organization. For these users to continue to have access after a transition to the resource registry, the rights must be migrated over.

For most linked services, there are [active delegations in Altinn 2](https://github.com/Altinn/altinn-access-management/issues/579). These are rights granted from one actor to a person or organization.

For these users to continue to have access after transitioning to the resource registry, the rights must be migrated over.

In Altinn Studio, you can start a batch on services created **based on an imported resource from Altinn 2** that:

- Deactivates the Altinn 2 service so that no changes to delegation can be made.
- Copies the delegations to the new resource in Altinn 3.


Currently, this function is hidden behind a feature flag in Altinn Studio.

```javascript
Expand All @@ -81,20 +90,22 @@ localStorage.setItem('featureFlags', "[\"resourceMigration\"]")

Run the command above in the browser console (available via developer tools).

Starting the batch job will take about 10 minutes before the job starts. The first thing the job does is deactivate the service before it runs the migration to Altinn 3.
Starting the batch job will take about 10 minutes before the job starts. The first thing the job does is deactivate the service before migrating to Altinn 3.

The service must be migrated to the environment where you want to migrate delegations. We strongly recommend testing this in TT02 before running the job in Altinn 3.
The service must be migrated to the environment where you will migrate delegations. We strongly recommend testing this in TT02 before running the job in Altinn 3.

![Migrate](migrationstep5.png "Migration of delegations in Altinn Studio")
![Migrate](migrationstep5.png "Migration options in Altinn Studio")

![Migrate](migrationstep6.png "Migration options in Altinn Studio")

After running, the delegations will be transferred. This must currently be checked manually as counting is not yet available.

We hope for feedback from service owners to adapt the process.
We hope for feedback from service owners to adjust the process.

##### Creating Reference to Altinn 2 Service

##### Create Reference to Altinn 2 Service
If you have created a resource in the Altinn 3 resource registry without using the import functionality, you can add the reference manually.

If you have created a resource in the Altinn 3 resource registry without using the import functionality, you can add a reference manually.

This can be done by the following methods:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,36 +1,38 @@
---
title: Migrering av lenketjenester til ressoursregister
title: Migrering av lenketjenester til ressursregister
linktitle: Migrering lenketjenester
description: Ressursregisteret er sentral for de som ønsker å benytte Altinn autorisasjon til tilgangsstyring og kontroll for tjenester de drifter utenfor Altinn.
description: Ressursregisteret er sentralt for de som ønsker å benytte Altinn autorisasjon til tilgangsstyring og kontroll for tjenester de drifter utenfor Altinn.
tags: [architecture, security, authorization, xacml]
weight: 1
---

I ressursregisteret kan man opprette helt nye ressurser eller baserer ressurser på Altinn 2 lenketjenester.
I ressursregisteret kan man opprette helt nye ressurser eller basere ressurser på Altinn 2 lenketjenester.

{{% notice warning %}}
Altinn 2 lenketjenester hvor Altinn tilbyr oppstartskontroll vil ikke videreføres.
{{% notice warning %}}
Altinn 2 lenketjenester hvor Altinn tilbyr oppstartskontroll vil ikke videreføres.

Det betyr at for de som i dag bruker oppstartskontroll må selv implementere dette i sine løsninger og lenke brukeren direkte til sin løsning. Fra f.eks Altinn tjenestekatalog.
Det betyr at de som i dag bruker oppstartskontroll må selv implementere dette i sine løsninger og lenke brukeren direkte til sin løsning, for eksempel fra Altinn tjenestekatalog.
{{% /notice %}}

### Import fra Altinn 2 lenketjenester

Hvis man har eksisterende lenketjenester i Altinn 2 som man benytter for ekstern autorisasjon må disse flyttes over til ressursregisteret i Altinn 3 plattformen.
Hvis man har eksisterende lenketjenester i Altinn 2 som benyttes for ekstern autorisasjon, må disse flyttes over til ressursregisteret i Altinn 3-plattformen.

I Altinn Studio kan man velge å opprette ny ressurser basert på eksisteren lenketjenste.
I Altinn Studio kan man velge å opprette nye ressurser basert på eksisterende lenketjenester.

Velg importer ressurs
**Denne funksjonen er essensiell hvis man ønsker å migrere eksisterende delegeringer for eksisterende Altinn 2-tjeneste slik at de også gjelder for ny ressurs i Altinn 3.**

Velg "Importer ressurs".

![Migration](/authorization/what-do-you-get/resourceregistry/migration/migrationstep1.png "Migration")

Gi id som skal benyttes i Altinn ressourceregistret. Denne Id vil være sentral i
Gi ID som skal benyttes i Altinn ressursregisteret. Denne ID vil være sentral.

![Migration](/authorization/what-do-you-get/resourceregistry/migration/migrationstep2.png "Migration")

Når man trykker import opprettes det en ny ressurs i Altinn Studio i repositry til organisasjon.
Når man trykker "Import", opprettes det en ny ressurs i Altinn Studio i organisasjonens repository.

Da ressursregisteret krever mer komplette data enn hva som var mulig å sette i Altinn 2, vil du måtte fylle ut ekstra verdier
Da ressursregisteret krever mer komplette data enn hva som var mulig å sette i Altinn 2, du fylle ut ekstra verdier:

- Tittel på Bokmål, Nynorsk og Engelsk
- Delegeringstekst på Bokmål, Nynorsk og Engelsk
Expand All @@ -39,32 +41,33 @@ Da ressursregisteret krever mer komplette data enn hva som var mulig å sette i

![Migration](migrationstep3.png "Migration")


#### Tilgangsregler

Ved import opprettes det tilgangsregler lik de som var i Altinn 2.
Ved import opprettes det tilgangsregler lik de som var i Altinn 2.

Det bør også legges til relevant tilgangspakker for å gjøre tjenesten klar for overgang til tilgangspakker fra Altinn roller.
Det bør også legges til relevante tilgangspakker for å gjøre tjenesten klar for overgang til tilgangspakker fra Altinn roller.

![Migration](migrationstep4.png "Migration")

{{% notice warning %}}
For at migrering av delegering skal fungere, er det viktig at policy inneholder de reglene som finnes i Altinn 2. Man kan for eksempel ikke fjerne signeringsregel hvis dette var en del av tjenesten i Altinn 2.
{{% /notice %}}

#### Publisering

Når egenskaper med ressursen er komplett kan den publiseres til testmiljø eller produksjon.
Når egenskaper med ressursen er komplett, kan den publiseres til testmiljø eller produksjon.

#### Endring av API integrasjon
#### Endring av API-integrasjon

For å gjøre tilgangskontroll på brukere i eksterne tjenester må tjenesteeier gjøre at kall mot Altinn tilgangskontroll (PDP) for å sjekke tilgang
Dette gjøres vi et API basert på XACML standarden.
For å gjøre tilgangskontroll på brukere i eksterne tjenester, må tjenesteeier gjøre kall mot Altinn tilgangskontroll (PDP) for å sjekke tilgang. Dette gjøres via et API basert på XACML-standarden.

Funksjonelt inneholder forespørselen
Forespørselen inneholder:

- Informasjon om hvem som ønsker å utføre forespørsel
- Hvilken type ressurs er de snakk om og hvem er part for den ressursen.
- Hvilken operasjon er det som sluttbruker ønsker å utføre.
- Informasjon om hvem som ønsker å utføre forespørselen
- Hvilken type ressurs det er snakk om og hvem som er part for den ressursen
- Hvilken operasjon sluttbruker ønsker å utføre

I en forespørsel kan man spørre om flere ting samtidig ved behov.
I en forespørsel kan man spørre om flere ting samtidig ved behov.

#### Migrering av delegeringer

Expand Down Expand Up @@ -126,4 +129,54 @@ Formatet på det som må legges til er som følger:
Dette kan legges til ved å redigere ressursen i Gitea. Husk å bruke riktig tjenestekoder og URL.


Foreløpig er denne funksjonen gjemt bak et feature flag i Altinn Studio.

```javascript
localStorage.setItem('featureFlags', "[\"resourceMigration\"]")
```

Kjør kommandoen over i konsollen på nettleseren (tilgjengelig via utviklerverktøy).

Ved å starte batchjobben vil det ta ca. 10 minutter før jobben starter. Det første jobben gjør er å deaktivere tjenesten før den kjører migreringen til Altinn 3.

Tjenesten må være migrert til det miljøet du skal migrere delegeringer i. Vi anbefaler på det sterkeste å teste dette i TT02 før jobben kjøres i Altinn 3.

![Migrate](migrationstep5.png "Migreringsvalg i Altinn Studio")

![Migrate](migrationstep6.png "Migreringsvalg i Altinn Studio")

I etterkant av kjøringen vil delegeringene være overført. Dette må foreløpig sjekkes manuelt da telling ikke er tilgjengelig enda.

Her håper vi på tilbakemeldinger fra tjenesteeiere for å tilpasse prosessen.

##### Opprette referanse til Altinn 2-tjeneste

Hvis man har opprettet en ressurs i Altinn 3 ressursregister uten å bruke importfunksjonaliteten, kan man legge på referanse manuelt.

Dette kan gjøres ved følgende fremgangsmåter:

**Endre ressursfil i Gitea**

Formatet på det som må legges til er som følger:

```json
"resourceReferences": [
{
"referenceSource": "Altinn2",
"reference": "5600",
"referenceType": "ServiceCode"
},
{
"referenceSource": "Altinn2",
"reference": "100",
"referenceType": "ServiceEditionCode"
},
{
"referenceSource": "Altinn2",
"reference": "https://test.landbruksdirektoratet.no/disko/soker",
"referenceType": "Uri"
}
]
```

Dette kan legges til ved å redigere ressursen i Gitea. Husk å bruke riktig tjenestekoder og URL.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 3bcbb02

Please sign in to comment.