Mengintegrasikan Atlassian Confluence Server dengan Google SecOps

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

Versi integrasi: 3.0

Prasyarat

Untuk melakukan autentikasi ke Confluence Server, 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 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. Saat dibuat, PAT baru akan sesuai dengan tingkat izin akun saat ini.

Untuk membuat token, ikuti langkah-langkah berikut:

  1. Di Confluence, buka Akun > Setelan akun > Token akses pribadi.
  2. Pilih Buat token.
  3. Beri nama token yang Anda buat.
  4. (Opsional) Untuk keamanan tambahan, Anda dapat mengonfigurasi token agar otomatis berakhir setelah jangka waktu yang ditetapkan.
  5. Klik Buat.

Parameter integrasi

Integrasi memerlukan parameter berikut:

Nama parameter Jenis Nilai Default Wajib diisi 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 dengan nama pengguna + sandi atau token akses pribadi.
Sandi Sandi T/A Salah Tentukan sandi yang akan digunakan untuk koneksi. Integrasi mendukung autentikasi dengan nama pengguna + sandi atau token akses pribadi.
Token Akses Pribadi Sandi T/A Salah Tentukan token yang akan digunakan untuk koneksi. Integrasi mendukung autentikasi dengan 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 mengetahui petunjuk tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.

Anda dapat melakukan perubahan di tahap berikutnya, 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 tertunda dari Ruang Kerja Anda dan Melakukan tindakan manual.

Ping

Uji 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:
  • 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!"
  • Jika terjadi error kritis, seperti kredensial salah atau konektivitas terputus:
    cetak "Gagal terhubung ke instance Atlassian Confluence Server. Error adalah {0}".format(exception.stacktrace)
Umum

Daftar halaman

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

Parameter

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

Nilai DDL yang mungkin:
  • 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 akan 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 diberikan dalam parameter ini, filter tidak akan diterapkan.
Logika pemfilteran berfungsi berdasarkan nilai yang diberikan dalam parameter Filter Key.
Jumlah Maksimum Data yang Akan Ditampilkan Int 50 Salah Tentukan jumlah kumpulan data yang akan ditampilkan.
Jika tidak ada yang diberikan, tindakan akan menampilkan 50 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 disetel 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 Jumlah Maksimum Data yang Akan Ditampilkan:
Terjadi error saat menjalankan tindakan "{action name}". Alasan: "Nilai tidak valid diberikan untuk "Jumlah Maksimum Data yang Akan Ditampilkan": <nilai yang diberikan>. Bilangan positif harus diberikan".

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

  • Jika nama pengguna+sandi dan PAT tidak diberikan:
print "Gagal terhubung ke Atlassian Confluence Server, memerlukan nama pengguna dan sandi, atau token akses pribadi untuk terhubung!"
Umum
Tabel Repositori Kasus Nama: Halaman Confluence yang Tersedia
Kolom:
  • ID
  • Judul
  • Spasi
  • Status
  • Dibuat
Umum

Mendapatkan halaman menurut ID

Mendapatkan halaman Atlassian Confluence Server menurut ID.

Parameter

Nama parameter Jenis Nilai default Wajib diisi 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 daftar yang dipisahkan koma.
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 disetel 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 terjadi error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau lainnya:
"Error saat menjalankan tindakan "<Nama tindakan>". Alasan: {0}''.format(error.Stacktrace)

  • Jika nama pengguna + sandi dan PAT tidak diberikan:
print "Gagal terhubung ke Atlassian Confluence Server, memerlukan nama pengguna dan sandi, atau token akses pribadi untuk terhubung!"
Umum

Mendapatkan halaman turunan

Mendapatkan halaman turunan untuk halaman Atlassian Confluence Server.

Parameter

Nama parameter Jenis Nilai default Wajib diisi Deskripsi
ID Halaman String T/A Benar Tentukan ID halaman yang akan ditampilkan.
Jumlah maksimum record 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 disetel 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):
print "Successfully found child pages for the provided Atlassian Confluence Server page id: <page_id>".

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

Tindakan harus gagal dan menghentikan eksekusi playbook:

  • Jika nilai yang tidak valid diberikan untuk Jumlah Maksimum Data yang Akan Ditampilkan:
Terjadi error saat menjalankan tindakan "{action name}". Alasan: "Nilai tidak valid diberikan untuk "Jumlah Maksimum Data yang Akan Ditampilkan": <nilai yang diberikan>. Bilangan positif harus diberikan".

  • Jika terjadi error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau lainnya:
"Terjadi error saat menjalankan tindakan "{action name}". Alasan: {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 diisi 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 daftar yang dipisahkan koma.
Secara default, konten halaman diambil dengan body.storage.
Jumlah maksimum record 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 Jumlah Maksimum Data yang Akan Ditampilkan:
Terjadi error saat menjalankan tindakan "{action name}". Alasan: "Nilai tidak valid diberikan untuk "Jumlah Maksimum Data yang Akan Ditampilkan": <nilai yang diberikan>. Bilangan positif harus diberikan".

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

  • Jika nama pengguna + sandi dan PAT tidak diberikan:
print "Gagal terhubung ke Atlassian Confluence Server, mengharapkan nama pengguna dan sandi, atau token akses pribadi untuk terhubung!"
Umum

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