Hoe wordt SharePoint gebruikt (toepassing)

OPMERKING: voor projecten die gebruikmaken van het SharePoint van de Adobe, gelieve door te gaan hier.

Als u SharePoint als inhoudsbron gebruikt, gebruikt AEM een geregistreerde Microsoft Azure-toepassing om toegang te krijgen tot uw inhoud. Deze toepassing heeft gedelegeerde machtigingen gedefinieerd waarmee de service SharePoint namens een gebruiker kan benaderen. Deze gebruiker moet worden geregistreerd bij het project dat SharePoint gebruikt.

De services kunnen ook als toepassing en gebruik worden geverifieerd toepassingsmachtigingen toegang tot de sites. Dit vereist extra opstelling door een de plaatsbeheerder van SharePoint die de toestemmingen voor de toepassing kan verlenen.

De voorkeursinstellingen zijn toepassingsmachtigingen, aangezien dit de toegang tot de dienst aan een specifieke plaats van SharePoint beperkt en vereist niet om het even welk geheim van een technische gebruiker te delen. Ook, vermindert het de problemen rond wachtwoordomwenteling.

Hieronder wordt beschreven hoe u de installatie uitvoert toepassingsmachtigingen voor uw project. Als u een technische gebruiker wilt instellen, gaat u verder hier.

Het instellen van SharePoint omvat de volgende stappen:

  1. Een SharePoint-site maken of identificeren die als site voor het op documenten gebaseerde ontwerpen zal fungeren
  2. Maak in SharePoint een map die de hoofdmap van de website wordt.
  3. Vorm fstab.yaml met de respectievelijke map
  4. Open het registratieportaal
  5. De toepassing registreren
  6. Pas de sites.selected toestemming voor de SharePoint-site

1. Maak of identificeer een SharePoint-site

Bespreek met uw afdeling van IT om of een plaats van SharePoint te identificeren of tot stand te brengen die voor document gebaseerd creatie zal worden gebruikt. Eén site kan meerdere websites (projecten) 'hosten'. Deze site ontvangt later de respectievelijke machtigingen, zodat de publicatieservices er toegang toe hebben.

2. De hoofdmap van de website maken

Navigeer naar de gewenste locatie op de hierboven gemaakte of geïdentificeerde SharePoint-site en maak een hoofdmap die de hoofdmap van de website wordt. U kunt het beste niet rechtstreeks een hoofdmap in de SharePoint-lijst gebruiken, zodat u een gedeelde ruimte hebt voor de auteurs om hulpdocumenten te plaatsen, bijvoorbeeld een map met concepten of hoe kan ik-op-auteur-documenten.

Een voorbeeld van een bestandsstructuur kan er als volgt uitzien: website map als hoofdmap:

3. Configureer de fstab.yaml

De volgende stap is het montagepunt in te vormen fstab.yaml om naar de hoofdmap van de website te verwijzen. Het heeft gewoonlijk de vorm van

https://<tenant>.SharePoint.com/sites/<sp-site>/Shared%20Documents/website

Dit kan echter afhankelijk zijn van de manier waarop u de SharePoint-site en -lijsten maakt. Om de URL te verkrijgen, is de eenvoudigste manier om het eerste deel van het browseradres te kopiëren-voorbij, bijvoorbeeld:

Voeg vervolgens de rest handmatig toe (door de arcering via de interface te kopiëren, wordt overbodige informatie toegevoegd en kunt u beter een canonieke weergave van de URL gebruiken). Nadat u de URL hebt samengesteld, kunt u deze testen door deze opnieuw in te voeren in de browser. U moet in de mappenweergave van de hoofdmap van uw website terechtkomen.

Werk daarna de fstab.yaml dienovereenkomstig.

Bijvoorbeeld:

mountpoints:
  /: https://adobeenterprisesupportaem.SharePoint.com/sites/hlx-test-project/Shared%20Documents/website

Om de configuratie te voltooien, verbind het fstab.yaml terug naar de hoofdvertakking.

4. Toegang tot het registratieportaal

Overzicht

Opdat de AEM dienst tot de authored inhoud toegang heeft vereist het een paar informatie en opstelling. De AEM-service (een cloudfunctie) heeft toegang tot de MS Graph-API namens een toepassing (of een geconfigureerde gebruiker). Daartoe moet zij eerst in het kader van een Toepassing. Dit is belangrijk omdat het bereik dat aan de toepassing wordt gegeven bepaalt welke toestemming de dienst op MS Graph API heeft. Het zou bijvoorbeeld toegestaan moeten zijn om documenten te lezen en te schrijven, maar niet om toegangsbeheer te veranderen.

Een toepassing wordt vertegenwoordigd als "Toepassing van de Onderneming"in de respectieve Actieve Folder van een huurder. De toestemmingen die aan die ondernemingstoepassing worden gegeven bepalen uiteindelijk wat de dienst tot in de middelen van die huurder kan toegang hebben. Bepaalde toestemmingen moeten door een Actieve beheerder van de Folder worden goedgekeurd alvorens een gebruiker de toepassing kan gebruiken. Deze zogenaamde "beheerderstoestemming" is een mechanisme om te controleren welke machtigingen apps kunnen hebben en te beheren. Dit is om te voorkomen dat dubieuze apps gebruikers ervan weerhouden een app te vertrouwen die niet officieel is. Dankzij de extra stap voor beheerdersinstemming kan de IT-beveiliging bepalen welke apps de werknemers kunnen gebruiken.

1. Meld u aan bij het registratieportaal

Kolommen (ingesloten)

<h3>Enterprise-toepassingen weergeven in Azure Portal</h3>

Ervan uitgaande dat er tot dusverre geen Franklin Enterprise Applications in Azure (Microsoft Entra Id) aanwezig is

<h3>Access Franklin Registration Portal</h3>

Ga naar https://admin.hlx.page/registerVoer de URL van het project in

<h3>Aanmelden als gebruiker die geen beheerder is</h3>

Aanmelden als een gebruiker die niet als u beheerdersmachtigingen hebt, wordt een fout weergegeven waarvoor goedkeuring is vereist, d.w.z. dat de toepassing beheerderstoestemming nodig heeft.

Probleem: Enterprise Application is niet geregistreerd als een gebruiker zich nooit aanmeldt.

<h3>Aanmelden als beheerder</h3>

U kunt zich bijvoorbeeld aanmelden als een gebruiker die doet beschikken over beheerdersmachtigingen:

(Opmerking: de Enterprise-toepassing is op dit moment nog steeds niet in azure geregistreerd)

<h3>Franklin Registration Service zichtbaar in UI</h3>

Als de beheerder zich aanmeldt (zonder het selectievakje in te schakelen en iedereen toestemming te geven), is de Enterprise-toepassing aanwezig.

Toepassing maken met MSGraph of Powershell

U kunt de Enterprise-toepassing ook maken via MSGraph of Powershell.

Om het in azure UI zichtbaar te maken moet u ook toevoegen WindowsAzureActiveDirectoryIntegratedApp -tag. Dit kan direct worden gedaan wanneer het creëren van de toepassing.

Grafiekverkenner gebruiken:

POST https://graph.microsoft.com/v1.0/servicePrincipals
Content-type: application/json
{
    "appId": "e34c45c4-0919-43e1-9436-448ad8e81552",
    "tags": [
        "WindowsAzureActiveDirectoryIntegratedApp"
    ]
}

powershell gebruiken:

PS> connect-MgGraph -Scopes "Application.ReadWrite.All"
PS> New-MgServicePrincipal -AppId e34c45c4-0919-43e1-9436-448ad8e81552 -Tags WindowsAzureActiveDirectoryIntegratedApp
Kolommen (ingesloten)

Daarna moet u nog beheerderstoestemming geven als u een niet-beheerder-gebruiker wilt aanmelden.

Zie ook:

<h3>Machtigingen controleren</h3>

Let erop dat de Franklin Registration Service (e34c45c4-0919-43e1-9436-448ad8e81552) toepassing is alleen nodig tijdens de registratie om te controleren of de gebruiker leestoegang heeft tot het sharepoint. Het heeft het volgende: gedelegeerde machtigingen:

  • Openid
    Hiermee kunnen gebruikers zich aanmelden bij de app met hun werk- of schoolaccounts en kan de app basisinformatie over het gebruikersprofiel weergeven.
  • Profile
    Hiermee kan de app het basisprofiel van uw gebruikers weergeven (bijvoorbeeld naam, afbeelding, gebruikersnaam, e-mailadres)
  • Files.ReadWrite.All
    Hiermee kan de toepassing alle bestanden lezen, maken, bijwerken en verwijderen waartoe de aangemelde gebruiker toegang heeft.

<h3>Door gebruiker aangemelde registratieportal</h3>

Na het voltooien van deze eerste stap is de gebruiker aangemeld bij de portal Registratie

De Franklin-service toevoegen met toepassingsmachtigingen

Kolommen (ingesloten)

<h3>Enterprise-toepassing toevoegen</h3>

Wanneer het programma geopend in het registratieportaal, moet de inhoudsbron die door het project wordt gebruikt met een beide subsidie voor het Franklin Service toepassing. Dit is nodig, zodat het systeem toegang heeft tot de documenten in sharepoint en deze kan omzetten in een interne indeling (opmaak) en ze kan opslaan in de opslagruimte van de Adobe (S3/R2) voor snelle levering.

Toepassing gebruiken sites.selected de toestemmingen zijn veiliger aangezien het het werkingsgebied tot één enkele aandeelpuntplaats beperkt. Als u verbinding wilt maken, klikt u op de knop Connect Application knop.

Als u nog nooit een toepassing of gebruiker hebt geregistreerd, wordt waarschijnlijk de volgende fout weergegeven:

code language-none
Unable to validate access: Either scp or roles claim need to be present in the token.

Hetzelfde als hierboven, de Enterprise-toepassing voor de Franklin Service (83ab2922-5f11-4e4d-96f3-d1e0ff152856) nog niet in Azure aanwezig is,

Voeg het toe met de grafiekverkenner of powershell:

Grafiekverkenner gebruiken:

POST https://graph.microsoft.com/v1.0/servicePrincipals
Content-type: application/json
{
    "appId": "83ab2922-5f11-4e4d-96f3-d1e0ff152856",
    "tags": [
        "WindowsAzureActiveDirectoryIntegratedApp"
    ]
}

powershell gebruiken:

PS> connect-MgGraph -Scopes "Application.ReadWrite.All"
PS> New-MgServicePrincipal -AppId 83ab2922-5f11-4e4d-96f3-d1e0ff152856 -Tags WindowsAzureActiveDirectoryIntegratedApp

Zie ook:

Kolommen (ingesloten)

<h3>Toepassingsrollen toevoegen</h3>

Nu de bedrijfstoepassing Franklin Service is zichtbaar in azuur. Maar het heeft geen Sites.Selected toepassingsmachtigingen.

Probleem: Als u de interface voor beheerdersmachtigingen gebruikt, worden alle toepassings- en gedelegeerde machtigingen toegewezen, wat we niet willen.

Een gemakkelijke manier is om alle toestemmingen goed te keuren en dan opnieuw de gedelegeerde opnieuw te verwijderen.

Toepassingsrollen toevoegen met Powershell of Graph Explorer

U kunt de toepassingsrollen ook toevoegen met de volgende stappen:

  1. Zoek de dienst belangrijkste van de ondernemingstoepassing (principalId). Dit is degene die u hierboven hebt gemaakt.
  2. De service principal van de Microsoft Graph API (resourceId)
  3. Zoek de id voor de Sites.Selected Toepassingsrol (appRoleId)
  4. Wijs de Rol van de Toepassing aan de Beheerde Identiteit (de Toepassing van de Onderneming) toe

Gebruiken machthebber dit kan gebeuren met :

$ObjectId = "abcdef-1234-49b6-b660-cc85b34fe516"    <<------ replace with your enterprise app id
$AAD_SP = Get-AzureADServicePrincipal -SearchString "Microsoft Graph";
$AAD_SP

$MSI = Get-AzureADServicePrincipal -ObjectId $ObjectId
if($MSI.Count -gt 1)
  {
  Write-Output "More than 1 principal found, please find your principal and copy the right object ID. Now use the syntax $MSI = Get-AzureADServicePrincipal -ObjectId <your_object_id>"
  Exit
  }

$AAD_AppRole = $AAD_SP.AppRoles | Where-Object {$_.Value -eq "Sites.Selected"}
New-AzureADServiceAppRoleAssignment -ObjectId $MSI.ObjectId  -PrincipalId $MSI.ObjectId  -ResourceId $AAD_SP.ObjectId[0]  -Id $AAD_AppRole.Id

Gebruiken grafiekverkenner het omvat meer stappen :

  1. Zoek de principal van de ondernemingstoepassing:
  GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=appId eq '83ab2922-5f11-4e4d-96f3-d1e0ff152856'
...
  "value": [
        {
            "id": "6761ada0-733b-4a02-98b2-3db970834fe0",
...

Dit is ons principalId

  1. De service principal van de Microsoft Graph API zoeken
GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=appId eq '00000003-0000-0000-c000-000000000000'
...
  "value": [
        {
            "id": "5159db96-7193-414e-9730-b1d1e4448443",
...

Dit is het resourceId. (de bron die de toepassingsrol definieert)

  1. Zoek de id van de toepassingsrol.
GET https://graph.microsoft.com/v1.0/servicePrincipals/5159db96-7193-414e-9730-b1d1e4448443/appRoles
...
        {
            "allowedMemberTypes": [
                "Application"
            ],
            "description": "Allow the application to access a subset of site collections without a signed in user.  The specific site collections and the permissions granted will be configured in SharePoint Online.",
            "displayName": "Access selected site collections",
            "id": "883ea226-0bf2-4a8f-9f9d-92c9162a727d",
            "isEnabled": true,
            "origin": "Application",
            "value": "Sites.Selected"
        },
...

Deze id is de appRoleId

  1. Wijs de Rol van de Toepassing aan de Beheerde Identiteit toe. De aanvraag heeft de volgende indeling:
POST https://graph.microsoft.com/v1.0/servicePrincipals/${principalId}/appRoleAssignedTo
Content-Type: application/json

{
  "principalId": "${principalId}",
  "resourceId": "${resourceId}",
  "appRoleId": "${appRoleId}"
}
https://graph.microsoft.com/v1.0/servicePrincipals/6761ada0-733b-4a02-98b2-3db970834fe0/appRoleAssignedTo
Content-type: application/json
{
    "principalId": "6761ada0-733b-4a02-98b2-3db970834fe0",
    "resourceId": "5159db96-7193-414e-9730-b1d1e4448443",
    "appRoleId": "883ea226-0bf2-4a8f-9f9d-92c9162a727d"
}
Kolommen (ingesloten)

<h3>Machtigingen valideren</h3>

Uiteindelijk zou u de verleende toepassingstoestemming in UI moeten zien.

In het registratieportaal had de website moeten veranderen in:

code language-none

The resource specified in the fstab.yaml does either not exist, or you do not have permission to access it. Please make sure that the url is correct, the enterprise application: "Franklin Service (83ab2922-5f11-4e4d-96f3-d1e0ff152856)" is consented for the required scopes, and that the logged in user has permissions to access it.

(op het moment van schrijven is dit bericht niet erg nauwkeurig en luidt het als volgt:

De bron die in fstab.yaml is opgegeven, bestaat niet of u hebt geen toestemming om deze te openen. Zorg ervoor dat de URL juist is, de bedrijfstoepassing: "Franklin Service (83ab2922-5f11-4e4d-96f3-d1e0ff152856)" wordt verleend om tot de gevormde aandeelpuntplaats via "Sites.Selected"toestemmingen toegang te hebben.


Machtigingen toevoegen aan SharePoint-site

Om de toestemmingen aan de aandeelpuntplaats toe te voegen, moeten wij zijn vinden SiteId.

U kunt dit opnieuw doen met behulp van de grafiekverkenner:

GET https://graph.microsoft.com/v1.0/sites/{host-name}:/{server-relative-path}

Voorbeeld:

GET https://graph.microsoft.com/v1.0/sites/adobeenterprisesupportaem.sharepoint.com:/sites/hlx-test-project

{
...
    "id": "adobeenterprisesupportaem.sharepoint.com,03cc3587-0e4d-405e-b06c-ffb0a622b7ac,5fbc1df5-640c-4780-8b59-809e3193c043",
...
}

Met de Id wij kunnen de toestemmingen plaatsen:

POST https://graph.microsoft.com/v1.0/sites/adobeenterprisesupportaem.sharepoint.com,03cc3587-0e4d-405e-b06c-ffb0a622b7ac,5fbc1df5-640c-4780-8b59-809e3193c043/permissions
Content-type: application/json

{
    "roles": [
        "write"
    ],
    "grantedToIdentities": [
        {
            "application": {
                "id": "83ab2922-5f11-4e4d-96f3-d1e0ff152856",
                "displayName": "Franklin Service"
            }
        }
    ]
}
Kolommen (ingesloten)
Daarna moet het registratieportaal canRead: ok
recommendation-more-help
10a6ce9d-c5c5-48d9-8ce1-9797d2f0f3ec