Använda Sharepoint (program)
ANMÄRKNING: för projekt där Adobe’s Sharepoint används ska du fortsätta här.
Om du använder SharePoint som innehållskälla använder AEM ett registrerat Microsoft Azure-program för att komma åt ditt innehåll. Programmet har delegerad behörighet som gör att tjänsten kan komma åt SharePoint för en användares räkning. Användaren måste registreras för det projekt som använder SharePoint.
Alternativt kan tjänsterna också autentiseras som program och använda programbehörigheter för att få tillgång till webbplatserna. Detta kräver ytterligare konfigurering av en SharePoint-webbplatsadministratör som kan ge behörighet för programmet.
Standardinställningen är att använda programbehörigheter, eftersom detta minskar åtkomsten till en viss SharePoint-webbplats och inte kräver att någon teknisk användares hemligheter delas. Dessutom minskar det problemen med lösenordsrotation.
Följande beskriver hur du konfigurerar programbehörigheter för ditt projekt. Om du vill konfigurera en teknisk användare fortsätter du här.
Så här konfigurerar du SharePoint:
- Skapa eller identifiera en Sharepoint-webbplats som ska fungera som webbplats för dokumentbaserad redigering
- Skapa en mapp i SharePoint som ska vara webbplatsens rot.
- Konfigurera
fstab.yaml
med respektive mapp - Gå till registreringsportalen
- Registrera programmet
- Använd
sites.selected
behörighet till SharePoint webbplats
1. Skapa eller identifiera en Sharepoint-webbplats
Tala med IT-avdelningen för att antingen identifiera eller skapa en Sharepoint-webbplats som ska användas för dokumentbaserad redigering. En webbplats kan vara värd för flera webbplatser (projekt). Den här webbplatsen får senare de behörigheter som krävs för att publiceringstjänsterna ska kunna komma åt den.
2. Skapa webbplatsens rotmapp
Navigera till önskad plats på den SharePoint-webbplats som skapas eller identifieras ovan och skapa en rotmapp som blir webbplatsens rot. Det är bäst att inte använda en SharePoint-listrot direkt, så att du har ett delat utrymme där författarna kan skicka ut sammansatta dokument, till exempel en utkastmapp eller instruktioner-för-skribent-dokument.
En exempelfilstruktur kan se ut så här med website
mapp som rot:
3. Konfigurera fstab.yaml
Nästa steg är att konfigurera monteringspunkten i fstab.yaml
för att peka på webbplatsens rot. Det har vanligtvis formen av
https://<tenant>.SharePoint.com/sites/<sp-site>/Shared%20Documents/website
Men detta kan variera beroende på hur du skapar SharePoint webbplats och listor. För att få fram URL:en är det enklaste sättet att kopiera över den första delen från webbläsaradressen, t.ex.:
Lägg sedan till resten manuellt (Observera att om du kopierar den skarpa länken via användargränssnittet läggs onödig information till och att det är bättre att använda en kanonisk representation av url-adressen). När du har skapat webbadressen kan du testa den genom att ange den igen i webbläsaren. Du bör hamna i mappvyn för webbplatsens rot.
Uppdatera sedan fstab.yaml
i enlighet med detta.
Till exempel:
mountpoints:
/: https://adobeenterprisesupportaem.SharePoint.com/sites/hlx-test-project/Shared%20Documents/website
Slutför konfigurationen genom att implementera fstab.yaml
tillbaka till huvudgrenen.
4. Gå till registreringsportalen
Ökning
För att AEM ska kunna komma åt det innehåll som skrivits behöver den information och inställningar. AEM (en molnfunktion) får åtkomst till MS Graph API för ett program (eller konfigurerad användare). För att kunna göra det måste det först autentiseras i samband med en Program. Detta är viktigt eftersom de omfång som ges till programmet definierar vilken behörighet tjänsten har för MS Graph API. Det bör till exempel vara tillåtet att läsa och skriva dokument, men inte att ändra åtkomstkontrollen.
Ett program representeras som ett"företagsprogram" i respektive Active Directory för en klientorganisation. Behörigheterna som ges till det företagsprogrammet definierar slutligen vad tjänsten kan få åtkomst till i innehavarens resurser. Vissa behörigheter måste godkännas av en Active Directory-administratör innan en användare kan använda programmet. Detta så kallade"administratörsmedgivande" är en mekanism för att verifiera och kontrollera vilka behörigheter appar kan ha. Detta för att förhindra att tveksamma appar lurar användare att lita på en app som inte är officiell. Med det extra steget för administratörsgodkännande kan IT-säkerheten styra vilka appar medarbetarna kan använda.
1. Logga in i registreringsportalen
Skapa program med MSGraph eller PowerShell
Du kan också skapa Enterprise-programmet via MSGraph eller PowerShell.
För att den ska synas i azure-gränssnittet måste du också lägga till WindowsAzureActiveDirectoryIntegratedApp
-tagg. Detta kan du göra direkt när du skapar programmet.
Använda diagramutforskaren:
POST https://graph.microsoft.com/v1.0/servicePrincipals
Content-type: application/json
{
"appId": "e34c45c4-0919-43e1-9436-448ad8e81552",
"tags": [
"WindowsAzureActiveDirectoryIntegratedApp"
]
}
Använda powershell:
PS> connect-MgGraph -Scopes "Application.ReadWrite.All"
PS> New-MgServicePrincipal -AppId e34c45c4-0919-43e1-9436-448ad8e81552 -Tags WindowsAzureActiveDirectoryIntegratedApp
Lägga till Franklin-tjänsten med programbehörigheter
Samma som ovan gäller Enterprise-programmet för Franklin Service (83ab2922-5f11-4e4d-96f3-d1e0ff152856)
finns inte i Azure ännu,
Om du vill lägga till den använder du diagramutforskaren eller powershell för att lägga till den:
Använda diagramutforskaren:
POST https://graph.microsoft.com/v1.0/servicePrincipals
Content-type: application/json
{
"appId": "83ab2922-5f11-4e4d-96f3-d1e0ff152856",
"tags": [
"WindowsAzureActiveDirectoryIntegratedApp"
]
}
Använda powershell:
PS> connect-MgGraph -Scopes "Application.ReadWrite.All"
PS> New-MgServicePrincipal -AppId 83ab2922-5f11-4e4d-96f3-d1e0ff152856 -Tags WindowsAzureActiveDirectoryIntegratedApp
Se även:
Lägg till programroller med PowerShell eller Graph Explorer
Du kan även lägga till approllerna på följande sätt:
- Sök efter tjänstens huvudnamn i företagsprogrammet (
principalId
). Det här är den du skapade ovan. - Hitta tjänstens huvudnamn i Microsoft Graph API (
resourceId
) - Hitta ID:t för
Sites.Selected
Programroll (appRoleId
) - Tilldela programrollen till den hanterade identiteten (företagsprogrammet)
Använda powershell detta kan göras med:
$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
Använda diagramutforskaren omfattar fler steg:
- Hitta huvudpersonen för företagsapplikationen:
GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=appId eq '83ab2922-5f11-4e4d-96f3-d1e0ff152856'
...
"value": [
{
"id": "6761ada0-733b-4a02-98b2-3db970834fe0",
...
Det här är vår principalId
- Hitta tjänstens huvudnamn i Microsoft Graph API
GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=appId eq '00000003-0000-0000-c000-000000000000'
...
"value": [
{
"id": "5159db96-7193-414e-9730-b1d1e4448443",
...
Det här är resourceId
. (resursen som definierar programrollen)
- Hitta ID:t för programrollen.
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"
},
...
Detta ID är appRoleId
- Tilldela programrollen till hanterad identitet. Begäran har följande format:
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"
}
Lägg till behörigheter till SharePoint-webbplatsen
Om du vill lägga till behörigheterna till SharePoint-webbplatsen måste vi hitta dess SiteId
.
Detta kan du göra med diagramutforskaren:
GET https://graph.microsoft.com/v1.0/sites/{host-name}:/{server-relative-path}
Exempel:
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",
...
}
Använda Id
kan vi ange behörigheter:
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"
}
}
]
}