במאמר הזה מוסבר איך ליצור שרת SFTP חיצוני באמצעות Cloud FTP. אפשר לגשת לשרת SFTP חיצוני דרך האינטרנט. שותפים מחוץ לרשת שלכם יכולים להשתמש בשרת כדי להעביר קבצים בצורה מאובטחת אל Cloud Storage וממנו.
אתם יכולים להגביל את הגישה לשרת SFTP חיצוני על סמך כתובות ה-IP של המשתמשים.
כדי ליצור שרת פנימי שאפשר לגשת אליו רק מתוך רשת הענן הווירטואלי הפרטי (VPC), קראו את המאמר יצירת שרת SFTP פנימי. אחרי שיוצרים את השרת, אי אפשר לשנות את ההגדרה שלו כחיצוני או פנימי.
לפני שמתחילים
המסוף
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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.- אם אתם רוצים להגביל את הגישה לשרת על סמך כתובות ה-IP של המשתמשים, אספו רשימה של בלוקי CIDR שמורשים לגשת לשרת.
gcloud
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים פרויקט ב- Google Cloud .
התפקידים שנדרשים כדי לבחור או ליצור פרויקט
- בחירת פרויקט: כדי לבחור פרויקט לא נדרש תפקיד IAM ספציפי – אתם יכולים לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד "יצירת פרויקטים" (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים?
-
יוצרים פרויקט ב- Google Cloud :
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של הפרויקט ב- Google Cloud שאתם יוצרים. -
בוחרים את הפרויקט שיצרתם ב- Google Cloud :
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
-
אם משתמשים בפרויקט קיים, מוודאים שיש את ההרשאות הנדרשות כדי להשלים את ההדרכה. אם משתמשים בפרויקט חדש, לא צריך לוודא כי כבר יש את ההרשאות הנדרשות.
מפעילים את Cloud FTP API, אם הוא עדיין לא מופעל:
התפקידים שנדרשים כדי להפעיל ממשקי API
כדי להפעיל ממשקי API, צריך את ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable ftp.googleapis.com
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים פרויקט ב- Google Cloud .
התפקידים שנדרשים כדי לבחור או ליצור פרויקט
- בחירת פרויקט: כדי לבחור פרויקט לא נדרש תפקיד IAM ספציפי – אתם יכולים לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד "יצירת פרויקטים" (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים?
-
יוצרים פרויקט ב- Google Cloud :
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של הפרויקט ב- Google Cloud שאתם יוצרים. -
בוחרים את הפרויקט שיצרתם ב- Google Cloud :
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
-
אם משתמשים בפרויקט קיים, מוודאים שיש את ההרשאות הנדרשות כדי להשלים את ההדרכה. אם משתמשים בפרויקט חדש, לא צריך לוודא כי כבר יש את ההרשאות הנדרשות.
מפעילים את Cloud FTP API, אם הוא עדיין לא מופעל:
התפקידים שנדרשים כדי להפעיל ממשקי API
כדי להפעיל ממשקי API, צריך את ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable ftp.googleapis.com
- אם אתם רוצים להגביל את הגישה לשרת על סמך כתובות ה-IP של המשתמשים, אספו רשימה של בלוקי CIDR שמורשים לגשת לשרת.
התפקידים הנדרשים
כדי לקבל את ההרשאה שנדרשת ליצירת שרת SFTP, צריך לבקש מהאדמין להקצות לכם את התפקיד אדמין של Cloud FTP (roles/ftp.admin) ב-IAM בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאה ftp.servers.create, שנדרשת כדי ליצור שרת SFTP.
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים מוגדרים מראש.
יצירת שרת חיצוני
המסוף
- נכנסים לדף Cloud FTP במסוף Google Cloud .
לוחצים על יצירת שרת.
בכרטיסייה Server configuration, מזינים את הפרטים הבסיסיים של השרת:
בשדה מזהה השרת, מזינים מזהה ייחודי לשרת.
ברשימה Region, בוחרים את Google Cloud המיקום של השרת.
כדי להעביר נתונים במהירות הגבוהה ביותר, צרו את השרת באותו מיקום של הקטגוריה ב-Cloud Storage שבה מאוחסנים הנתונים. אם המיקום של הקטגוריה לא נתמך ב-Cloud FTP, צריך לבחור את המיקום הזמין הקרוב ביותר.
(אופציונלי) מזינים שם לתצוגה של השרת.
לוחצים על Continue.
בכרטיסייה Networking and security, מגדירים את הקישוריות לשרת:
בוחרים באפשרות External (Public IP).
בשדה Allowed IP ranges, מזינים בלוק CIDR שמורשה לגשת לשרת, ואז לוחצים על Enter. לדוגמה,
192.0.2.0/24. צריך לציין ערך אחד לפחות, ואפשר לציין עד 500 בלוקי CIDR. כדי לאפשר חיבורים מכל כתובות ה-IP, משתמשים ב-0.0.0.0/0.
לוחצים על יצירה.
יצירת השרת נמשכת כ-10 דקות.
gcloud
כדי ליצור שרת חיצוני, מריצים את הפקודה gcloud alpha storage ftp servers create ומציינים את הדגל --access-type=EXTERNAL.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- SERVER_ID: מזהה ייחודי של השרת. השם חייב להתחיל באות קטנה ולהסתיים באות קטנה או במספר. הוא יכול להכיל אותיות קטנות, מספרים ומקפים.
לא יכול להתחיל בתחילית
googאו להכיל את המחרוזתgoogle, כולל שגיאות איות דומות כמוg00gle. האורך המקסימלי הוא 30 תווים. -
LOCATION_ID: Google Cloud המיקום של השרת, למשל
us-west1.כדי להעביר נתונים במהירות הגבוהה ביותר, צריך ליצור את השרת באותו מיקום שבו נמצאת הקטגוריה של Cloud Storage שבה מאוחסנים הנתונים. אם המיקום של הקטגוריה לא נתמך ב-Cloud FTP, בוחרים את המיקום הזמין הקרוב ביותר.
- CIDR_BLOCK: בלוק CIDR שמורשה לגשת לשרת. לדוגמה:
192.0.2.0/24. צריך לציין ערך אחד לפחות, ואפשר לציין עד 500 בלוקי CIDR ברשימה מופרדת בפסיקים. כדי לאפשר חיבורים מכל כתובות ה-IP, משתמשים ב-0.0.0.0/0.
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud alpha storage ftp servers create SERVER_ID --access-type=EXTERNAL \ --location=LOCATION_ID --allowed-cidr-blocks=CIDR_BLOCK
Windows (PowerShell)
gcloud alpha storage ftp servers create SERVER_ID --access-type=EXTERNAL ` --location=LOCATION_ID --allowed-cidr-blocks=CIDR_BLOCK
Windows (cmd.exe)
gcloud alpha storage ftp servers create SERVER_ID --access-type=EXTERNAL ^ --location=LOCATION_ID --allowed-cidr-blocks=CIDR_BLOCK
יצירת השרת נמשכת כ-10 דקות.
REST
כדי ליצור שרת חיצוני, משתמשים ב-method servers.create ומספקים הגדרת גישה של externalConfig.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud של השרת.
-
LOCATION_ID: Google Cloud המיקום של השרת, למשל
us-west1.כדי להעביר נתונים במהירות הגבוהה ביותר, צריך ליצור את השרת באותו מיקום שבו נמצאת הקטגוריה של Cloud Storage שבה מאוחסנים הנתונים. אם המיקום של הקטגוריה לא נתמך ב-Cloud FTP, בוחרים את המיקום הזמין הקרוב ביותר.
- SERVER_ID: מזהה ייחודי של השרת. השם חייב להתחיל באות קטנה ולהסתיים באות קטנה או במספר. הוא יכול להכיל אותיות קטנות, מספרים ומקפים.
לא יכול להתחיל בתחילית
googאו להכיל את המחרוזתgoogle, כולל שגיאות איות דומות כמוg00gle. האורך המקסימלי הוא 30 תווים. - CIDR_BLOCK: בלוק CIDR שמורשה לגשת לשרת. לדוגמה:
192.0.2.0/24. צריך לציין ערך אחד לפחות, ואפשר לציין עד 500 בלוקי CIDR. כדי לאפשר חיבורים מכל כתובות ה-IP, משתמשים ב-0.0.0.0/0.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers?serverId=SERVER_ID
תוכן בקשת JSON:
{
"accessType": "EXTERNAL",
"externalConfig": {
"allowedCidrBlocks": [
"CIDR_BLOCK"
]
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
התגובה מזהה פעולה ממושכת.יצירת השרת נמשכת כ-10 דקות.
ספריות לקוח
כדי ליצור שרת חיצוני, צריך להגדיר את סוג הגישה כחיצוני ולספק הגדרת גישה חיצונית.
C#
כדי ללמוד איך מתקינים את ספריית הלקוח ואיך משתמשים בה ב-Cloud FTP, ראו: ספריות לקוח של Cloud FTP. למידע נוסף, קראו את מאמרי העזרה של Cloud FTP C# API.
כדי לבצע אימות ב-Cloud FTP, אתם צריכים להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Go
כדי ללמוד איך מתקינים את ספריית הלקוח ואיך משתמשים בה ב-Cloud FTP, ראו: ספריות לקוח של Cloud FTP. למידע נוסף, קראו את מאמרי העזרה של Cloud FTP Go API.
כדי לבצע אימות ב-Cloud FTP, אתם צריכים להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Java
כדי ללמוד איך מתקינים את ספריית הלקוח ואיך משתמשים בה ב-Cloud FTP, ראו: ספריות לקוח של Cloud FTP. למידע נוסף, קראו את מאמרי העזרה של Cloud FTP Java API.
כדי לבצע אימות ב-Cloud FTP, אתם צריכים להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Node.js
כדי ללמוד איך מתקינים את ספריית הלקוח ואיך משתמשים בה ב-Cloud FTP, ראו: ספריות לקוח של Cloud FTP. למידע נוסף, קראו את מאמרי העזרה של Cloud FTP Node.js API.
כדי לבצע אימות ב-Cloud FTP, אתם צריכים להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
PHP
כדי ללמוד איך מתקינים את ספריית הלקוח ואיך משתמשים בה ב-Cloud FTP, ראו: ספריות לקוח של Cloud FTP. למידע נוסף, קראו את מאמרי העזרה של Cloud FTP PHP API.
כדי לבצע אימות ב-Cloud FTP, אתם צריכים להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי ללמוד איך מתקינים את ספריית הלקוח ואיך משתמשים בה ב-Cloud FTP, ראו: ספריות לקוח של Cloud FTP. למידע נוסף, קראו את מאמרי העזרה של Cloud FTP Python API.
כדי לבצע אימות ב-Cloud FTP, אתם צריכים להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Ruby
כדי ללמוד איך מתקינים את ספריית הלקוח ואיך משתמשים בה ב-Cloud FTP, ראו: ספריות לקוח של Cloud FTP. למידע נוסף, קראו את מאמרי העזרה של Cloud FTP Ruby API.
כדי לבצע אימות ב-Cloud FTP, אתם צריכים להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.