Monday.com
Dieser Leitfaden erklärt, wie Sie die Einrichtung der Single Sign-On (SSO) zwischen SmartLink und Monday.com unter Verwendung von SAML 2.0 oder OpenID Connect konfigurieren können.
Voraussetzungen
- Monday.com Enterprise Plan
- Administratorzugriff auf Monday.com
- Verifizierte E-Mail-Domain
- Anwendung in SmartLink mit SAML2 oder OpenID Connect konfiguriert
Hinweis: SSO ist nur mit dem Enterprise-Plan von Monday.com verfügbar.
Konfiguration mit SAML 2.0 (Empfohlen)
Konfiguration in SmartLink
1. Anwendung erstellen
- Melden Sie sich als Administrator bei SmartLink an
- Gehen Sie zu Anwendungen → Hinzufügen
- Erstellen Sie eine neue Anwendung:
- Name: Monday.com
- URL:
https://[your-account].monday.com - Beschreibung: Arbeitsmanagementplattform
- Symbol: Wählen Sie das Symbol von Monday.com
2. SAML2 konfigurieren
- Im Tab Authentifizierung
- Wählen Sie SAML2
- Konfigurieren Sie die folgenden Parameter:
- Entity ID:
https://[your-smartlink].link.vaultys.org/[appid] - ACS-URL:
https://[your-account].monday.com/saml2/acs - Format NameID:
emailAddress - App ID:
[appid](automatisch generierte eindeutige Kennung)
- Entity ID:
3. Metadaten abrufen
Notieren Sie die folgenden URLs:
- IdP-Metadaten:
https://[your-smartlink].link.vaultys.org/api/saml2/[appid]/metadata - SSO-URL:
https://[your-smartlink].link.vaultys.org/api/saml2/sso/[appid] - SLO-URL:
https://[your-smartlink].link.vaultys.org/api/saml2/slo/[appid] - Entity ID:
https://[your-smartlink].link.vaultys.org/[appid] - X.509-Zertifikat: Herunterladen von SmartLink
Konfiguration in Monday.com
1. Zugriff auf die SSO-Einstellungen
- Melden Sie sich als Administrator bei Monday.com an
- Klicken Sie auf Ihr Avatar → Verwaltung
- Im Menü: Sicherheit → Single Sign-On
- Klicken Sie auf SSO einrichten
2. SAML konfigurieren
Wählen Sie SAML und konfigurieren Sie:
- SSO-URL:
https://[your-smartlink].link.vaultys.org/api/saml2/sso/[appid] - Entity ID:
https://[your-smartlink].link.vaultys.org/[appid] - Zertifikat: Fügen Sie das X.509-Zertifikat von SmartLink ein
- Abmeldungs-URL:
https://[your-smartlink].link.vaultys.org/api/saml2/slo/[appid]
3. Attributkonfiguration
| Monday-Attribut | SAML-Attribut | Erforderlich |
|---|---|---|
email | ✅ | |
| Vorname | firstName | ✅ |
| Nachname | lastName | ✅ |
| Titel | title | ❌ |
| Team | department | ❌ |
Konfiguration mit OpenID Connect
Konfiguration in SmartLink
1. OpenID Connect konfigurieren
- In der Anwendung Monday.com
- Tab Authentifizierung → OpenID Connect
- Notieren Sie:
- Client-ID:
monday-xxxxxx - Client-Geheimnis:
secret-xxxxxx - App-ID:
[appid]
- Client-ID:
2. Umleitungs-URLs hinzufügen
https://[your-account].monday.com/auth/oidc/callback
Konfiguration in Monday.com
- In Sicherheit → Single Sign-On
- Wählen Sie OpenID Connect
- Konfigurieren Sie:
- Discovery-URL:
https://[your-smartlink].link.vaultys.org/api/oidc/[appid]/.well-known/openid-configuration - Client-ID:
monday-xxxxxx - Client-Geheimnis:
secret-xxxxxx - Bereiche:
openid profile email groups
Arbeitsbereichskonfiguration
Organisationsstruktur
workspaces:
- name: "Marketing"
default_role: "member"
groups:
- "smartlink-marketing"
boards:
- "Kampagnen"
- "Inhaltskalender"
- "Social Media"
- name: "Entwicklung"
default_role: "member"
groups:
- "smartlink-developers"
boards:
- "Sprintplanung"
- "Fehlerverfolgung"
- "Feature-Anfragen"
- name: "Management"
default_role: "viewer"
groups:
- "smartlink-executives"
boards:
- "Firmen-OKRs"
- "Finanzberichte"
Berechtigungen und Rollen
| Rolle | Berechtigungen |
|---|---|
| Eigentümer | Vollständige Kontrolle über das Konto |
| Administrator | Benutzerverwaltung und Einstellungen |
| Mitglied | Erstellung und Bearbeitung von Inhalten |
| Betrachter | Nur Lesen |
| Gast | Eingeschränkter Zugriff auf bestimmte Boards |
SCIM-Konfiguration
Für die automatische Benutzersynchronisierung:
{
"scim_endpoint": "https://[your-account].monday.com/scim/v2",
"scim_token": "Bearer xxxxxx",
"provisioning": {
"create_users": true,
"update_users": true,
"deactivate_users": true,
"sync_groups": true
}
}
Automatisierungen mit SSO
Automatische Boarderstellung
// Automation zum Erstellen von Boards basierend auf Gruppen
const mondaySDK = require('monday-sdk-js');
const monday = mondaySDK();
async function createBoardForGroup(groupName, userEmail) {
const boardTemplate = {
'smartlink-sales': 'sales-pipeline-template',
'smartlink-marketing': 'marketing-campaign-template',
'smartlink-dev': 'sprint-board-template'
};
if (boardTemplate[groupName]) {
const board = await monday.api(`
mutation {
duplicate_board(
board_id: ${boardTemplate[groupName]},
board_name: "${groupName} Workspace",
owner_ids: [${userEmail}]
) {
id
}
}
`);
return board;
}
}
Workflows basierend auf der Authentifizierung
automation:
- trigger: "user_login_sso"
conditions:
- first_login: true
- group: "smartlink-new-employees"
actions:
- create_board: "onboarding_template"
- assign_to_team: "hr_team"
- send_notification: "welcome_message"
- add_to_board: "company_announcements"
Integration mit der Monday.com-API
API-Konfiguration mit SSO
const fetch = require('node-fetch');
class MondayAPIClient {
constructor(apiKey) {
this.apiKey = apiKey;
this.apiUrl = 'https://api.monday.com/v2';
}
async getUserBySSOEmail(email) {
const query = `
query {
users(emails: ["${email}"]) {
id
name
email
teams {
id
name
}
}
}
`;
const response = await fetch(this.apiUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': this.apiKey
},
body: JSON.stringify({ query })
});
return response.json();
}
}
Webhooks für die Synchronisierung
// Webhook zur Synchronisierung von SSO-Änderungen
app.post('/webhook/monday-sso', async (req, res) => {
const { event, userId, userEmail, groups } = req.body;
switch(event) {
case 'user.created':
await createUserWorkspace(userId, userEmail);
break;
case 'user.updated':
await updateUserPermissions(userId, groups);
break;
case 'user.deactivated':
await archiveUserContent(userId);
break;
}
res.status(200).send('OK');
});
Konfigurationstest
1. Verbindungstest
- Melden Sie sich von Monday.com ab
- Gehen Sie zu
https://[your-account].monday.com - Klicken Sie auf Mit SSO anmelden
- Geben Sie Ihre Unternehmens-E-Mail-Adresse ein
- Authentifizieren Sie sich über SmartLink
- Überprüfen Sie den Zugriff auf Monday.com
2. Berechtigungstest
# Test über die API
curl -X POST https://api.monday.com/v2 \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "{ me { name email teams { name } } }"}'
3. Mobiler Test
Die Monday.com-Apps unterstützen SSO:
- Monday.com iOS/Android
- Monday.com Desktop (Windows/Mac)
Fehlerbehebung
Fehler "SAML-Assertion fehlgeschlagen"
Problem: Die SAML-Assertion wird abgelehnt
Lösung:
- Stellen Sie sicher, dass die Entity ID
[appid]ist - Überprüfen Sie das Format NameID:
emailAddress - Stellen Sie sicher, dass die E-Mail in Monday.com existiert
- Überprüfen Sie die Logs: Verwaltung → Aktivitätsprotokoll
Fehler "Benutzer nicht autorisiert"
Problem: Der Benutzer kann nicht zugreifen
Lösung:
- Überprüfen Sie, ob die E-Mail-Domain verifiziert ist
- Stellen Sie sicher, dass der Benutzer in Monday.com eingeladen ist
- Überprüfen Sie die SCIM-Gruppen, wenn konfiguriert
Gruppen werden nicht synchronisiert
Problem: Die Monday-Teams stimmen nicht mit den SmartLink-Gruppen überein
Lösung:
<!-- Richtige Formatierung für SAML-Gruppen -->
<saml:Attribute Name="groups">
<saml:AttributeValue>smartlink-monday-admins</saml:AttributeValue>
<saml:AttributeValue>smartlink-monday-users</saml:AttributeValue>
</saml:Attribute>
Probleme mit Automatisierungen
Problem: Automatisierungen werden nicht für SSO-Benutzer ausgelöst
Lösung:
- Stellen Sie sicher, dass der Benutzer die erforderlichen Berechtigungen hat
- Stellen Sie sicher, dass die Automation für "Alle Benutzer" aktiviert ist
- Testen Sie mit einem Nicht-SSO-Konto, um das Problem zu isolieren
Sicherheit
Empfohlene Konfiguration
{
"security_settings": {
"enforce_sso": true,
"session_duration": "8h",
"ip_restrictions": {
"enabled": true,
"whitelist": ["10.0.0.0/8", "192.168.0.0/16"]
},
"2fa_backup": true,
"audit_retention": "365d",
"api_token_expiry": "90d",
"guest_restrictions": {
"disable_export": true,
"disable_api_access": true,
"view_only": true
}
}
}
Compliance
- SOC 2 Typ II: Zertifiziert
- ISO 27001: Zertifiziert
- DSGVO: Konform mit verfügbarer DPA
- HIPAA: Konform (Enterprise+ Plan)
Benutzermigration
Migrationskript
import requests
import csv
from datetime import datetime
class MondaySSOMigration:
def __init__(self, api_key, account_id):
self.api_key = api_key
self.account_id = account_id
self.api_url = "https://api.monday.com/v2"
def migrate_users(self, csv_file):
"""Benutzer zu SSO migrieren"""
with open(csv_file, 'r') as file:
reader = csv.DictReader(file)
results = []
for user in reader:
result = self.migrate_single_user(user)
results.append(result)
return results
def migrate_single_user(self, user):
# Passwortauthentifizierung deaktivieren
# SSO-Einladung senden
# Ergebnis protokollieren
pass