במאמר הזה מוסבר איך ליצור שרת 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.
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.
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 פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
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). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable ftp.googleapis.com
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
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). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (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 .
לוחצים על Create server.
בכרטיסייה Server configuration (הגדרת השרת), מזינים פרטים בסיסיים של השרת:
בשדה מזהה השרת, מזינים מזהה ייחודי לשרת.
ברשימה Region, בוחרים את Google Cloud המיקום של השרת.
כדי להשיג את מהירויות העברת הנתונים הגבוהות ביותר, צריך ליצור את השרת באותו מיקום שבו נמצאת קטגוריה של Cloud Storage שבה הנתונים מאוחסנים. אם המיקום של הקטגוריה לא נתמך על ידי Cloud FTP, בוחרים את המיקום הזמין הקרוב ביותר.
(אופציונלי) מזינים שם לתצוגה של השרת.
לוחצים על Continue.
בכרטיסייה Networking and security (רשת ואבטחה), מגדירים את הקישוריות של השרת:
בוחרים באפשרות חיצונית (כתובת IP ציבורית).
בשדה Allowed IP ranges (טווחי IP מותרים), מזינים בלוק 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: מזהה ייחודי של השרת. השם חייב להתחיל באות קטנה ולהסתיים באות קטנה או במספר. יכול להכיל אותיות קטנות, מספרים ומקפים. האורך המרבי הוא 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
כדי ליצור שרת חיצוני, משתמשים בשיטה servers.create ומספקים הגדרת גישה externalConfig.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט של השרת ב- Google Cloud .
-
LOCATION_ID: Google Cloud המיקום של השרת, למשל
us-west1.כדי להשיג את מהירויות העברת הנתונים הכי גבוהות, צריך ליצור את השרת באותו מיקום שבו נמצאת קטגוריה של Cloud Storage שבה מאוחסנים הנתונים. אם המיקום של הקטגוריה לא נתמך על ידי Cloud FTP, בוחרים את המיקום הזמין הקרוב ביותר.
- SERVER_ID: מזהה ייחודי של השרת. השם חייב להתחיל באות קטנה ולהסתיים באות קטנה או במספר. יכול להכיל אותיות קטנות, מספרים ומקפים. האורך המרבי הוא 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 דקות.