• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

dll

macOS package is untrusted

Last Updated on 9 April 2023 By tommy Leave a Comment

Sewaktu install aplikasi di macOS muncul pesan error berikut ini

2023-03-22 15:10:02+01 devops-mac-thailand-farm installd[14266]: Package: PKLeopardPackage <id=org.superapp.1.0.0, version=1.0.0, url=file://localhost/Users/devops/.Trash/my-super-app.pkg#superapp.pkg> Failed to verify with error: Error Domain=PKInstallErrorDomain Code=102 "The package “my-super-app.pkg” is untrusted." UserInfo={NSLocalizedDescription=The package “my-super-app.pkg” is untrusted., NSURL=file://localhost/Users/devops/.Trash/my-super-app.pkg#superapp.pkg, PKInstallPackageIdentifier=org.superapp.1.0.0, NSUnderlyingError=0x12921c350 {Error Domain=NSOSStatusErrorDomain Code=-2147409622 "CSSMERR_TP_NOT_TRUSTED" UserInfo={SecTrustResult=5, PKTrustLevel=PKTrustLevelNotTrusted, NSLocalizedFailureReason=CSSMERR_TP_NOT_TRUSTED}}}
2023-03-22 15:10:02+01 devops-mac-thailand-farm installd[14266]: PackageKit: Install Failed: Error Domain=PKInstallErrorDomain Code=102 "The package “my-super-app.pkg” is untrusted." UserInfo={NSLocalizedDescription=The package “my-super-app.pkg” is untrusted., NSURL=file://localhost/Users/devops/.Trash/my-super-app.pkg#superapp.pkg, PKInstallPackageIdentifier=org.superapp.1.0.0, NSUnderlyingError=0x12921c350 {Error Domain=NSOSStatusErrorDomain Code=-2147409622 "CSSMERR_TP_NOT_TRUSTED" UserInfo={SecTrustResult=5, PKTrustLevel=PKTrustLevelNotTrusted, NSLocalizedFailureReason=CSSMERR_TP_NOT_TRUSTED}}} {
	    NSLocalizedDescription = "The package \U201cmy-super-app.pkg\U201d is untrusted.";
	    NSURL = "file://localhost/Users/devops/.Trash/my-super-app.pkg#superapp.pkg";
	    NSUnderlyingError = "Error Domain=NSOSStatusErrorDomain Code=-2147409622 \"CSSMERR_TP_NOT_TRUSTED\" UserInfo={SecTrustResult=5, PKTrustLevel=PKTrustLevelNotTrusted, NSLocalizedFailureReason=CSSMERR_TP_NOT_TRUSTED}";
	    PKInstallPackageIdentifier = "org.superapp.1.0.0";
	}

Pertama verifikasi apakah file PKG tersebut sudah di-sign

pkgutil --check-signature my-super-app-1.0.0.pkg

Application signed by trusted deveoper
bila dilihat dari output diatas, berarti sudah di-sign dengan benar, tetapi proses instalasi masih gagal.

devops-mac-thailand-farm ~ % sudo installer -pkg my-super-app-1.0.0.pkg -target /
installer: Package name is my-super-app
installer: Certificate used to sign package is not trusted. Use -allowUntrusted to override.

Solusi

System Keychain Mac

Download certificate dari https://www.apple.com/certificateauthority/

# Apple root CA
https://www.apple.com/appleca/AppleIncRootCertificate.cer
https://www.apple.com/certificateauthority/AppleComputerRootCertificate.cer
https://www.apple.com/certificateauthority/AppleRootCA-G2.cer
https://www.apple.com/certificateauthority/AppleRootCA-G3.cer
# Apple Intermediate Certificates
https://www.apple.com/certificateauthority/DeveloperIDCA.cer
https://www.apple.com/certificateauthority/DeveloperIDG2CA.cer
https://www.apple.com/certificateauthority/AppleWWDRCAG2.cer
https://www.apple.com/certificateauthority/AppleWWDRCAG3.cer
https://www.apple.com/certificateauthority/AppleWWDRCAG4.cer
https://www.apple.com/certificateauthority/AppleWWDRCAG5.cer
https://www.apple.com/certificateauthority/AppleWWDRCAG6.cer

Buka Keychains, unlock System lalu import certificate diatas kedalam System Keychain

Solusi ini bisa dijalankan bila anda mendapati pesan signed by a certificate that has since expired

devops-mac-thailand-farm ~ % pkgutil --check-signature my-super-app-1.0.0.pkg
Package "my-super-app-1.0.0.pkg":
   Status: signed by a certificate that has since expired
   Signed with a trusted timestamp on: 2023-01-22 07:17:18 +0000
   Certificate Chain:
    1. Developer ID Installer: XXXXXX (XXXXXX)
       Expires: 2026-01-11 10:58:00 +0000
       SHA256 Fingerprint:
           12 4C E1 B1 18 5B 13 51 0B 5C 50 19 45 55 C8 3E 90 BF I4 0D C4 1F
           12 4B 75 41 2F 1C C6 F0 8A 51

Terakhir pastikan “Apple Store and identified developer” dicentang di Allow application downloaded from, yang bisa dilihat pada dari System Settings -> Privacy and Security
macOS Privacy and Settings

Coba install kembali aplikasi tersebut baik melalu GUI ataupun dari terminal

Filed Under: dll

Cara Mengganti Port Screen Sharing macOS

Last Updated on 5 February 2023 By tommy Leave a Comment

macOS menggunakan port 5900 untuk Screen Sharing (VNC Server), yang bisa kita lihat dengan netstat

netstat -anvp tcp | awk 'NR<3 || /LISTEN/' | grep 5900

Setting VNC Server Mac

Kendala yang banyak dihadapi oleh pengguna Screen Sharing di Mac adalah banyaknya brute-force karena menggunakan port default VNC (port 5900), yang menyebabkan kita tidak bisa login karena terlalu banyak failed authentication.

Ganti Port Screen Sharing

Tidak tersedia GUI untuk merubah port VNC Server di macOS, dan file plist bawaannya tidak bisa kita ubah, walaupun dengan akses root

$ sudo sed -i '' 's/vnc-server/9900/g' /System/Library/LaunchDaemons/com.apple.screensharing.plist
sed: /System/Library/LaunchDaemons/com.apple.screensharing.plist: Operation not permitted

tetapi tidak perlu khawatir, karena kita masih bisa menggunakan trik lain.

Cara 1: Copy File com.apple.screensharing.plist

Copy file com.apple.screensharing.plist ke folder /Library/LaunchDaemons/

sudo cp /System/Library/LaunchDaemons/com.apple.screensharing.plist /Library/LaunchDaemons/

setelah file tersebut dicopy, kita bisa merubah file /Library/LaunchDaemons/com.apple.screensharing.plist, ubah port vnc

<key>SockServiceName</key>
<string>vnc-server</string>

ubah bagian tersebut menjadi

<key>SockServiceName</key>
<string>9900</string>

vnc-server tersebut berarti port 5900, untuk mappingnya bisa dilihat dengan

grep vnc-server /etc/services
# output
rfb             5900/tcp    vnc-server # VNC Server
rfb             5900/udp    vnc-server # VNC Server

matikan services screen sharing yang diload dari /System/Library/LaunchDaemons/com.apple.screensharing.plist

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.screensharing.plist

lalu jalankan service dari /Library/LaunchDaemons/com.apple.screensharing.plist

sudo launchctl load /Library/LaunchDaemons/com.apple.screensharing.plist

Cek port 9900 apakah sudah aktif atau belum dengan netstat

sudo netstat -anvp tcp | awk 'NR<3 || /LISTEN/' | grep 9900
# output
tcp4       0      0  *.9900                 *.*                    LISTEN       131072  131072      1      0 00180 00000006 000000000009b941 00000000 00000900      1      0 000001
tcp6       0      0  *.9900                 *.*                    LISTEN       131072  131072      1      0 00180 00000006 000000000009b940 00000000 00000800      1      0 000001

port 9900 sudah bisa digunakan untuk konek ke macOS

Cara 2: Ubah /etc/services

Cara kali ini jauh lebih mudah, tetapi yang bisa kita rubah hanya port yang digunakan, berbeda dengan cara pertama yang bisa kita ubah semua konfigurasi yang tersedia.

Buka file /etc/services, ubah port 5900

rfb             5900/tcp    vnc-server # VNC Server
rfb             5900/udp    vnc-server # VNC Server

menjadi 9900 pada service vnc-server

rfb             9900/tcp    vnc-server # VNC Server
rfb             9900/udp    vnc-server # VNC Server

setelah file tersebut di save, otomatis VNC Server akan menggunakan port 9900, tidak perlu reload plist.

Filed Under: dll

Cara Mengupdate Nama Apple silicon-as-a-Service Scaleway

Last Updated on 19 December 2022 By tommy Leave a Comment

Salah satu yang agak menggangu di Scaleway adalah tidak bisa mengubah nama mac yang sudah dibuat langsung dari UI, hal ini kadang membuat kita bingung karena nama yang digenerate otomatis oleh sistem, bila kita tidak membuat nama yang sesuai dari awal.

Ditampilan UI Scaleway, tidak ada pilihan untuk mengupdate nama macOS yang sudah di buat, tetapi jangan khawatir karena kita bisa memanfaatkan CLI, untuk mengupdate nama mac tersebut.

Rename Scaleway MAC

Buat API Key baru dari https://console.scaleway.com/project/credentials

Install scaleway-cli, lalu konfigurasi dari awal dengan menjalankan

scw init

masukkan secret key yang diminta, dan semua akan disetup otomatis.

Lihat daftar mac yang akan direname

$ scw apple-silicon server list
# output
ID                                    TYPE  NAME                    PROJECT ID                            ORGANIZATION ID                       IP              VNC URL
36af07dd-be55-49f3-90f1-b91be2f78fa4  M1-M  scaleway-mac-01   d7defd72-2ddc-43f9-b255-af26f7fe4212  90380976-82a7-4e62-b6a2-06a7d7e3d177  51.159.x.xxx  vnc://m1:kxl901sksks@51.159.x.xxx:5900
35b3069c-7f10-4e50-bd0c-d8310f1d1073  M1-M  scaleway-mac-02   d7defd72-2ddc-43f9-b255-af26f7fe4212  90380976-82a7-4e62-b6a2-06a7d7e3d177  51.159.x.xxx   vnc://m1:xKixo910@51.159.x.xxx:5900
c345f1ee-53c0-40e0-8078-a52cc4c08ebb  M1-M  scaleway-mac-03   d7defd72-2ddc-43f9-b255-af26f7fe4212  90380976-82a7-4e62-b6a2-06a7d7e3d177  51.159.x.xxx   vnc://m1:jjsKxj11@51.159.x.xxx:5900
79cc6afd-6b92-4cd2-90b8-bd3d2b11681c  M1-M  scaleway-mac-04   d7defd72-2ddc-43f9-b255-af26f7fe4212  90380976-82a7-4e62-b6a2-06a7d7e3d177  51.159.x.xxx   vnc://m1:kxllkOp1@51.159.x.xxx:5900

sebagai contoh kita akan merubah nama “scaleway-mac-01” menjadi “dev-macos”

scw apple-silicon server update dev-macos server-id=36af07dd-be55-49f3-90f1-b91be2f78fa4
# output
ID              36af07dd-be55-49f3-90f1-b91be2f78fa4
Type            M1-M
Name            dev-macos
ProjectID       d7defd72-2ddc-43f9-b255-af26f7fe4212
OrganizationID  90380976-82a7-4e62-b6a2-06a7d7e3d177
IP              51.159.x.xxx
VncURL          vnc://m1:kxl901sksks@51.159.x.xxx:5900
Status          ready
CreatedAt       5 month ago
UpdatedAt       now
DeletableAt     5 month ago
Zone            fr-par-1

setelah melakukan perubahan tersebut, kembali ke “Scaleway Element Console” perubahan tersebut langsung bisa terlihat.

Filed Under: dll

Cara Mengelola User dan Role Jenkins dengan Keycloak

Last Updated on 14 August 2022 By tommy Leave a Comment

Pada tutorial kali ini kita akan menggunakan Keycloak sebagai sumber user dan role yang akan mengakses Jenkins. Saat ini versi yang digunakan

Keycloak 19.0.1
Jenkins 2.346.3
# Plugin jenkins
oic-auth 1.8
role-strategy 555.v8d194cc85b_30

Dengan menggunakan Keycloak sebagai authentikasi untuk Jenkins, kita memiliki banyak kelebihan, seperti user bisa diambil dari LDAP atau kerberos. User dari Twitter, Github, Gitlab, Google Workspace, Facebook dan lain sebagainya bisa login kedalam Jenkins. Satu skenario yang bisa digunakan bisa perusahaan anda menggunakan Google Workspace adalah, menghubungkan Google Workspace dengan Jenkins, jadi setiap user yang memiliki [email protected] bisa langsung login sebagai user Jenkins.

Hampir setiap langkah yang perlu penjelasan detail disertakan screenshot/tangkapan layar untuk memudahkan pemula sekalipun untuk menjalankan tutorial ini. Cara install Keycloak dan Jenkins tidak dibahas disini, karena tidak relevan. Untuk tutorial ini saya menggunakan keycloak di Kubernetes dan Keycloak di VPS :D

Konfigurasi Keycloak 19

Login ke keycloak sebagai admin

1. Buat Realm Baru

1. Buat realm baru, dengan nama platform
create platform realms

2. Buat Client

Buat client dengan jenkins di realms platform, client ini yang akan diakses oleh aplikasi Jenkins. Nama client ini akan digunakan di config Jenkins nantinya, jadi ada baiknya menggunakan nama yang mudah dipahami, agar memudahkan troubleshooting nantinya.

Bagian yang wajib diisi

Client type : OpenID Connect
Client ID : jenkins

jenkins create jenkins client

Pada capability config, yang wajib diisi

Client authentication : ON
Authorization : ON
Authentication flow : 
 - Standard flow
 - Direct access grants

create client keycloak capability config
klik Save

Pada halaman client details, pada tab Settings isikan Valid redirect URIs dengan domain anda, contoh https://jenkins.jaranguda.com/*, atau bisa dengan *, tetapi untuk production sangat tidak disarankan

klik tab Credentials, lalu copy dan simpan Client secret. Client secret ini akan digunakan pada waktu konfigurasi jenkins nantinya.

3. Client Scope

Client scope yang akan kita buat disini berisi, role yang dimiliki oleh user keycloak, yang nantinya digunakan di Jenkins.
buat client scope jenkins

Name : jenkins-roles
Display on consent screen : On
Include in token scope : On

Klik tab Mappers, klik lagi Configure a new mapper
buat new mappers

Klik Group Membership
jenkins group membership
yang perlu diisi

Mapper type : Group Membership
Name : jenkins-roles
Token Claim Name : jenkins-roles
Full group path : On
Add to ID token : On
Add to access token : On
Add to user info : On

kembali ke menu Clients -> jenkins -> Client scopes
add client scopes
kita akan menambahkan scope jenkins-roles, sehingga setiap user melakukan authentikasi, akan dikirimkan informasi jenkins-roles, yang digunakan oleh jenkins untuk mengetahui level akses user tersebut.

klik Add client scope, pilih jenkins-roles
add client scopes for jenkins
pada tombol Add, pilih Default

4. Buat Group User

Tergantung kebutuhan anda, disini untuk contoh kita akan membuat dua level user, 1 admin satu lagi user biasa. Hak akses yang diberikan ke masing-masing level user ini nanti kita setting dari sisi Jenkins
buat group untuk jenkins
Buat dua group

jenkins-admin
jenkins-user

5. Buat user di Keycloak

Sekarang kita butuh dua user yang akan digunakan sebagai admin dan satu lagi user biasa. Klik menu Users
jenkins admin user
Untuk user admin

Username : admin
Email : user@domain
Email verified : On
First name : Developer
Last name : User
Enabled : On
Groups : jenkins-admin

klik Create
lalu buat password untuk user admin. Klik tab Credentials -> Set password
set permanent password

Password : SUPERAMAN
Password confirmation : SUPERAMAN
Temporary : Off

Lakukan hal yang sama untuk user biasa, tetapi dengan perbedaan di username dan Groups

Username : developer
Email : user@domain
Email verified : On
First name : Jenkins
Last name : Users
Enabled : On
Groups : jenkins-user

Bila anda cek menu Users, bisa dilihat kedua user yang telah dibuat
User list keycloak

Konfigurasi Jenkins

Login sebagai admin di jenkins, agar bisa menginstall plugin.

Klik Manage Jenkins -> Manage Plugins
install jenkins plugin

plugin yang perlu di install adalah
– role-strategy
– oic-auth

oic-auth : agar bisa terkoneksi dengan keycloak
role-strategy : untuk membagi role yang dimiliki oleh user dari keycloak

setelah menginstall kedua plugin tersebut, kembali ke menu Manage Jenkins -> Configure Global Security, url manage ini biasanya http://[DOMAIN Jenkins]/manage
jenkins aktifkan openid

1. Konfigurasi OpenID
Di tahap ini kita akan mengaktifkan OpenID Auth dari sisi jenkins. Beberapa field yang harus diinput

Security Realm : Login with OpenID Connect
Client id : jenkins, dari nama client yang dibuat di keycloak
Client Secret : ambil dari client secret di client keycloak
Automatic configuration -> Well-known configuration endpoint : http://[KEYCLOAk]/realms/[NAMA REALMS]/.well-known/openid-configuration
User name field name : preferred_username
Email field name : email
Groups field name : jenkins-roles, diambil dari client -> client scope Keycloak
Authorization : Role-Based Strategy

Jenkins login with openid
Untuk link Well-known configuration endpoint, bisa diambil dari Realms Settings -> Endpoint, copy link OpenID Endpoint Configuration
openid wellknown endpoint
klik Save

2. Konfigurasi Role
Untuk mengkonfigurasi Role, klik Manage Jenkins -> Manage and Assign Roles -> Manage Roles
mange roles and assign roles jenkins

Pada Role to add, tambahkan satu-satu jenkins-admin dan jenkins-user, lalu klik Add.

Pada pilihan role, sesuaikan akses dari masing-masing user, contohnya bisa dilihat pada gambar
jenkins manage user roles

# untuk admin
Role : jenkins-admin
Overall : Administer, Read
# untuk user
Role : jenkins-user
Overall : Read
Job : Build, Cancel, Read
Run : Replay
View : Read
Metrics : View

Kebutuhan untuk role bisa disesuaikan disini. Akhiri dengan klik Save

2. Assign Group ke Role
Klik menu Manage Jenkins -> Manage and Assign Roles -> Assign Roles
Setelah role tersebut dibuat, sekarang kita mapping dengan user group yang tadi dibuat, sengaja saya buat penamaan yang mirip antara role dan user groupnya, akan lebih memudahkan mappingnya. Untuk nama groupnya ditambahkan tanda / didepan, karena begitu format yang dikirimkan oleh Keycloak untuk nama groupnya, contoh /jenkins-admin dan /jenkins-user
assign roles to groups

Sekarang semua user jenkins akan dikelola oleh Keycloak, untuk melakukan percobaan, buka link Jenkins dengan browser yang berbeda. Anda otomatis diarahkan ke halaman login Keycloak, disini coba login sebagai admin
login jenkins di arahkan ke keycloak
jenkins keycloak login sebagai admin

Login sebagai user
Buka browser yang berbeda atau menggunakan incognito
login as normal user jenkins

Bila dibandingkan keduanya, user admin memiliki menu

New item
People
Build History
Manage Jenkins
My Views
New View

sedangkan user biasa memiliki menu

People
Build History
My Views

Testing Jenkins

Sebagai percobaan kita akan membuat 1 job. Dari user admin klik New Item

Item name : test-jobs, klik Freestyle project, akhiri dengan klik Ok
buat test jobs
pada menu selanjutnya isikan description, lalu klik Save
isikan description jobs

Buka browser yang login dengan user biasa, refresh browser anda, muncul job yang baru dibuat
job muncul di akun user biasa
Anda bisa juga menjalankan job tersebut

job berhasil dijalankan

DEBUG / Troubleshooting

Untuk melihat role yang dikirim oleh Keycloak

curl -s -X POST 'http://[DOMAIN KEYCLOAK]/realms/[NAMA REALMS]/protocol/openid-connect/token' \
    -H 'Content-Type: application/x-www-form-urlencoded' \
    --data-urlencode 'client_id=jenkins' \
    --data-urlencode 'grant_type=password' \
     --data-urlencode 'client_secret=HDh5G1k5VL5q7c9fBXqx6Sa7HCRKz7gK' \
     --data-urlencode 'scope=openid' \
     --data-urlencode 'username=developer' \
     --data-urlencode 'password=iamteapot'

Sesuaikan URL, client_id, client_secret, username dan password. Untuk membaca token JWT tersebut, bisa lewat situs https://jwt.io/, atau lewat command line

curl -L -X POST 'http://192.168.49.2:31806/realms/platform2/protocol/openid-connect/token' \
    -H 'Content-Type: application/x-www-form-urlencoded' \
    --data-urlencode 'client_id=jenkins' \
    --data-urlencode 'grant_type=password' \
     --data-urlencode 'client_secret=HDh5G1k5VL5q7c9fBXqx6Sa7HCRKz7gK' \
     --data-urlencode 'scope=openid' \
     --data-urlencode 'username=developer' \
     --data-urlencode 'password=iamteapot' | jq -r .access_token | jwt  decode -

command line ini membutuhkan jq dan jwt
jenkins roles dari keycloak
Untuk mengetahui role yang didapat oleh user akses http://JENKINS-DOMAIN/whoAmI/
jenkins whoami

Filed Under: dll

Cara Menggunakan curl untuk POST dan GET

Last Updated on 24 July 2022 By tommy Leave a Comment

Ada berbagai method yang bisa direquest oleh curl, misalnya POST dan GET. Cara penggunaan keduanya hampir mirip dan sama-sama bisa digunakan untuk berbagai keperluan, pada implementasinya GET digunakan untuk mengirim data yang kurang sensitif, seperti download gambar, dimana POST digunakan untuk mengirim data yang sensitif, seperti username/password.

curl merupakan standard yang banyak digunakan untuk melakukan koneksi ke HTTP dari command line, curl bisa digunakan diberbagai sistem operasi seperti Linux, Windows, macOS dan *BSD. Cara penggunaan curl

curl https://google.com

dari contoh sederhana tersebut curl akan melakukan request GET ke situs https://google.com, GET adalah metode yang digunakan oleh curl bila kita tidak menyertakan opsi -X POST dan berbagai varian lainnya.

Cara Menggunakan curl untuk mengirim GET

Kirim GET tanpa data

Cara ini untuk mengirim request GET kosong ke endpoint tertentu

curl -X GET https://DOMAIN.com/api

Kirim GET dengan data

Cara ini digunakan untuk mengakses halaman yang meminta penggunaan username dan password, contoh mengakses Elasticsearch

curl -u elastic:PASSWORD  https://DOMAIN.com:9200

Cara Menggunakan curl untuk mengirim POST

Kirim POST tanpa data

Cara ini untuk mengirim request POST kosong ke endpoint tertentu

curl -X POST https://DOMAIN.com/api

Kirim POST dengan data

Cara ini untuk mengirim request POST dengan data ke endpoint tertentu. Contoh kita akan mengirimkan username jaranguda dan password jaranguda. Banyak aplikasi menerima format login seperti ini.

curl -d "username=jaranguda&password=jaranguda" -X POST https://DOMAIN.com/api

Kirim POST JSON

Dengan makin banyaknya backend yang menerima format JSON, kita bisa memanfaatkan curl untuk mengirim data sebagai JSON, yaitu mengirim data dengan Header application/json

curl -H "Content-Type: application/json" -d "username=jaranguda&password=jaranguda" -X POST https://DOMAIN.com/api

File JSON dari file local

curl juga support mengupload file JSON dari lokal komputer anda.

curl -H "Content-Type: application/json"  -T /home/jaranguda/file.json -X POST https://DOMAIN.com/api

Filed Under: dll

Google Cloud Workspace Sebagai Keycloak Identity Provider

Last Updated on 16 July 2022 By tommy Leave a Comment

Keycloak sebagai Identity Provider (IdP) adalah cara menggunakan Keycloak service yang bisa mengautentikasi user. Contohnya adalah menggunakan Keycloak sebagai social login. Daripada meminta user signup di service anda, lebih baik meminta mereka menggunakan salah satu akun sosial medianya untuk login

Beberapa service yang didukung oleh Keycloak : Google, Github, Twitter, Facebook, Stackoverflow, LinkedIn, Instagram dan lain sebagainya.

Pada contoh ini kita akan memberikan akses kepada semua user yang memiliki email di Google Workspace kantor akses ke Sumologic, jadi tiap user bisa langsung mengakses dashboard Sumo Logic tanpa perlu di daftarkan satu-persatu, keuntungan menggunakan cara ini adalah source of truth, jadi tetap di Google Workspace, begitu ada karyawan baru yang join dia otomatis dapat akses, begitu juga dengan karyawan yang pergi otomatis aksesnya hilang ketika akun Googlenya dihapus

1. Dari Google Workspace

Buat Project Baru

https://console.cloud.google.com/projectcreate
create new project google cloud

Enable API
google cloud workspace enable apis

Pada halaman API & Services, klik Credentials, lalu klik lagi Configure Consent Screen
Configure conent screen api credentials

Pada pilihan User Type, sesuaikan dengan kebutuhan anda
Internal : Hanya untuk user didalam organisasi anda
External : Bisa untuk semua user yang memiliki akun gmail/google workspace
disini saya menggunakan Internal
OAuth consent screen
klik Create

Pada halaman App information
Informasi yang harus diisi, disini saya berikan contoh

App Name: Keycloak Jaranguda
User support email: admin-workspace@jaranguda.com
Authorized domains: jaranguda.com
Developer contact information: admin-workspace@jaranguda.com

perhatikan bagian Authorized domains, bila anda memiliki lebih dari satu domain, tambahkan disini.
app registration google workspace
klik Save and Continue

Pada bagian scopes
oauth google workspace scopes
klik Save and Continue

klik menu Credentials disebelah kiri, lalu klik + Create Credentials pilih OAuth client ID
oauth client id

Pada form isi bagian, sebagai contoh
Application type: Web Application
Name: Keycloak
Authorized redirect URIs: https://[Keycloak-URL]/realms/[REALMS]/broker/google/endpoint, contoh https://keycloak.jaranguda.com/realms/sumologic/broker/google/endpoint (Diambil dari Redirect URI sewaktu membuat Identity Provider)
create oauth id google workspace
klik Create

Copy Your Client ID dan Your Client Secret, atau download file JSON agar credential tersebut tidak hilang. Kedua informasi ini yang akan kita tambahkan di keycloak

oauth credential created in google workspace

2. Keycloak

Login sebagai admin ke Keycloak anda https://[URL-Keycloak]/admin/master/console atau https://[URL-Keycloak]/auth, tergantung versi Keycloak yang digunakan
login as admin keycloak

Buat Realms baru

klik tanda panah kebawah di Master, klik Add realm
new realms keycloak
Pada Name, isikan nama Realms, pada contoh saya gunakan Sumologic
realms name
klik Create

Pada realms yang baru dibuat, klik Identity Provider, pilih Google pada Add Provider

add google as new identity provider
Pada add Identity Provider, masukkan

GoogleKeycloak
Your Client IDClient ID
Your Client SecretClient Secret

keycloak identity provider

Percobaan Login

Buka URL untuk login client anda, pada kasus ini saya menggunakan Sumo Logic, saat link tersebut dibuka muncul menu baru sign in with Google dibagian paling bawah.
login as google new options
masukkan email dari domain Google Workspace berikut passwordnya, credential dari Google tidak akan disimpan oleh Keycloak, tetapi hanya akan mengambil session yang digunaakn untuk authentikasi.

Filed Under: dll

  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Interim pages omitted …
  • Go to page 26
  • Go to Next Page »

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Solusi helm Upgrade Failed
  • macOS package is untrusted
  • Cara Mengganti Port Screen Sharing macOS
  • Cara Menonaktifkan Pager di macOS
  • Cara Mengupdate Nama Apple silicon-as-a-Service Scaleway

Komentar

  • Beritalogi on Cara Redirect Domain di Cloudflare
  • Putu on Cara Setting TP-LINK EN020-F5 Sebagai Range Extender
  • Budi on Solusi Simple Queue Mikrotik Tidak Berjalan
  • mazda on Tutorial Lengkap Install Mail Server Postfix Dovecot MariaDB di CentOS 7
  • adi on Menggunakan Mikrotik Sebagai SSH Client

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1.2m views
  • Password Terbaru ZTE F609 Indihome 785k views
  • Password Superadmin Huawei HG8245A 322.7k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 273.9k views
  • Cara Setting Wireless ZTE F609 Indihome 258.3k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 170.7k views
  • Akses UseeTV Indihome via Wireless ZTE F609 157.1k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 156.2k views
  • Cara Reset Password ZTE F609 Indihome 147.9k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 114.3k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
carakami.com
kuotabisa.com
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java