Uygulamayı aç
Moonborn — Developers

Workspace + RBAC kurulumu

Bir Moonborn workspace ayağa kaldır, takım arkadaşlarını davet et, role'leri ata ve org genelinde kimlik için bir SSO + SCIM provider'ı konfigüre et.

Workspace'ler Moonborn proje konteynırı; org'lar onların üstünde oturur. RBAC kullanıcıları role'lere, role'leri aksiyonlara, aksiyonları resource'lara bağlar. Bu tutorial pratik sırayı kapsar: bir org yarat, bir workspace yarat, takım arkadaşlarını davet et, role'leri ata ve (Enterprise için) SAML + SCIM bağla.

1. Org + workspace yarat

Kaydolduğunda otomatik olarak bir org yaratılır — bu senin billing root'un. İçinde bir ya da daha fazla workspace yarat:

const ws = await client.workspaces.createWorkspace({
  name: 'Product team',
  description: 'Consumer yüzeyi için persona işi.',
});

2. Takım arkadaşlarını davet et

const invitation = await client.memberships.inviteMember({
  email: 'designer@acme.co',
  role: 'editor',
  workspaceId: ws.id,
});
console.log(invitation.acceptUrl);

Davet e-postası bir accept URL'iyle iner. Kabul edilene kadar üyelik pending'de oturur.

3. Yerleşik role'ler

Kutudan yedi role gelir (PRD §H, plan.md §1.6):

RoleReadWriteDikkate değer can-do
ownerhepsihepsiorg transfer et, workspace sil
adminhepsihepsiüyeleri, billing'i yönet
editorhepsipersonalar + chatpersonaları yarat + refine et
viewerhepsiyokread-only
api-onlyscope'luscope'luservis hesapları, UI erişimi yok
billingfaturalarödeme yöntemlerifinans takımı üyeleri için
auditoraudit log + configyokcompliance ekipleri için

Custom role'ler Enterprise — org'una göre uyarlanmış bir resource × action matrix'i tanımlamana izin verir.

4. Role'leri değiştir

await client.memberships.updateMembership({
  id: 'mem_...',
  role: 'admin',
});

Üyelik audit log'u her role değişikliğini actor + timestamp ile kaydeder.

5. SAML SSO kur (Enterprise)

Enterprise planındaki org'lar için default credentials provider'ını SAML 2.0 ile swap et:

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',
  scope: 'org',
  scopeId: 'org_...',
});

POST /v1/auth/sso/saml/initiate'te bir SAML akışı başlat; IdP /v1/auth/sso/saml/acs'a geri post eder. IdP-tarafı konfigürasyonu için SSO / SAML setup guide'a bak.

6. SCIM provisioning kur (Enterprise)

SCIM IdP'inin kullanıcı yaşam döngüsü değişikliklerini (yarat, güncelle, deaktive et) Moonborn'a otomatik push etmesini sağlar. Endpoint'ler RFC 7644'i takip eder:

  • GET/POST /v1/auth/scim/v2/Users
  • PATCH/DELETE /v1/auth/scim/v2/Users/{id}
  • GET/POST /v1/auth/scim/v2/Groups

IdP'ini (Okta, Azure AD, Google) bu endpoint'ler + Settings → SSO'dan SCIM bearer token'ıyla konfigüre et. Yeni işe alımlar otomatik provision olur; ayrılışlar otomatik deprovision olur.

7. IP allowlist'leri (Enterprise)

await client.config.setItem({
  key: 'identity.ip_allowlist.cidrs',
  value: '203.0.113.0/24,198.51.100.0/24',
  scope: 'org',
  scopeId: 'org_...',
});

Allowlist dışındaki bağlantılar gateway'de reddedilir. API erişimini kurumsal ağlara kısıtlayan org'lar için yararlı.

8. Audit et

Her role değişikliği, her üyelik değişikliği, her config edit immutable audit log'a iner:

const events = await client.audit.listEvents({
  workspaceId: ws.id,
  category: 'rbac',
  limit: 50,
});

Audit log hash-zincirli ve privacy.retention.audit_log_years'a göre saklanır (Enterprise için default 7, Pro/Team için 1).

Tarif

  • Temel workspace'ler + 4 yerleşik role: Free.
  • Editor / api-only / billing / auditor role'leri: Pro.
  • SCIM + SAML SSO + IP allowlist'ler + custom role'ler: Enterprise.

Sonraki