首頁 / 520.4 Atlassian Guard 與進階管理 / 520.4.4
520.4.4・Atlassian Guard & advanced administration 16%

Admin APIs、application tunnels 與 custom email

三個進階功能:用 admin API 自動化 organization 管理、用 application tunnel 連到防火牆內的 Data Center、用公司網域寄通知。這一節考它們由誰設定、在哪裡設定,以及各自的限制。

考試佔 16%
官方考綱原文(這一節會考的範圍)
  • Configure release tracks, sandboxes, IP allowlisting, admin APIs, and application tunnels(新版能力清單)設定 release tracks、sandboxes、IP allowlisting、admin APIs 與 application tunnels
  • Understand that you can manage your Atlassian cloud organization via the admin APIs / Create an API key / Revoke an API key了解可以用 admin APIs 管理 organization;建立與撤銷 API key
  • Understand what application tunnels are: Provide a secure pathway between a cloud organization and DC/Server instances that live on the company network了解 application tunnels:在 cloud organization 與公司網路內的 DC/Server 之間提供安全通道
  • Used to integrate products through application links that would otherwise require allowing incoming connections to the company network用來透過 application link 整合產品,否則就得允許外部連入公司網路
  • Allow integration of Atlassian products and exchange of data and functionalities in a secure way, without exposing the company network or allowlisting incoming connections or IPs安全地整合與交換資料,不必暴露公司網路,也不必把連入的連線或 IP 加進白名單
  • Add custom email addresses for product notifications / Understand the purpose of adding a custom email address為產品通知加入自訂 email 地址,並了解目的(舊版 4.1)
本頁內容
3 分鐘速覽

用 API 管 organization、連到自建主機、用自己的網域寄通知

  1. Admin API keyOrganization settings → API keys 建立;用來呼叫 organization、user management、provisioning 等 admin API。值只顯示一次;有 scope 的 key 最長一年。
  2. With scopes 與 without scopes有 scope 的 key 只能做指定的動作,比較安全;沒有 scope 的 key 能呼叫所有 admin API。撤銷是永久的,最多 10 分鐘失效。
  3. Admin API key 與 user API token 不同Admin API key 由 org admin 在 Atlassian Administration 建立,用來管 organization;user API token 由使用者自己建立,用來呼叫 Jira、Confluence 的 API。
  4. Application tunnels在 cloud organization 與你網路裡的 Data Center 之間建安全通道,不必開放連入的防火牆或 IP;只有連入方向走 tunnel。
  5. Tunnel 的限制一個 Data Center instance 只能接一個 tunnel(一個 organization);一個 organization 最多 100 個 tunnel;tunneled application link 只能從 cloud 端建立。
  6. Custom emailOrganization settings → Emails:加 email 網域、把 DKIM、bounce、TXT 等 DNS record 加到網域商,Active 後加寄件地址(每個 site 最多 30 個),app admin 再挑來用。
資料來源(5)有疑慮時點開看官方原文
Admin APIs

建立、使用、撤銷 API key

Admin API 讓你用程式自動化 Atlassian Administration:查 organization、管理 managed account、從 IdP provisioning、資料分類、建立 data security 與 IP allowlist 政策、撤銷 user API token 等。呼叫前要先由 org admin 建立 API key,呼叫時把它當 Bearer token 帶上。

Atlassian Administration → API keysAPI keysCreate API keyAPI keys with scopes(建議)API keys without scopesNamelab-readonlyExpiration一年內的日期建立後只顯示一次,Atlassian 不保存 key 的值Create
Organization settings → API keys:先選有沒有 scope,再取名、選到期日、選 scope。
API key with scopesAPI key without scopes
能做什麼只能做你選的 scope能呼叫所有 admin API
安全性比較安全官方提醒可能有安全風險
限制只有部分 API 支援 scope;最長一年—
  • Key 的值只在建立時顯示一次,Atlassian 不保存;遺失就只能撤銷再建一把。
  • 官方建議只把 key 分享給其他 org admin;有 org admin 離職時,撤銷他建立的 key。
  • Revoke 是永久的,最多 10 分鐘後才完全失效。
  • Organizations REST API 的網址開頭是 api.atlassian.com/admin/,後面接版本與資源,例如 GET /v1/orgs 會依 API key 列出你的 organization。
考題長相

「Admin 想讓一支內部程式每天把離職員工的 managed account 停用。」答案是由 org admin 建立 admin API key,呼叫 user management API。不是使用者在 id.atlassian.com 建的 user API token,那是給 Jira、Confluence 等 app API 用的。

資料來源(6)有疑慮時點開看官方原文
Application tunnels

Cloud 與防火牆內的 Data Center 安全相連

公司若同時有 cloud 與放在內部網路的 Data Center(考綱寫 DC/Server),要用 application link 整合兩邊,傳統做法得開放外部連入公司網路。Application tunnels 改成在兩邊之間建一條安全通道:不必暴露網路、不必把任何連入的 IP 加進防火牆白名單。

Atlassian cloud organizationJira/Confluence:Tunneled application linkTunnel server:在 admin.atlassian.com 建立連入:經過 tunnel連出:直連 443你的網路:Data Center instanceTunnel client:Marketplace appReciprocal link:自動建立、直連 cloud
Cloud 端建立 tunneled application link,流量經 tunnel 進到 Data Center;Data Center 回連 cloud 的 reciprocal link 是直接連出,不走 tunnel。
  1. 1 安裝 tunnel client在 Data Center 安裝 Application tunnels 這個 Marketplace app(Confluence 9.4 與 9.2.6 LTS 起已內建)。
  2. 2 設定連線與 port允許連出 port 443 到 tunnel.services.atlassian.com 與 cloud app;新增只對 localhost 開放的 HTTP connector 與 upstream port。不用開任何連入。
  3. 3 建立 tunnelAtlassian Administration → Data management → Data sources → Application tunnels → Create tunnel,產生 security key,貼到 Data Center。
  4. 4 建立 tunneled application link到 cloud app 自己的設定(例如 Jira 的 Settings → Products → Application links)→ Create link → Tunneled application link。
Cloud 端狀態意思與處理
IncompleteCloud 已建 tunnel,但 security key 還沒加到 Data Center
MisconfiguredData Center 沒設好 connector 與 upstream port
Unavailable暫時連不上、key 錯誤或過期、或 Data Center 停機
Error/Timed out多半是 Data Center 本身的問題或負載過高;查 log、重產 key 或重建 tunnel

這張表最該記的:Incomplete 就是「key 還沒貼到 Data Center」。兩邊的 application link 都顯示 Config error 時,通常是 cloud 端 link 的 local authentication 沒設成 OAuth。支援的 cloud app 是 Jira、JSM、Confluence;Atlassian Government Cloud 不支援。

資料來源(6)有疑慮時點開看官方原文
Custom email

用公司網域寄 Jira、Confluence 通知

預設情況下,Jira 與 Confluence 的通知從 Atlassian 的網域寄出(例如 jira@acme.atlassian.net)。若要改用 support@acme.com 這類公司地址,org admin 要先替該網域設定 DMARC,讓收件伺服器相信 Atlassian 有權代你寄信。DMARC 用 SPF 與 DKIM 驗證寄件來源與內容,可以防釣魚與網域偽冒,也提高通知不被當成垃圾信的機率。

1 Add email domainorg admin2 DNS record 加到網域商每 24 小時檢查3 網域變 Active最多 72 小時4 Add email addresses每個 site 最多 30 個5 App admin 選寄件地址
前四步在 Atlassian Administration → Organization settings → Emails 由 org admin 做;第五步由 app admin 在 Jira space 或 Confluence 的通知設定挑選。
DNS record作用
DKIM(兩筆 CNAME)授權 Atlassian 用你的網域簽署信件;兩筆是為了換 key 時不中斷
Bounce(CNAME)收件端退信時寄回的地址;也用於 SPF 驗證
TXT照畫面複製 name 與 value 加入(官方沒有逐筆說明 TXT 的用途)

整組 DNS record 的目的,是讓 Atlassian 確認你擁有網域,並取得 DMARC 需要的設定參數;Atlassian Administration 會列出 5 或 6 筆 record。

  • 這和「驗證網域來管理帳號」是兩件事:custom email 用多筆 DNS record,設定位置在 Organization settings → Emails,不是 Directory → Domains。
  • 寄件地址建議用代表團隊的地址(例如 support@、help@),不要用個人帳號的 email。
  • Remove email domain 會一併移除該網域的所有地址;Remove email address 或把 Available in app? 關掉,用到它的通知都會改回 app 預設地址。重新開啟 Available in app? 也不會自動加回原本的通知。
  • Jira:space 設定 → Notifications → Internal notifications → Notification email,從下拉選 custom email 或預設的 Jira 地址。
考題長相

「Project admin 在 Notification email 的下拉選單找不到 support@acme.com。」最可能是 org admin 還沒在 Organization settings → Emails 加這個地址、沒把它開放給這個 app,或把 Available in app? 關掉了。Project admin 自己不能新增寄件地址。

資料來源(7)有疑慮時點開看官方原文
易錯觀念

考題愛用的錯誤說法

Admin API key 忘了可以在 Atlassian Administration 再看一次。
Key 只在建立時顯示一次,Atlassian 不保存它的值。
遺失就撤銷再建一把新的。
API key without scopes 比較安全,因為設定簡單。
Without scopes 能呼叫所有 admin API,官方提醒有安全風險;with scopes 才是安全的選擇。
Scope 限制 key 能做的動作。
撤銷 admin API key 後立刻失效。
最多 10 分鐘後才停止運作;撤銷是永久的。
排程中的 script 可能在這幾分鐘內仍成功。
使用 application tunnel 時,Data Center 要開放連入的防火牆規則。
不用開放任何連入;只要允許連出 port 443。
Tunnel 正是為了避免暴露內部網路。
Tunneled application link 可以從 Data Center 端建立。
只能從 cloud app 建立;Data Center 端的 reciprocal link 自動建立。
Reciprocal link 是連出,不走 tunnel。
設定 custom email 的網域,就是 Directory → Domains 的網域驗證。
兩者不同:custom email 在 Organization settings → Emails,用多筆 DNS record。
網域驗證是為了 claim 帳號。
資料來源(6)有疑慮時點開看官方原文
動手做

實作 Lab:建一把 admin API key、呼叫一次、再撤銷

約 25 分鐘Org admin;所有方案。Custom email 要自己的網域;application tunnel 要 Data Center,只看不做

第一次做 Lab?先看 Lab 環境準備:用測試站台、準備測試帳號。畫面名稱可能隨 Atlassian 更新而不同,以下以現行畫面為準。

目標:親手建立有 scope 的 admin API key、用 curl 呼叫一次 Organizations API,再撤銷它;順便看 application tunnels 與 custom email 的設定畫面。

這個 Lab 對應的考點

Admin API key 在 Organization settings → API keys 建立,值只顯示一次、有 scope 的 key 最長一年;撤銷是永久的,最多 10 分鐘生效。Tunnel 在 Data management → Data sources;custom email 在 Organization settings → Emails。

準備

  • 電腦上有 curl(macOS、Linux 內建;Windows 可用 PowerShell 的 curl.exe)。

步驟

  1. 你應該看到:要填 Name、選到期日(最長一年)、選 API scopes。
  2. 你應該看到:畫面顯示 key 的值,而且只顯示這一次。複製到暫存處。
  3. 你應該看到:通常會回傳 JSON,裡面有 Lab Org 的 id 與 name。若回 401 或 403,多半是所選 scope 不涵蓋這個 API,記下錯誤即可,不影響後面步驟。
  4. 你應該看到:Key 被撤銷,無法復原。
  5. 你應該看到:精靈要你填 Data Center instance 的資料,並產生 security key;沒有 Data Center 就不要完成(只看不做)。
  6. 你應該看到:沒有自己的網域就直接關掉。有網域的人輸入後會看到 DNS records 對話框,列出 5 或 6 筆 record(DKIM、bounce、TXT)。
  7. 你應該看到:通常 Email 下拉只有預設的 Jira 地址(還沒有 custom email);使用預設地址時可以改 email prefix。看完按取消,不要儲存。

試試看:改一個設定,觀察差異

T1撤銷後馬上再跑一次步驟 3 的 curl,10 分鐘後再跑一次。看結果
官方說撤銷最多 10 分鐘才完全失效,所以第一次可能還成功,第二次一定失敗。
T2再建一把 API keys without scopes 的 key,看建立前的說明,然後立刻撤銷。看結果
這種 key 能呼叫所有 admin API,官方提醒可能有安全風險;能用 scope 時就用 scope。
T3(想像,不實際做)你建好 tunnel,但 Data Center 的 admin 還沒把 security key 貼上。看結果
Cloud 端的 tunnel 狀態會是 Incomplete;把 key 加到 Data Center 之後才會變成 Connected。
心像錨點:閉上眼睛想一次這個畫面

API key 建立完成那一刻:一串只出現一次的 key 和複製按鈕。Key 只看一次、一年到期、十分鐘失效。

收尾

  • 確認 API keys 清單裡的 lab key 都已撤銷(必做)。
  • 清掉終端機歷史裡含 key 的那一行(例如 zsh 的 history 檔),不要把 key 留在電腦上。
  • 加了 email domain 但不打算用的話,在 Email domains 分頁 Remove。
資料來源(5)有疑慮時點開看官方原文
一分鐘腦內整理

讀完了?用這張收攏整節

Key 只看一次、一年到期、十分鐘失效Admin API key 的三個數字(一年是有 scope 的 key 的上限)。
連入走隧道、連出直接走Application tunnel 的方向。
Org admin 加地址、app admin 挑地址Custom email 的分工。
建立、使用、撤銷 API key
  • Admin API key:Organization settings → API keys;只顯示一次,有 scope 的 key 最長一年。
  • Revoke 永久、最多 10 分鐘生效;admin 離職要撤銷他的 key。
Cloud 與防火牆內的 Data Center 安全相連
  • 只有連入你網路的流量走 tunnel;連出直連 cloud。
  • 一個 DC instance 只接一個 organization 的 tunnel;最多 100 個 tunnel。
用公司網域寄 Jira、Confluence 通知
  • Custom email:org admin 加網域與地址,app admin 只能挑。
  • 移除或停用地址,通知改回 app 預設地址。
本節練習

做題

題目載入中…

本教材為原創整理,非 Atlassian 官方出版品;題目皆為原創,不含第三方題庫題幹。官方文件近年改用新名稱:product 改稱 app、Atlassian Access 改為 Atlassian Guard、project 改稱 space。考試與舊文件的說法並陳。