SFTP サーバーを更新する

サーバーのアクセス構成を更新することで、Cloud FTP サーバーへの接続を許可するユーザーを更新できます。 サーバーの表示名などのメタデータも更新できます。

サーバーの作成後に、サーバーが外部か内部かを変更することはできません。

必要なロール

SFTP サーバーを更新するために必要な権限を取得するには、プロジェクトに対するCloud FTP 管理者 (roles/ftp.admin)IAM ロールの付与を管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、 ftp.servers.update 権限が含まれています。 この権限は、SFTP サーバーを更新するために必要です。

カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。

外部サーバーのアクセス権を更新する

gcloud

外部サーバーのアクセス構成を更新するには、 gcloud alpha storage ftp servers update コマンドを実行します。 --allowed-cidr-blocks フラグを指定します。

後述のコマンドデータを使用する前に、 次のように置き換えます。

  • SERVER_ID: サーバー ID。
  • LOCATION_ID:サーバーのロケーション(us-west1など)。
  • CIDR_BLOCK: サーバーへのアクセスが許可されている CIDR ブロック。例: 192.0.2.0/24。少なくとも 1 つの値を指定する必要があります。最大 500 個の CIDR ブロック をカンマ区切りのリストで指定できます。すべての IP アドレスからの接続を許可するには、0.0.0.0/0 を使用します。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud alpha storage ftp servers update SERVER_ID --location=LOCATION_ID \
    --allowed-cidr-blocks=CIDR_BLOCK

Windows(PowerShell)

gcloud alpha storage ftp servers update SERVER_ID --location=LOCATION_ID `
    --allowed-cidr-blocks=CIDR_BLOCK

Windows(cmd.exe)

gcloud alpha storage ftp servers update SERVER_ID --location=LOCATION_ID ^
    --allowed-cidr-blocks=CIDR_BLOCK
サーバーが更新されるまでに数秒かかります。

REST

外部サーバーのアクセス構成を更新するには、 servers.patch メソッドを使用します。 updateMask クエリ パラメータで、externalConfig フィールドを指定します。

リクエストのデータを使用する前に、 次のように置き換えます。

  • PROJECT_ID: サーバーの Google Cloud プロジェクト ID。
  • LOCATION_ID:サーバーのロケーション(us-west1など)。
  • SERVER_ID: サーバー ID。
  • CIDR_BLOCK: サーバーへのアクセスが許可されている CIDR ブロック。例: 192.0.2.0/24。少なくとも 1 つの値を指定する必要があります。最大 500 個の CIDR ブロックを指定できます 。 すべての IP アドレスからの接続を許可するには、0.0.0.0/0 を使用します。

HTTP メソッドと URL:

PATCH https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers/SERVER_ID?updateMask=externalConfig

リクエストの本文(JSON):

{
  "externalConfig": {
    "allowedCidrBlocks": [
      "CIDR_BLOCK"
    ]
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

レスポンスで 長時間実行オペレーションを識別できます。 サーバーが更新されるまでに数秒かかります。

内部サーバーのアクセス権を更新する

gcloud

内部サーバーのアクセス構成を更新するには、 gcloud alpha storage ftp servers update コマンドを実行します。 --consumer-accept-list フラグを指定します。必要に応じて、--consumer-reject-list フラグを指定します。

後述のコマンドデータを使用する前に、 次のように置き換えます。

  • SERVER_ID: サーバー ID。
  • LOCATION_ID:サーバーのロケーション(us-west1など)。
  • PROJECT_TO_ALLOW:Private Service Connect を使用してサーバーへの接続を許可するコンシューマー プロジェクトのプロジェクト ID または番号。例: example-allowed-project。少なくとも 1 つのプロジェクトを指定する必要があります。

    最大 500 個のプロジェクトを許可できます。 複数のプロジェクトとそれぞれの接続上限をカンマ区切りのリストで指定します。例: --consumer-accept-list=projectA=20,projectB=15。

  • CONNECTION_LIMIT: コンシューマー プロジェクトで作成できる Private Service Connect エンドポイントの最大数。値は 1 ~ 250 エンドポイントにする必要があります。
  • (省略可)PROJECT_TO_REJECT:サーバーへの接続が禁止されているコンシューマー プロジェクトのプロジェクト ID または番号。例: example-rejected-project。 このリストにあるプロジェクトは、許可されたプロジェクトの リストに含まれていても、サーバーへのアクセスが拒否されます。

    最大 64 個のプロジェクトを拒否できます。 複数のプロジェクトをカンマ区切りのリストで指定します。

    プロジェクトを明示的に拒否しない場合は、 --consumer-reject-list フラグを省略します。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud alpha storage ftp servers update SERVER_ID --location=LOCATION_ID \
    --consumer-accept-list=PROJECT_TO_ALLOW=CONNECTION_LIMIT \
    --consumer-reject-list=PROJECT_TO_REJECT

Windows(PowerShell)

gcloud alpha storage ftp servers update SERVER_ID --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 update SERVER_ID --location=LOCATION_ID ^
    --consumer-accept-list=PROJECT_TO_ALLOW=CONNECTION_LIMIT ^
    --consumer-reject-list=PROJECT_TO_REJECT
サーバーが更新されるまでに数秒かかります。

REST

内部サーバーのアクセス構成を更新するには、 servers.patch メソッドを使用します。 updateMask クエリ パラメータで、internalConfig フィールドを指定します。

リクエストのデータを使用する前に、 次のように置き換えます。

  • PROJECT_ID: サーバーの Google Cloud プロジェクト ID。
  • LOCATION_ID:サーバーのロケーション(us-west1など)。
  • SERVER_ID: サーバー ID。
  • PROJECT_TO_ALLOW:Private Service Connect を使用してサーバーへの接続を許可するコンシューマー プロジェクトのプロジェクト ID または番号。例: example-allowed-project。少なくとも 1 つのプロジェクトを指定する必要があります。

    最大 500 個のプロジェクトを許可できます。

  • CONNECTION_LIMIT: コンシューマー プロジェクトで作成できる Private Service Connect エンドポイントの最大数。値は 1 ~ 250 エンドポイントにする必要があります。
  • (省略可)PROJECT_TO_REJECT:サーバーへの接続が禁止されているコンシューマー プロジェクトのプロジェクト ID または番号。例: example-rejected-project。 このリストにあるプロジェクトは、許可されたプロジェクトの リストに含まれていても、サーバーへのアクセスが拒否されます。

    最大 64 個のプロジェクトを拒否できます。

    プロジェクトを明示的に拒否しない場合は、 consumerRejectList オブジェクトを省略します。

HTTP メソッドと URL:

PATCH https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers/SERVER_ID?updateMask=internalConfig

リクエストの本文(JSON):

{
  "internalConfig": {
    "consumerAcceptList": [
      {
        "project": "projects/PROJECT_TO_ALLOW",
        "connectionLimit": CONNECTION_LIMIT
      }
    ],
    "consumerRejectList": [
      {
        "project": "projects/PROJECT_TO_REJECT"
      }
    ]
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

レスポンスで 長時間実行オペレーションを識別できます。 サーバーが更新されるまでに数秒かかります。

サーバーの表示名を更新する

gcloud

SFTP サーバーの表示名などのメタデータを更新するには、 gcloud alpha storage ftp servers update コマンドを実行します。

後述のコマンドデータを使用する前に、 次のように置き換えます。

  • SERVER_ID: サーバー ID。
  • LOCATION_ID:サーバーのロケーション(us-west1など)。
  • DISPLAY_NAME: サーバーの表示名。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud alpha storage ftp servers update SERVER_ID --location=LOCATION_ID \
    --display-name="DISPLAY_NAME"

Windows(PowerShell)

gcloud alpha storage ftp servers update SERVER_ID --location=LOCATION_ID `
    --display-name="DISPLAY_NAME"

Windows(cmd.exe)

gcloud alpha storage ftp servers update SERVER_ID --location=LOCATION_ID ^
    --display-name="DISPLAY_NAME"
サーバーが更新されるまでに数秒かかります。

REST

SFTP サーバーの表示名などのメタデータを更新するには、 servers.patch メソッドを使用します。 updateMask クエリ パラメータで、更新するフィールドのカンマ区切りのリストを指定します。リクエストの本文で、設定する値を含む JSON オブジェクトを指定します。

リクエストのデータを使用する前に、 次のように置き換えます。

  • PROJECT_ID: サーバーの Google Cloud プロジェクト ID。
  • LOCATION_ID:サーバーのロケーション(us-west1など)。
  • SERVER_ID: サーバー ID。
  • FIELDS_TO_UPDATE: サーバー リソースを基準として更新するフィールドのカンマ区切りのリスト。たとえば、表示名を更新するには、クエリ パラメータ updateMask=displayName を指定します。
  • DISPLAY_NAME: サーバーの表示名。

HTTP メソッドと URL:

PATCH https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers/SERVER_ID?updateMask=FIELDS_TO_UPDATE

リクエストの本文(JSON):

{
  "displayName": "DISPLAY_NAME"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

レスポンスで 長時間実行オペレーションを識別できます。 サーバーが更新されるまでに数秒かかります。