このドキュメントでは、Cloud FTP ユーザーが SFTP サーバーへの接続に使用できる Secure Shell(SSH)認証鍵を更新する方法について説明します。
始める前に
サーバーへの接続に使用する各 SSH 認証鍵ペアから、ユーザーの公開鍵を取得します。ユーザーは最大 10 個の公開鍵を持つことができます。
ユーザーが SSH 認証鍵ペアを持っていない場合は、次の手順で生成します。
SSH 認証鍵ペアを生成する
SSH 認証鍵ペアを生成するには、
ssh-keygenユーティリティを使用します。SFTP サーバーに接続するクライアント マシン で、次のコマンドを実行します。ssh-keygen -t rsa -b 4096 -f ~/.ssh/KEY_PAIR_NAME
KEY_PAIR_NAMEは、鍵ペアの名前(sftp_user_keyなど)に置き換えます。公開鍵は
~/.ssh/KEY_PAIR_NAME.pubファイルに保存されます。
必要なロール
SFTP ユーザーを更新するために必要な権限を取得するには、プロジェクトに対するFTP 管理者 (roles/ftp.admin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
この事前定義ロールには、SFTP ユーザーの更新に必要な
ftp.users.update
権限が含まれています。
カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。
SFTP ユーザーの SSH 認証鍵を更新する
REST
SFTP ユーザーの SSH 認証鍵を更新するには、
servers.users.patch メソッドを使用します。
updateMask クエリ パラメータで、userCredentials フィールドを指定します。
リクエストデータを使用する前に、 次の置換を行います。
- PROJECT_ID: サーバーの Google Cloud プロジェクト ID。
- LOCATION_ID:サーバーのロケーション(
us-west1など)。 - SERVER_ID: サーバー ID。
- USERNAME: SFTP ユーザーのユーザー名。
- CREDENTIAL_NAME: ユーザー認証情報を識別する一意の名前。
- SSH_PUBLIC_KEY:OpenSSH 形式のユーザーの SSH 公開鍵の本文。例:
ssh-rsa AAAAB3NzaC1ycRexample...
ユーザーに複数の公開鍵を構成するには、
userCredentials リストに複数の認証情報を指定します。
HTTP メソッドと URL:
PATCH https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers/SERVER_ID/users/USERNAME?updateMask=userCredentials
リクエスト JSON 本文:
{
"userCredentials": [
{
"credentialName": "CREDENTIAL_NAME",
"credentialType": "PUBLIC_KEY",
"sshPublicKeyBody": "SSH_PUBLIC_KEY"
}
]
}
リクエストを送信するには、次のいずれかのオプションを展開します。
レスポンスで長時間実行オペレーションを識別できます。ユーザーが更新されるまでに数秒かかります。