Dokumen ini menunjukkan cara membuat server SFTP internal menggunakan Cloud FTP. Server SFTP internal hanya dapat diakses dalam jaringan Virtual Private Cloud (VPC) Anda menggunakan Private Service Connect. Karyawan dan pemangku kepentingan internal yang berada dalam jaringan Anda dapat menggunakan server untuk mentransfer file dengan aman ke dan dari Cloud Storage.
Anda menentukan project yang diizinkan untuk terhubung ke server. Anda dapat menentukan project yang ditolak untuk terhubung, jika perlu.
Untuk mengetahui informasi latar belakang tentang VPC, lihat Ringkasan VPC.
Untuk mengetahui langkah-langkah membuat server eksternal, yang dapat diakses melalui internet, lihat Membuat server SFTP eksternal. Anda tidak dapat mengubah apakah server bersifat eksternal atau internal setelah server dibuat.
Sebelum memulai
Konsol
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud FTP API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud FTP API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Kumpulkan informasi berikut tentang pengguna server Anda:
- Daftar project ID atau nomor project yang diizinkan untuk mengakses server.
- (Opsional) Daftar project ID atau nomor project yang ditolak untuk mengakses server.
gcloud
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih project Google Cloud .
Peran yang diperlukan untuk memilih atau membuat project
- Memilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project apa pun yang perannya telah diberikan kepada Anda.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Project Creator
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat project Google Cloud :
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
-
Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika berhasil membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.
-
Pastikan penagihan diaktifkan untuk project Google Cloud Anda.
Aktifkan Cloud FTP API, jika belum diaktifkan:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.gcloud services enable ftp.googleapis.com
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih project Google Cloud .
Peran yang diperlukan untuk memilih atau membuat project
- Memilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project apa pun yang perannya telah diberikan kepada Anda.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Project Creator
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat project Google Cloud :
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
-
Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika berhasil membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.
-
Pastikan penagihan diaktifkan untuk project Google Cloud Anda.
Aktifkan Cloud FTP API, jika belum diaktifkan:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.gcloud services enable ftp.googleapis.com
-
Kumpulkan informasi berikut tentang pengguna server Anda:
- Daftar project ID atau nomor project yang diizinkan untuk mengakses server.
- (Opsional) Daftar project ID atau nomor project yang ditolak untuk mengakses server.
Peran yang diperlukan
Untuk mendapatkan izin yang
diperlukan guna membuat server SFTP,
minta administrator untuk memberi Anda
peran IAM Cloud FTP Admin (roles/ftp.admin) di project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membuat server SFTP. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat server SFTP:
-
ftp.servers.create -
Jika menggunakan konsol Google Cloud untuk melakukan tugas ini:
-
ftp.servers.list -
ftp.locations.list
-
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Membuat server internal
Konsol
- Di konsol Google Cloud , buka halaman Cloud FTP.
Klik Create server.
Di tab Server configuration, masukkan detail dasar untuk server:
Di kolom Server ID, masukkan ID unik untuk server.
Dalam daftar Region, pilih Google Cloud lokasi untuk server.
Untuk kecepatan transfer data tercepat, buat server di lokasi yang sama dengan bucket Cloud Storage yang menyimpan data Anda. Jika lokasi bucket tidak didukung oleh Cloud FTP, pilih lokasi terdekat yang tersedia.
(Opsional) Masukkan nama tampilan untuk server.
Klik Lanjutkan.
Di tab Networking and security, konfigurasikan konektivitas untuk server:
Pilih Internal (VPC only).
Di bagian Accepted projects, tentukan project konsumen yang diizinkan untuk terhubung ke server menggunakan Private Service Connect. Lakukan tindakan berikut:
Di kolom Project ID or number, masukkan project ID atau nomor project yang diizinkan untuk terhubung. Contoh,
example-allowed-project.Di kolom Connection limit, masukkan jumlah maksimum endpoint Private Service Connect yang dapat dibuat di project konsumen. Nilai harus antara 1 hingga 250 endpoint.
Untuk menambahkan lebih banyak project, klik Add accepted project, lalu ulangi langkah-langkah sebelumnya.
(Opsional) Untuk melarang project terhubung ke server, di bagian Rejected projects, klik Add rejected project. Masukkan project ID atau nomor project konsumen yang dilarang terhubung ke server.
Project dalam daftar ini ditolak untuk mengakses server meskipun project tersebut disertakan dalam daftar project yang diizinkan.
Klik Create.
Perlu waktu sekitar 10 menit untuk membuat server.
gcloud
Untuk membuat server internal, jalankan
perintah gcloud alpha storage ftp servers create
dan berikan flag --access-type=INTERNAL.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- SERVER_ID: ID unik untuk server. Harus diawali dengan huruf kecil, dan
diakhiri dengan huruf kecil atau angka. Dapat berisi huruf kecil, angka, dan tanda hubung.
Tidak boleh diawali dengan awalan
googatau berisi stringgoogle, termasuk kesalahan ejaan yang mirip sepertig00gle. Panjang maksimum adalah 30 karakter. -
LOCATION_ID: Google Cloud lokasi server, seperti
us-west1.Untuk kecepatan transfer data tercepat, buat server di lokasi yang sama dengan bucket Cloud Storage yang menyimpan data Anda. Jika lokasi bucket tidak didukung oleh Cloud FTP, pilih lokasi terdekat yang tersedia.
-
PROJECT_TO_ALLOW: project ID atau nomor project konsumen yang diizinkan untuk terhubung ke server menggunakan Private Service Connect. Misalnya,
example-allowed-project. Anda harus menentukan setidaknya satu project.Anda dapat mengizinkan maksimum 500 project. Berikan beberapa project dan batas koneksi masing-masing dalam daftar yang dipisahkan koma. Misalnya,
--consumer-accept-list=projectA=20,projectB=15. - CONNECTION_LIMIT: jumlah maksimum endpoint Private Service Connect yang dapat dibuat di project konsumen. Nilai harus antara 1 hingga 250 endpoint.
-
(Opsional) PROJECT_TO_REJECT: project ID atau nomor project konsumen yang dilarang terhubung ke server. Contoh,
example-rejected-project. Project dalam daftar ini ditolak untuk mengakses server meskipun disertakan dalam daftar project yang diizinkan.Anda dapat menolak maksimum 64 project. Berikan beberapa project dalam daftar yang dipisahkan koma.
Jika Anda tidak ingin menolak project apa pun secara eksplisit, hapus flag--consumer-reject-list.
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud alpha storage ftp servers create SERVER_ID --access-type=INTERNAL \ --location=LOCATION_ID \ --consumer-accept-list=PROJECT_TO_ALLOW=CONNECTION_LIMIT \ --consumer-reject-list=PROJECT_TO_REJECT
Windows (PowerShell)
gcloud alpha storage ftp servers create SERVER_ID --access-type=INTERNAL ` --location=LOCATION_ID ` --consumer-accept-list=PROJECT_TO_ALLOW=CONNECTION_LIMIT ` --consumer-reject-list=PROJECT_TO_REJECT
Windows (cmd.exe)
gcloud alpha storage ftp servers create SERVER_ID --access-type=INTERNAL ^ --location=LOCATION_ID ^ --consumer-accept-list=PROJECT_TO_ALLOW=CONNECTION_LIMIT ^ --consumer-reject-list=PROJECT_TO_REJECT
Perlu waktu sekitar 10 menit untuk membuat server.
REST
Untuk membuat server internal, gunakan
metode servers.create
dan berikan konfigurasi akses internalConfig.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: project ID Google Cloud server.
-
LOCATION_ID: Google Cloud lokasi server, seperti
us-west1.Untuk kecepatan transfer data tercepat, buat server di lokasi yang sama dengan bucket Cloud Storage yang menyimpan data Anda. Jika lokasi bucket tidak didukung oleh Cloud FTP, pilih lokasi terdekat yang tersedia.
- SERVER_ID: ID unik untuk server. Harus diawali dengan huruf kecil, dan
diakhiri dengan huruf kecil atau angka. Dapat berisi huruf kecil, angka, dan tanda hubung.
Tidak boleh diawali dengan awalan
googatau berisi stringgoogle, termasuk kesalahan ejaan yang mirip sepertig00gle. Panjang maksimum adalah 30 karakter. -
PROJECT_TO_ALLOW: project ID atau nomor project konsumen yang diizinkan untuk terhubung ke server menggunakan Private Service Connect. Misalnya,
example-allowed-project. Anda harus menentukan setidaknya satu project.Anda dapat mengizinkan maksimum 500 project.
- CONNECTION_LIMIT: jumlah maksimum endpoint Private Service Connect yang dapat dibuat di project konsumen. Nilai harus antara 1 hingga 250 endpoint.
-
(Opsional) PROJECT_TO_REJECT: project ID atau nomor project konsumen yang dilarang terhubung ke server. Contoh,
example-rejected-project. Project dalam daftar ini ditolak untuk mengakses server meskipun disertakan dalam daftar project yang diizinkan.Anda dapat menolak maksimum 64 project.
Jika Anda tidak ingin menolak project apa pun secara eksplisit, hapus objek
consumerRejectList.
Metode HTTP dan URL:
POST https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers?serverId=SERVER_ID
Meminta isi JSON:
{
"accessType": "INTERNAL",
"internalConfig": {
"consumerAcceptList": [
{
"project": "projects/PROJECT_TO_ALLOW",
"connectionLimit": CONNECTION_LIMIT
}
],
"consumerRejectList": [
{
"project": "projects/PROJECT_TO_REJECT"
}
]
}
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Respons mengidentifikasi operasi yang berjalan lama.Perlu waktu sekitar 10 menit untuk membuat server.
Library klien
Untuk membuat server internal, tetapkan jenis akses ke internal dan berikan konfigurasi akses internal.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud FTP, lihat Library klien Cloud FTP. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API C# Cloud FTP.
Untuk melakukan autentikasi ke Cloud FTP, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud FTP, lihat Library klien Cloud FTP. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Go Cloud FTP.
Untuk melakukan autentikasi ke Cloud FTP, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud FTP, lihat Library klien Cloud FTP. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Java Cloud FTP.
Untuk melakukan autentikasi ke Cloud FTP, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud FTP, lihat Library klien Cloud FTP. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Node.js Cloud FTP.
Untuk melakukan autentikasi ke Cloud FTP, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud FTP, lihat Library klien Cloud FTP. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API PHP Cloud FTP.
Untuk melakukan autentikasi ke Cloud FTP, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud FTP, lihat Library klien Cloud FTP. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Python Cloud FTP.
Untuk melakukan autentikasi ke Cloud FTP, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Cloud FTP, lihat Library klien Cloud FTP. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Ruby Cloud FTP.
Untuk melakukan autentikasi ke Cloud FTP, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.