Çalışma alanı, roller ve SSO kurulumu
Bir organizasyon + çalışma alanı kur, takım arkadaşlarını davet et, yerleşik rolleri ata, SAML SSO + SCIM hazırlama (provisioning) + IP izin listesini bağla.
Moonborn'un hesap modeli iki katmanlıdır: organizasyon (org) faturalama kökü, çalışma alanı (workspace) proje kapsayıcısıdır. Rol tabanlı erişim kontrolü (RBAC), kullanıcıları rollere, rolleri eylemlere, eylemleri kaynaklara bağlar. Üzerinde de — Enterprise için — kurumsal kimlik akışı vardır: SAML SSO, SCIM hazırlama, IP izin listesi.
Bu rehber pratik sırayı izler: çalışma alanı yarat, takım arkadaşı davet et, rol ata, sonra (Enterprise için) kimlik sağlayıcısını (IdP) bağla. Tüm değişiklikler denetim kaydına iner — kim, kimin yetkisini ne zaman değiştirdi, karma-zincirli (hash-chained) kayıt halinde.
Bu rehberi bitirdiğinde
- Bir çalışma alanı yaratabileceksin ve davet ile takım arkadaşı ekleyebileceksin.
- Yedi yerleşik rolün ne yetki verdiğini bileceksin.
- Bir üyenin rolünü değiştirip denetim kaydını okuyabileceksin.
- SAML 2.0 SSO'yu (Enterprise) IdP üstveri URL'iyle bağlayabileceksin.
- SCIM hazırlamayı (provisioning) (Enterprise) yeni işe alımları otomatik hazırlamak için kullanabileceksin.
- IP izin listesi ile organizasyon erişimini kurumsal ağlara kısıtlayabileceksin.
- RBAC olaylarını denetim kaydından sorgulayabileceksin.
Ön koşul: Bir Moonborn hesabı (organizasyon otomatik gelir), API anahtarı. SSO / SCIM / IP izin listesi için Enterprise plan ve IdP yönetici erişimi gerekir.
1. Bir çalışma alanı yarat
Kaydolduğunda otomatik olarak bir organizasyon yaratılır — bu faturalama kökündür. İçinde bir veya daha fazla çalışma alanı yarat; her proje veya ekibi ayrı çalışma alanında tut.
const ws = await client.workspaces.create({
name: 'Product team',
description: 'Tüketici yüzeyi için persona işi.',
});
console.log(ws.id, ws.orgId);2. Takım arkadaşı davet et
const invitation = await client.memberships.invite({
email: 'designer@acme.co',
role: 'editor',
workspaceId: ws.id,
});
console.log(invitation.acceptUrl); // davet alıcısına gönderDavet e-postası acceptUrl (kabul URL'i) ile gider. Kabul edilene kadar üyelik pending (bekleyen) durumunda oturur — kullanıcı linke tıkladığında üyelik aktif olur.
3. Yerleşik roller
Kutudan yedi rol gelir:
| Rol | Okuma | Yazma | Dikkate değer yetki |
|---|---|---|---|
owner | hepsi | hepsi | organizasyonu devret, çalışma alanı sil, faturalamayı değiştir |
admin | hepsi | hepsi | üyeleri, faturalamayı, yapılandırmayı yönet |
editor | hepsi | persona + sohbet | persona yarat, refine et, fork'la |
viewer | hepsi | yok | salt okunur erişim |
api-only | yetkiye göre | yetkiye göre | servis hesapları için; arayüz erişimi yok |
billing | faturalar | ödeme yöntemleri | finans takımı üyeleri |
auditor | denetim + yapılandırma | yok | uyumluluk ekipleri için |
Özel roller — kendi <resource>:<action> matrisini tanımlayanlar — Enterprise'a özeldir.
4. Bir üyenin rolünü değiştir
await client.memberships.update({
id: 'mem_01H...',
role: 'admin',
});Her rol değişikliği denetim kaydına eyleyen (actor) + zaman damgası + önceki / sonraki rolüyle iner. Bu değişiklikleri sorgulamak için 8. adıma bak.
5. SAML 2.0 SSO bağla (Enterprise)
Enterprise organizasyonları varsayılan kimlik bilgileri (e-posta + parola) yerine SAML 2.0 SSO kullanabilir. IdP'in (Okta, Azure AD, Google Workspace, Auth0, ...) kullanıcıyı doğrular, Moonborn savı (assertion) kabul eder.
await client.config.setItem({
key: 'identity.sso.saml.enabled',
value: true,
scope: 'org',
scopeId: 'org_...',
});
await client.config.setItem({
key: 'identity.sso.saml.idp_metadata_url',
value: 'https://your-idp.example.com/metadata.xml',
scope: 'org',
scopeId: 'org_...',
});Akış:
- Kullanıcı
POST /v1/auth/sso/saml/initiateçağırır (arayüz üzerinden). - Moonborn kullanıcıyı IdP'in giriş sayfasına yönlendirir.
- IdP kullanıcıyı doğrular, SAML savını
/v1/auth/sso/saml/acs'e POST eder. - Moonborn savı doğrular ve bir oturum açar.
6. SCIM hazırlamayı bağla (Enterprise)
SCIM, IdP'in kullanıcı yaşam döngüsü değişikliklerini (yarat, güncelle, devre dışı bırak) otomatik Moonborn'a göndermesini sağlar. Yeni işe alımlar otomatik hazırlanır, ayrılışlar otomatik devre-dışı-bırakılır — elle davet / silme adımı kalkar.
Moonborn uç noktaları RFC 7644'ü izler:
| Yöntem | Uç nokta | Ne yapar |
|---|---|---|
GET / POST | /v1/auth/scim/v2/Users | Listele + oluştur |
PATCH / DELETE | /v1/auth/scim/v2/Users/{id} | Güncelle + devre dışı bırak |
GET / POST | /v1/auth/scim/v2/Groups | Grup yönetimi |
IdP'i yapılandırmak için:
- Settings → SSO ekranında SCIM Bearer token'ı çıkar (bir kerelik döner).
- IdP'inde Moonborn'u SCIM sağlayıcısı olarak ekle, temel URL ve token'ı geç.
- IdP'inde hangi grupların hangi role eşleneceğini (map) kur (örn.
acme-engineers→editor).
7. IP izin listesi (Enterprise)
Organizasyon seviyesinde, API erişimini sadece kurumsal ağlara kısıtla:
await client.config.setItem({
key: 'identity.ip_allowlist.cidrs',
value: '203.0.113.0/24,198.51.100.0/24',
scope: 'org',
scopeId: 'org_...',
});İzin listesi dışındaki bağlantılar ağ geçidinde (gateway) reddedilir — kimlik doğrulamasına bile gitmez. Liste virgülle ayrılmış CIDR metinleridir; IPv4 + IPv6 desteklenir.
8. RBAC olaylarını denetim kaydından sorgula
Tüm rol değişiklikleri, üyelik değişiklikleri ve yapılandırma düzenlemeleri değiştirilemez denetim kaydına iner:
const events = await client.audit.events.list({
workspaceId: ws.id,
category: 'rbac',
limit: 50,
});
for (const e of events.data) {
console.log(`${e.actorEmail} → ${e.action} (${e.target}) at ${e.timestamp}`);
}Denetim kaydı karma-zincirlidir (hash-chained) — kurcalama (tampering) tespit edilebilir. Saklama süresi privacy.retention.audit_log_years yapılandırma maddesinden gelir: Enterprise için varsayılan 7, Pro / Team için 1 yıl.
Plan gereksinimi
| Yetenek | Plan |
|---|---|
Temel çalışma alanı + 4 yerleşik rol (owner, admin, viewer, member) | Free |
editor, api-only, billing, auditor rolleri | Pro |
| SAML SSO, SCIM, IP izin listesi, özel roller, 7 yıl denetim saklaması | Enterprise |
Başardın
Bir çalışma alanı yarattıysan, en az bir takım arkadaşı davet ettiysen, rol atadıysan ve audit.events.list çağrısı RBAC olaylarını döndüyse rehber bitti. SSO / SCIM kurmuşsan bir test kullanıcısının IdP üzerinden bağlanabildiğini de doğrula.
Sonraki adım
BT / güvenlik ekiplerinin RBAC + SSO + SCIM'i nasıl bağladığına dair anlatım.
Denetim kaydının uyumluluk inceleme akışına bağlanma desenleri.
Okta, Azure AD, Google Workspace için IdP-tarafı kurulum adımları.
api-only rolüyle birlikte verilen API anahtarlarının yetki kataloğu.