---
title: การควบคุมการเข้าถึงสาธารณะ
slug: th/user-guides/Dw7gURzmnuiIAJTZtLGlY
description: ควบคุมการเข้าถึงสาธารณะด้วยสามตัวเลือกที่สามารถทำให้ไซต์เอกสารของคุณอยู่หลังรหัสผ่านหรือวิธีการยืนยันตัวตนแบบ JWT ได้
createdAt: 2020-11-19T17:32:03.000Z
---

โดยค่าเริ่มต้น Space แบบสาธารณะ <u>จะไม่มีวิธีการยืนยันตัวตนใดๆ</u>, แต่คุณสามารถเลือกและตั้งค่าได้หลายแบบ:

- **รหัสผ่านสำหรับทั้งสเปซ**;
- [บัญชีผู้เยี่ยมชม](docId:23P5vUGc9LgzBSgmmd7aj), ที่คุณสร้างอีเมลและรหัสผ่านให้ผู้ใช้ด้วยตนเองแล้วแจกจ่ายให้พวกเขา;
- [ลิงก์เมจิก](docId:23P5vUGc9LgzBSgmmd7aj), ที่คุณกรอกอีเมลหรือโดเมน และผู้ใช้จะยืนยันตัวตนผ่านลิงก์ที่เราส่งไปยังอีเมลของพวกเขา;
- [บัญชีส่วนตัว](docId:23P5vUGc9LgzBSgmmd7aj), ที่คุณเพิ่มโดเมนเฉพาะเพื่อให้ผู้ใช้สามารถยืนยันตัวตนหรือสร้างบัญชีด้วยอีเมลของพวกเขา
- [ลิงก์ส่วนตัว](docId:23P5vUGc9LgzBSgmmd7aj), ที่คุณสามารถสร้างลิงก์ส่วนตัวและแชร์ให้ผู้ใช้หรือทีมของคุณได้ จัดการการเข้าถึงตามกลุ่มผู้ใช้ผ่านลิงก์;
- [JWT](docId:23P5vUGc9LgzBSgmmd7aj), ที่ทีมพัฒนาของคุณสร้าง JWT ด้วยกุญแจลับที่คุณให้ไว้ใน UI ของเรา แล้วส่งกลับมาให้เราเป็นส่วนหนึ่งของลิงก์ วิธีนี้จัดการง่ายที่สุด แต่ต้องใช้เวลาของนักพัฒนา
- [SAML](docId:23P5vUGc9LgzBSgmmd7aj), เมื่อคุณมีแอปพลิเคชันภายนอกที่สามารถทำหน้าที่เป็นตัวกลางไปยังโดเมนสเปซของคุณ ทำให้พอร์ทัลสาธารณะเข้าถึงได้เฉพาะสมาชิกที่ตั้งค่าไว้ในผู้ให้บริการ เช่น Google, Azure, Okta

***

# ไม่มี

![](https://api.archbee.com/api/optimize/HCIek7I0UxvyNHQ0EFzVX-slmSYSK4wieisLB7g81MK-20250729-141235.png)

พฤติกรรมเริ่มต้นถูกตั้งค่าเป็น None ซึ่งหมายความว่าสามารถเข้าถึงได้โดยสาธารณะ คุณสามารถเปลี่ยนการควบคุมเพื่อจำกัดการเข้าถึงสำหรับผู้อ่านได้

ทุกคนที่มีลิงก์จะสามารถอ่านเนื้อหาได้

ลิงก์มีความปลอดภัยในการแชร์ เพราะถูกสร้างขึ้นด้วยวิธีการเข้ารหัสและไม่สามารถเดาได้

เมื่อคุณต้องการจำกัดเนื้อหาให้เฉพาะผู้อ่านบางกลุ่ม ลองใช้ตัวเลือกใดก็ได้ด้านล่างนี้

***

# บัญชีผู้เยี่ยมชม

![](https://api.archbee.com/api/optimize/HCIek7I0UxvyNHQ0EFzVX-XuaszCCH-r1vgCmbw6sGx-20250729-141410.png)

สร้างบัญชีผู้เยี่ยมชม ทุกคนที่มีลิงก์และมีบัญชีผู้เยี่ยมชมจะสามารถอ่านเนื้อหาได้ บัญชีผู้เยี่ยมชมจะไม่ถูกคิดค่าที่นั่งใน Archbee

***

# บัญชีส่วนตัว

![](https://api.archbee.com/api/optimize/HCIek7I0UxvyNHQ0EFzVX-SnZtrKikrE0DjOn_38AJQ-20250729-141521.png)

ผู้ใช้จะสามารถยืนยันตัวตน/สร้างบัญชีในพื้นที่ของคุณด้วยอีเมลและรหัสผ่านของตน หากคุณเพิ่มที่อยู่อีเมลหรือโดเมนอีเมลของพวกเขาในรายการด้านล่าง

ทุกคนที่มีลิงก์และมีบัญชีที่ตรงกันจะสามารถอ่านเนื้อหาได้ บัญชีเหล่านี้จะไม่ถูกคิดค่าที่นั่งใน Archbee

:::hint{type="info"}
รายการผู้ใช้ที่มีบัญชีใช้งานจะปรากฏในหน้าต่าง 'บัญชีที่ใช้งาน'
:::

***

# Magic Link

![](https://api.archbee.com/api/optimize/HCIek7I0UxvyNHQ0EFzVX-oAIK6459-kragJpin95aE-20250729-141556.png)

ผู้ใช้จะสามารถยืนยันตัวตนเข้าสู่พื้นที่ของคุณด้วยที่อยู่อีเมลของพวกเขา หากคุณเพิ่มที่อยู่อีเมลหรือโดเมนอีเมลของพวกเขาในรายการด้านล่าง ทุกคนที่มีลิงก์และมีบัญชีที่ตรงกันจะสามารถอ่านเนื้อหาได้ บัญชีเหล่านี้จะไม่ถูกคิดค่าที่นั่งใน Archbee

***

# ลิงก์ส่วนตัว

สร้างลิงก์ส่วนตัวสำหรับกลุ่มผู้ใช้หรือทีมเฉพาะ แต่ละกลุ่มผู้ใช้หรือทีมจะมีลิงก์ของตัวเองไปยังเอกสารชุดเดียวกัน และคุณสามารถจัดการการควบคุมการเข้าถึงผ่านลิงก์เหล่านี้ ต้องการตัดการเข้าถึงของทีม 1 ใช่ไหม ลบลิงก์ส่วนตัวที่เชื่อมโยงกับทีม 1 ได้เลย

![](https://api.archbee.com/api/optimize/HCIek7I0UxvyNHQ0EFzVX-s-2hIJWG1r0-sPfAob_Cb-20250729-141700.png)

***

# วิธีการทำงานของ JWT

## JWT - การยืนยันตัวตนผู้เข้าชมแบบลับ

![](https://api.archbee.com/api/optimize/HCIek7I0UxvyNHQ0EFzVX-4sLYzb9cSClYA_JSj44ou-20250729-141747.png)

ไปที่การตั้งค่าพื้นที่ และตั้งค่า JWT secret key ที่คุณสร้างบนเซิร์ฟเวอร์ของคุณ

## การยืนยันตัวตนผู้เข้าชมด้วย JSON WEB Key

![](https://api.archbee.com/api/optimize/HCIek7I0UxvyNHQ0EFzVX-IOipg_ftVicxds_qMXSak-20250729-141831.png)

ไปที่การตั้งค่าพื้นที่ และตั้งค่า JSON WEB Key Set URL ซึ่งเป็น URL ที่เซิร์ฟเวอร์เผยแพร่กุญแจสาธารณะในรูปแบบ JSON

โดยทั่วไปแล้ว JWKS URL จะชี้ไปที่เอกสาร JSON ที่มีอาร์เรย์ของกุญแจเข้ารหัสสำหรับการตรวจสอบลายเซ็น

เมื่อ Archbee ได้รับ JWT ระบบสามารถดึงกุญแจสาธารณะที่เกี่ยวข้องจาก JWKS URL และใช้เพื่อตรวจสอบลายเซ็นของ JWT เพื่อให้มั่นใจว่าโทเคนไม่ได้ถูกแก้ไขและออกโดยผู้ที่เชื่อถือได้

URL ของ JWKS ช่วยให้ไคลเอนต์สามารถรับกุญแจสาธารณะเพื่อใช้ตรวจสอบลายเซ็น JWT ได้อย่างเป็นมาตรฐาน ปลอดภัย และปรับขยายได้ง่าย

นี่คือตัวอย่างไฟล์ `jwks.json`:

```json
{
	"keys": [{
		"kid": "1234example=",
		"alg": "RS256",
		"kty": "RSA",
		"e": "AQAB",
		"n": "1234567890",
		"use": "sig"
	}, {
		"kid": "5678example=",
		"alg": "RS256",
		"kty": "RSA",
		"e": "AQAB",
		"n": "987654321",
		"use": "sig"
	}]
}
```

## สร้างโทเค็น JWT

ใช้หนึ่งในตัวอย่างด้านล่างเพื่อสร้างโทเค็น JWT

คุณยังต้องแทนที่ URL ด้วยซับโดเมนของเว็บไซต์เอกสารของคุณด้วย

```nodejs
const sign = require('jsonwebtoken').sign;

exports.buildArchbeeLoginURL = function() {
  // Optional user credentials that you want to send back to Archbee
  const user = {
    name: 'John',
    email: 'Wick',
  };
  //create a signed token out of the user credentials with the
  //secret you set in Archbee
  const jwtToken = sign(user, '<archbeeJwtSecret>');
  //yourdomain is set in the Custom Domain tab
  const archbeeUrl = 'https://yourdomain.com';
 
  //create the complete URL containing the signed token that you'll send back to Archbee
  return `${archbeeUrl}?jwt=${jwtToken}&reload`;
};
```

นี่คือตัวอย่างสำหรับสร้างโทเค็น JWT ด้วย .NET: [https://github.com/dragosbulugean/archbee-jwt-dotnet](https://github.com/dragosbulugean/archbee-jwt-dotnet)﻿

```javascript
using JWT;
using JWT.Algorithms;
using JWT.Serializers;

var payload = new Dictionary<string, object>
{
    { "name", "John Wick" },
    { "email", "john.wick@matrix.com" }
};
const string secret = "TW9zaGVFcmV6UHJpdmF0ZUtleQ";

IJwtAlgorithm algorithm = new HMACSHA256Algorithm(); // symmetric
IJsonSerializer serializer = new JsonNetSerializer();
IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();
IJwtEncoder encoder = new JwtEncoder(algorithm, serializer, urlEncoder);

var jwtToken = encoder.Encode(payload, secret);
var archbeeLink = $"https://docs.yourcompany.com/?jwt={jwtToken}&reload";

Console.WriteLine($"JWT Token: {jwtToken}");
Console.WriteLine($"Archbee Link: {archbeeLink}");
```

:::hint{type="info"}
โทเคน JWT ถูกข้ามการตรวจสอบบน Preview/Staging
:::

***

# SAML - Security Assertion Markup Language

![](https://api.archbee.com/api/optimize/HCIek7I0UxvyNHQ0EFzVX-Jo-LIF0lRgF1NC3d0BYkK-20250729-141906.png)

สามารถกำหนดค่า SAML สำหรับการเข้าถึงพื้นที่สาธารณะได้ในลักษณะเดียวกับการเชื่อมต่อทีม ดู [การผสานรวม SAML](docId\:t__AEJ_dPPbwJNG33xEqs) สำหรับขั้นตอนรายละเอียดเพิ่มเติมเกี่ยวกับการตั้งค่าผู้ให้บริการแต่ละราย.

โปรดทราบว่าต้องใช้เพียง URL ของข้อมูลเมตาเป็นอินพุตเท่านั้น นอกจากนี้ เราถือว่าสเปซนี้ถูกโฮสต์บนโดเมนแบบกำหนดเองอยู่แล้ว

ในกรณีนี้ วิธีการ, ลิงก์สเปซที่เผยแพร่จะถูกส่งผ่านแอปพลิเคชัน SAML ใหม่ ดังนั้นมีเพียงสมาชิกที่ตั้งค่าไว้ในแอปพลิเคชันผู้ให้บริการเท่านั้นที่สามารถเข้าถึงพอร์ทัลสาธารณะได้

### วิธีตั้งค่า SAML เป็นการควบคุมการเข้าถึงแบบสาธารณะ

::::WorkflowBlock
:::WorkflowBlockItem
ไปที่ Azure Services -> Microsoft Entra ID -> "+Add" -> App registration

เลือก "Accounts in this organizational directory only - Single tenant" และวาง URL สำหรับ CallBack จาก Archbee Space Settings -> Public Access Control -> SAML ลงในช่อง "Redirect URI" ตามภาพด้านล่าง โดยเลือก Web auth:

::Image[]{src="https://api.archbee.com/api/optimize/bNBm7nPJgXjbjLyfbHNh2/3UT5owvW3hIctm8WvFS5p_image.png" size="50" width="1746" height="1304" position="center" showCaption="false"}
:::

:::WorkflowBlockItem
คลิกที่ "Register"
:::

:::WorkflowBlockItem
ในแอปที่สร้างขึ้นใหม่ใน Azure ไปที่ "Endpoints" และคัดลอก "Federation metadata document" จาก Azure App ไปที่ Archbee Space Settings -> Public Access Control -> SAML ลงในช่อง "Set SAML Metadata URL"

::Image[]{src="https://api.archbee.com/api/optimize/bNBm7nPJgXjbjLyfbHNh2/tmIsl_WC_b8Gg53we8F7w_image.png" size="60" width="2272" height="1216" position="center" showCaption="false"}
:::

:::WorkflowBlockItem
จะมีการสร้าง Entity ID เฉพาะใน Archbee ให้คัดลอกลิงก์ "[api://PUBLISHED](#)..." ไปยัง Azure App ของคุณในส่วน Expose an API -> Add -> กรอก URL -> บันทึก

::Image[]{src="https://api.archbee.com/api/optimize/bNBm7nPJgXjbjLyfbHNh2/1MpmJaW_2e-NQvI7TOKxd_image.png" size="34" width="782" height="1388" position="center" showCaption="false"}
:::

:::WorkflowBlockItem
ไปที่ space ของคุณใน Archbee แล้วเผยแพร่ใหม่
:::

:::WorkflowBlockItem
ลองเข้าถึงลิงก์และทดสอบการยืนยันตัวตนผ่าน SAML
:::
::::

# การตั้งค่าพรีวิว

:::hint{type="warning"}
ฟีเจอร์นี้ช่วยให้คุณจำลองการตั้งค่าการยืนยันตัวตนในสภาพแวดล้อมพรีวิวที่มีการควบคุมก่อนเผยแพร่ให้ผู้ใช้ภายในใช้งานจริง
:::

## วัตถุประสงค์

เปิดการตั้งค่านี้เพื่อใช้ `การป้องกันด้วยการยืนยันตัวตนในสภาพแวดล้อมพรีวิวของคุณ` เพื่อจำกัดการเข้าถึงเฉพาะ `ผู้ใช้ภายในเท่านั้น`. สิ่งนี้ช่วยตรวจสอบค่ากำหนดการยืนยันตัวตน การไหลของการเข้าถึงผู้ใช้ และการตั้งค่าการป้องกัน `โดยไม่เปิดเผยการเปลี่ยนแปลงต่อสาธารณะ`.

## วิธีเปิดใช้งาน

- ไปที่ส่วนการควบคุมการเข้าถึงสาธารณะในหน้า Space Settings
- เลือกวิธีการยืนยันตัวตนใดก็ได้
- ปิดการใช้งาน `การตั้งค่าพรีวิว`
- เผยแพร่การเปลี่ยนแปลงของคุณไปยังพรีวิวและทดสอบการยืนยันตัวตน

![](https://api.archbee.com/api/optimize/HCIek7I0UxvyNHQ0EFzVX-9qT4lqJHCgiQZ-OIc5Am5-20250729-142003.png)

# การยืนยันตัวตนหลายรูปแบบ

ฟีเจอร์การยืนยันตัวตนหลายรูปแบบช่วยให้คุณเปิดใช้วิธีการยืนยันตัวตนมากกว่าหนึ่งวิธีสำหรับการเข้าถึงพอร์ทัลเอกสารของคุณ ซึ่งช่วยเพิ่มความยืดหยุ่นและการเข้าถึงสำหรับผู้ใช้ของคุณ

## วิธีการทำงาน

:::hint{type="success"}
จากการตั้งค่าการควบคุมการเข้าถึงสาธารณะ คุณสามารถสลับเปิดใช้งานวิธีการยืนยันตัวตนได้หลายแบบพร้อมกัน ผู้ใช้ที่เข้าถึงพอร์ทัลของคุณสามารถยืนยันตัวตนด้วยวิธีใดวิธีหนึ่งที่เปิดใช้งานอยู่
:::

## ตัวอย่างกรณีการใช้งาน

หากคุณเปิดใช้งานทั้ง **ลิงก์ส่วนตัว** และ **รหัสผ่าน**, ผู้ใช้สามารถเข้าถึงเอกสารของคุณได้โดยใช้วิธีใดวิธีหนึ่งดังนี้:

- ลิงก์ส่วนตัวที่ปลอดภัยซึ่งคุณแชร์ให้พวกเขา
- หรือรหัสผ่านทั่วไปที่คุณกำหนด

![](https://api.archbee.com/api/optimize/HCIek7I0UxvyNHQ0EFzVX-_rgZR3y82yCV8ScSC0MQH-20250729-143204.png)

:::hint{type="warning"}
เฉพาะผู้ใช้ที่ตรงตามหนึ่งในวิธีการยืนยันตัวตนที่เปิดใช้งานเท่านั้นที่จะได้รับอนุญาตให้เข้าถึง คุณสามารถปิดใช้งานวิธีการใดก็ได้ทุกเมื่อผ่านสวิตช์ในหน้าการตั้งค่าการควบคุมการเข้าถึงสาธารณะ
:::



