Mengintegrasikan Atlassian Confluence Server dengan Google SecOps

Dokumen ini menjelaskan cara mengintegrasikan Atlassian Confluence Server dengan Google Security Operations (Google SecOps).

Prasyarat

Untuk melakukan autentikasi ke Server Confluence, pilih salah satu opsi berikut:

  • Nama pengguna dan sandi untuk akun khusus.
  • Token akses pribadi (PAT).

Jika kedua opsi autentikasi disediakan untuk integrasi, PAT akan lebih diprioritaskan daripada nama pengguna dan sandi.

Autentikasi berdasarkan nama pengguna dan sandi memerlukan pembuatan akun khusus yang akan digunakan untuk integrasi.
Autentikasi berdasarkan token akses memerlukan konfigurasi izin akun. Setelah dibuat, PAT baru akan sesuai dengan tingkat izin akun saat ini.

Untuk membuat token, ikuti langkah-langkah berikut:

  1. Di Confluence, buka Account > Account settings > Personal access tokens.
  2. Pilih Buat token.
  3. Beri nama token yang Anda buat.
  4. (Opsional) Untuk keamanan tambahan, Anda dapat mengonfigurasi token agar otomatis berakhir setelah jumlah hari yang ditetapkan.
  5. Klik Create.

Parameter integrasi

Integrasi ini memerlukan parameter berikut:

Nama parameter Jenis Nilai Default Wajib Deskripsi
Root API String https://ip_address Benar Tentukan Root API Server Confluence yang akan dihubungkan.
Nama pengguna String T/A Salah Tentukan nama pengguna yang akan digunakan untuk koneksi. Integrasi mendukung autentikasi pada nama pengguna + sandi atau token akses pribadi.
Sandi Sandi T/A Salah Tentukan sandi yang akan digunakan untuk koneksi. Integrasi mendukung autentikasi pada nama pengguna + sandi atau token akses pribadi.
Token Akses Pribadi Sandi T/A Salah Tentukan token yang akan digunakan untuk koneksi. Integrasi mendukung autentikasi pada nama pengguna + sandi atau token akses pribadi.
Verifikasi SSL Kotak centang Kotak Centang Dicentang Salah Jika diaktifkan, sertifikat yang dikonfigurasi untuk root API akan divalidasi.

Untuk mendapatkan petunjuk tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.

Anda dapat melakukan perubahan pada tahap selanjutnya, jika diperlukan. Setelah mengonfigurasi instance integrasi, Anda dapat menggunakannya dalam playbook. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi dan mendukung beberapa instance, lihat Mendukung beberapa instance.

Tindakan

Untuk mengetahui informasi selengkapnya tentang tindakan, lihat Merespons tindakan yang tertunda dari meja kerja Anda dan Menjalankan tindakan manual dalam kasus Anda.

Ping

Menguji konektivitas.

Parameter

T/A

Dijalankan pada

Tindakan tidak berjalan di entity.

Hasil tindakan

Hasil skrip
Nama hasil skrip Opsi nilai Contoh
is_success Benar/Salah is_success:False

Jika tindakan berhasil (ada json dalam respons dan respons server adalah 200), is_success harus ditetapkan ke True. Jika tidak, False.

Repositori kasus
Jenis hasil Nilai/Deskripsi Jenis (Entitas/Umum)
Pesan output* Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:
  • Jika berhasil:
    print "Successfully connected to the Atlassian Confluence Server instance with the provided connection parameters!"
  • Jika nama pengguna dan sandi, serta PAT diberikan:
    "Nama pengguna dan sandi, serta token akses pribadi diberikan untuk integrasi, token akses pribadi akan digunakan untuk terhubung dengan"

Tindakan akan gagal dan menghentikan eksekusi playbook:
  • If both (username+password) and PAT are not provided:
    print "Failed to connect to Atlassian Confluence Server, expecting either username and password, or personal access token to connect with!"
  • Jika terjadi error kritis, seperti kredensial salah atau konektivitas terputus:
    print "Failed to connect to the Atlassian Confluence Server instance! Error is {0}".format(exception.stacktrace)
Umum

Halaman daftar

Mencantumkan halaman yang tersedia di instance Atlassian Confluence Server berdasarkan kriteria yang diberikan.

Parameter

Nama parameter Jenis Nilai default Wajib Deskripsi
Kunci Filter DDL Pilih Satu

Nilai yang mungkin untuk DDL:
  • Judul
  • Nama Ruang
  • Status
Salah Tentukan kunci yang perlu digunakan untuk memfilter halaman.
Logika Filter DDL Tidak Ditentukan

Nilai yang mungkin untuk DDL:
  • Tidak Ditentukan
  • Sama dengan
  • Berisi
Salah Tentukan logika filter yang harus diterapkan. Logika pemfilteran berfungsi berdasarkan nilai yang diberikan dalam parameter Filter Key.
Nilai Filter String T/A Salah Tentukan nilai yang harus digunakan dalam filter.
Jika Equal dipilih, tindakan akan mencoba menemukan kecocokan persis di antara hasil.
Jika Contains dipilih, tindakan akan mencoba menemukan hasil yang berisi substring tersebut.
Jika tidak ada yang disediakan dalam parameter ini, filter tidak akan diterapkan.
Logika pemfilteran berfungsi berdasarkan nilai yang diberikan dalam parameter Filter Key.
Jumlah Data Maksimum yang Akan Ditampilkan Int 50 Salah Tentukan jumlah kumpulan data yang akan ditampilkan.
Jika tidak ada yang diberikan, tindakan akan menampilkan 50 kumpulan data.

Dijalankan pada

Tindakan tidak berjalan di entity.

Hasil tindakan

Hasil skrip
Nama hasil skrip Opsi nilai Contoh
is_success Benar/Salah is_success:False

Jika tindakan berhasil dijalankan (tidak ada error yang ditampilkan, respons server adalah 200 OK), is_success harus ditetapkan ke True.

Hasil JSON
{
   "results": [
       {
           "id": "PAGE_ID",
           "type": "page",
           "status": "current",
           "title": "Tell people what you think in a comment (step 8 of 9)",
           "space": {
               "id": 131073,
               "key": "ds",
               "name": "Demonstration Space",
               "type": "global",
               "_links": {
                   "webui": "/display/ds",
                   "self": "http://192.0.2.45:8090/rest/api/space/ds"
               },
               "_expandable": {
                   "metadata": "",
                   "icon": "",
                   "description": "",
                   "retentionPolicy": "",
                   "homepage": "/rest/api/content/PAGE_ID"
               }
           },
           "extensions": {
               "position": 7
           },
           "_links": {
               "webui": "/pages/viewpage.action?pageId=PAGE_ID",
               "edit": "/pages/resumedraft.action?draftId=DRAFT_ID",
               "tinyui": "/x/AYAB",
               "self": "http://192.0.2.45:8090/rest/api/content/PAGE_ID"
           },
           "_expandable": {
               "container": "/rest/api/space/ds",
               "metadata": "",
               "operations": "",
               "children": "/rest/api/content/PAGE_ID/child",
               "restrictions": "/rest/api/content/PAGE_ID/restriction/byOperation",
               "history": "/rest/api/content/PAGE_ID/history",
               "ancestors": "",
               "body": "",
               "version": "",
               "descendants": "/rest/api/content/PAGE_ID/descendant"
           }
       },
       ...
   ],
   "start": 0,
   "limit": 5,
   "size": 5,
   "_links": {
       "self": "http://192.0.2.45:8090/rest/api/content?expand=space",
       "next": "/rest/api/content?expand=space&limit=5&start=5",
       "base": "http://192.0.2.45:8090",
       "context": ""
   }
}
Repositori kasus
Jenis hasil Nilai/Deskripsi Jenis (Entitas/Umum)
Pesan output* Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • Jika data tersedia(is_success = true):
print "Successfully found pages for the provided criteria in Atlassian Confluence Server".

  • Jika data tidak tersedia (is_success=false)
print "No pages were found for the provided criteria in Atlassian Confluence Server"

  • Jika "Nilai Filter" kosong (is_success=true):
Filter tidak diterapkan karena parameter "Nilai Filter" memiliki nilai kosong.

Tindakan akan gagal dan menghentikan eksekusi playbook:

  • Jika Kunci Filter == "Pilih Satu" dan Logika Filter "Sama dengan" atau "Berisi":
Terjadi error saat menjalankan tindakan "{action name}". Alasan: Anda harus memilih kolom dari parameter Filter Key.

  • Jika nilai yang tidak valid diberikan untuk Max Records to Return:
Terjadi error saat menjalankan tindakan "{action name}". Alasan: "Nilai yang diberikan untuk "Max Records to Return" tidak valid: <nilai yang diberikan>. Harus berupa bilangan positif".

  • Jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya:
"Error saat menjalankan tindakan "{action name}". Reason: {0}''.format(error.Stacktrace)

  • Jika nama pengguna+sandi dan PAT tidak diberikan:
print "Failed to connect to Atlassian Confluence Server, expecting either username and password, or personal access token to connect with!"
Umum
Tabel Repositori Kasus Name: Available Confluence Pages
Columns:
  • ID
  • Judul
  • Spasi
  • Status
  • Dibuat
Umum

Mendapatkan halaman menurut ID

Mendapatkan halaman Atlassian Confluence Server berdasarkan ID.

Parameter

Nama parameter Jenis Nilai default Wajib Deskripsi
ID halaman String T/A Benar Tentukan ID halaman yang akan ditampilkan.
Luaskan CSV body.storage Salah Tentukan parameter perluas untuk menampilkan informasi tambahan tentang halaman. Parameter menerima beberapa nilai sebagai comma separated list.
Secara default, konten halaman diambil dengan body.storage.

Dijalankan pada

Tindakan tidak berjalan di entity.

Hasil tindakan

Hasil skrip
Nama hasil skrip Opsi nilai Contoh
is_success Benar/Salah is_success:False

Jika tindakan berhasil dijalankan (halaman ditampilkan, respons server adalah 200 OK), is_success harus ditetapkan ke True.

Hasil JSON
{
   "id": "PAGE_ID",
   "type": "page",
   "status": "current",
   "title": "title",
   "body": {
       "storage": {
           "value": "<p>test page</p><p>11</p><p>aa</p><p>aa</p><p>aa</p><p><br /></p><p><br /></p>",
           "representation": "storage",
           "_expandable": {
               "content": "/rest/api/content/PAGE_ID"
           }
       },
       "_expandable": {
           "editor": "",
           "view": "",
           "export_view": "",
           "styled_view": "",
           "anonymous_export_view": ""
       }
   },
   "extensions": {
       "position": "none"
   },
   "_links": {
       "webui": "/display/SIEM/111",
       "edit": "/pages/resumedraft.action?draftId=PAGE_ID&draftShareId=cf8b3a21-8e36-4a83-a696-51fcb4428d1c",
       "tinyui": "/x/TIAB",
       "collection": "/rest/api/content",
       "base": "http://192.0.2.45:8090",
       "context": "",
       "self": "http://192.0.2.45:8090/rest/api/content/PAGE_ID"
   },
   "_expandable": {
       "container": "/rest/api/space/SIEM",
       "metadata": "",
       "operations": "",
       "children": "/rest/api/content/PAGE_ID/child",
       "restrictions": "/rest/api/content/PAGE_ID/restriction/byOperation",
       "history": "/rest/api/content/PAGE_ID/history",
       "ancestors": "",
       "version": "",
       "descendants": "/rest/api/content/PAGE_ID/descendant",
       "space": "/rest/api/space/SIEM"
   }
}
Repositori kasus
Jenis hasil Nilai/Deskripsi Jenis (Entitas/Umum)
Pesan output* Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • Jika halaman ditemukan (is_success = true):
print "Successfully fetched page information with id: <id>"

  • Jika data tidak tersedia (is_success=false):
print "The following page id was not found in the Atlassian Confluence Server: <page id>"

Tindakan akan gagal dan menghentikan eksekusi playbook:

  • Jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya:
"Error executing action "<Action name>". Reason: {0}''.format(error.Stacktrace)

  • Jika nama pengguna + sandi dan PAT tidak diberikan:
print "Failed to connect to Atlassian Confluence Server, expecting either username and password, or personal access token to connect with!"
Umum

Mendapatkan halaman turunan

Mendapatkan halaman turunan untuk halaman Atlassian Confluence Server.

Parameter

Nama parameter Jenis Nilai default Wajib Deskripsi
ID halaman String T/A Benar Tentukan ID halaman yang akan ditampilkan.
Jumlah data maksimum yang akan ditampilkan Int 10 Benar Tentukan batas halaman turunan yang akan ditampilkan.

Dijalankan pada

Tindakan tidak berjalan di entity.

Hasil tindakan

Hasil skrip
Nama hasil skrip Opsi nilai Contoh
is_success Benar/Salah is_success:False

Jika tindakan berhasil dijalankan (halaman ditampilkan, respons server adalah 200 OK), is_success harus ditetapkan ke True.

Hasil JSON
{
   "results": [
       {
           "id": "PAGE_ID",
           "type": "page",
           "status": "current",
           "title": "test child page!",
           "extensions": {
               "position": "none"
           },
           "_links": {
               "webui": "/pages/viewpage.action?pageId=PAGE_ID",
               "edit": "/pages/resumedraft.action?draftId=PAGE_ID&draftShareId=799fd068-5053-4889-9120-c1a3c970fdbd",
               "tinyui": "/x/T4AB",
               "self": "http://192.0.2.45:8090/rest/api/content/PAGE_ID"
           },
           "_expandable": {
               "container": "/rest/api/space/SIEM",
               "metadata": "",
               "operations": "",
               "children": "/rest/api/content/PAGE_ID/child",
               "restrictions": "/rest/api/content/PAGE_ID/restriction/byOperation",
               "history": "/rest/api/content/PAGE_ID/history",
               "ancestors": "",
               "body": "",
               "version": "",
               "descendants": "/rest/api/content/PAGE_ID/descendant",
               "space": "/rest/api/space/SIEM"
           }
       }
   ],
   "start": 0,
   "limit": 1,
   "size": 1,
   "_links": {
       "self": "http://192.0.2.45:8090/rest/api/content/PAGE_ID/child/page",
       "base": "http://192.0.2.45:8090",
       "context": ""
   }
}
Repositori kasus
Jenis hasil Nilai/Deskripsi Jenis (Entitas/Umum)
Pesan output* Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

jika data tersedia (is_success = true):
cetak "Successfully found child pages for the provided Atlassian Confluence Server page id: <page_id>".

Jika data tidak tersedia (is_success=false)
cetak "No child pages were found for the provided Atlassian Confluence Server page id <page_id>"

Tindakan akan gagal dan menghentikan eksekusi playbook:

  • Jika nilai yang tidak valid diberikan untuk Max Records to Return:
Terjadi error saat menjalankan tindakan "{action name}". Alasan: "Nilai yang diberikan untuk "Max Records to Return" tidak valid: <nilai yang diberikan>. Harus berupa bilangan positif".

  • Jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya:
"Error saat menjalankan tindakan "{action name}". Reason: {0}''.format(error.Stacktrace)
  • Jika nama pengguna + sandi dan PAT tidak diberikan:
print "Failed to connect to Atlassian Confluence Server, expecting either username and password, or personal access token to connect with!"
Umum

Mendapatkan komentar halaman

Mendapatkan komentar untuk halaman Atlassian Confluence Server.

Parameter

Nama parameter Jenis Nilai default Wajib Deskripsi
ID halaman String T/A Benar Tentukan ID halaman yang akan ditampilkan.
Luaskan CSV body.storage Salah Tentukan parameter perluas untuk menampilkan informasi tambahan tentang halaman. Parameter menerima beberapa nilai sebagai comma separated list.
Secara default, konten halaman diambil dengan body.storage.
Jumlah data maksimum yang akan ditampilkan Int 10 Benar Tentukan batas halaman turunan yang akan ditampilkan.

Dijalankan pada

Tindakan tidak berjalan di entity.

Hasil tindakan

Hasil skrip
Nama hasil skrip Opsi nilai Contoh
is_success Benar/Salah is_success:False

Jika tindakan berhasil dijalankan (komentar ditampilkan, respons server adalah 200 OK), is_success harus ditetapkan ke True.

Hasil JSON
{
   "results": [
       {
           "id": "ID",
           "type": "comment",
           "status": "current",
           "title": "Re: 111",
           "body": {
               "storage": {
                   "value": "<p>comment1</p>",
                   "representation": "storage",
                   "_expandable": {
                       "content": "/rest/api/content/ID"
                   }
               },
               "_expandable": {
                   "editor": "",
                   "view": "",
                   "export_view": "",
                   "styled_view": "",
                   "anonymous_export_view": ""
               }
           },
           "extensions": {
               "location": "footer",
               "_expandable": {
                   "resolution": ""
               }
           },
           "_links": {
               "webui": "/display/SIEM/111?focusedCommentId=98387#comment-ID",
               "self": "http://203.0.113.1:8090/rest/api/content/ID"
           },
           "_expandable": {
               "container": "/rest/api/content/ID",
               "metadata": "",
               "operations": "",
               "children": "/rest/api/content/ID/child",
               "restrictions": "/rest/api/content/ID/restriction/byOperation",
               "history": "/rest/api/content/ID/history",
               "ancestors": "",
               "version": "",
               "descendants": "/rest/api/content/ID/descendant",
               "space": "/rest/api/space/SIEM"
           }
       },
       ...
   ],
   "start": 0,
   "limit": 10,
   "size": 2,
   "_links": {
       "self": "http://203.0.113.1:8090/rest/api/content/ID/child/comment?expand=body.storage",
       "base": "http://203.0.113.1:8090",
       "context": ""
   }
}
Repositori kasus
Jenis hasil Nilai/Deskripsi Jenis (Entitas/Umum)
Pesan output* Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • Jika data tersedia(is_success = true):
print "Successfully fetched page comments for the provided Atlassian Confluence Server page id: <page_id>".

  • Jika data tidak tersedia (is_success=false)
print "No page comments were found for the provided Atlassian Confluence Server page id <page_id>"

Tindakan akan gagal dan menghentikan eksekusi playbook:

  • Jika nilai yang tidak valid diberikan untuk Max Records to Return:
Terjadi error saat menjalankan tindakan "{action name}". Alasan: "Nilai yang diberikan untuk "Max Records to Return" tidak valid: <nilai yang diberikan>. Harus berupa bilangan positif".

  • Jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya:
"Error saat menjalankan tindakan "{action name}". Reason: {0}''.format(error.Stacktrace)

  • Jika nama pengguna + sandi dan PAT tidak diberikan:
print "Failed to connect to Atlassian Confluence Server, expecting either username and password, or personal access token to connect with!"
Umum

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.