UpdateUser - AWS Transfer Family

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

UpdateUser

新しいプロパティをユーザーに割り当てます。渡されたパラメータは、指定する UserName および ServerId のホームディレクトリ、ロール、およびポリシーのいずれかまたはすべてを変更します。

レスポンスは更新されたユーザーの ServerIdUserName を返します。

コンソールでは、ユーザーを作成または更新するときに制限付き を選択できます。これにより、ユーザーはホームディレクトリ外のものにアクセスできなくなります。この動作を設定するプログラム的な方法は、ユーザーを更新することです。を HomeDirectoryTypeに設定しLOGICALHomeDirectoryMappingsをルート (/) Entryとして指定し、 をホームディレクトリTargetとして指定します。

例えば、ユーザーのホームディレクトリが の場合/test/admin-user、次のコマンドはユーザーを更新して、コンソールの設定で制限付きフラグが選択されていることを表示します。

aws transfer update-user --server-id <server-id> --user-name admin-user --home-directory-type LOGICAL --home-directory-mappings "[{\"Entry\":\"/\", \"Target\":\"/test/admin-user\"}]"

リクエストの構文

{ "HomeDirectory": "string", "HomeDirectoryMappings": [ { "Entry": "string", "Target": "string", "Type": "string" } ], "HomeDirectoryType": "string", "Policy": "string", "PosixProfile": { "Gid": number, "SecondaryGids": [ number ], "Uid": number }, "Role": "string", "ServerId": "string", "UserName": "string" }

リクエストパラメータ

すべてのアクションに共通のパラメータの詳細については、「共通パラメータ」を参照してください。

リクエストは以下の JSON 形式のデータを受け入れます。

HomeDirectory

ユーザーがクライアントを使用してサーバーにログインするときの、ユーザーのランディングディレクトリ (フォルダ)。

HomeDirectory の例は /bucket_name/home/mydirectory です。

注記

HomeDirectory パラメータは、HomeDirectoryTypePATH に設定されている場合のみ使用されます。

型: 文字列

長さの制限: 最小長は 0 です。最大長は 1,024 です。

パターン: (|/.*)

必須: いいえ

HomeDirectoryMappings

ユーザーに表示する Amazon S3 または Amazon EFS のパスとキー、およびそれらをどのように表示するかを指定する論理ディレクトリマッピング。EntryTarget のペアを指定する必要があり、Entry はパスの表示方法を示し、Target は実際の Amazon S3 または Amazon EFS のパスです。ターゲットを指定しただけの場合は、そのまま表示されます。また、 AWS Identity and Access Management (IAM) ロールが のパスへのアクセスを提供することを確認する必要がありますTarget。この値は、HomeDirectoryType がLOGICALに設定されている場合にのみ設定できます。

以下は EntryTarget のペアの例です。

[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]

ほとんどの場合、セッションポリシーの代わりにこの値を使用することで、指定されたホームディレクトリ (chroot) にユーザーをロックダウンできます。これを行うには、 Entryを '/' に設定し、 Target を HomeDirectory パラメータ値に設定します。

以下は、chroot についての EntryTarget のペアの例です。

[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]

型: HomeDirectoryMapEntry オブジェクトの配列

配列メンバー:最小数は 1 項目です。最大数は 50,000 項目です。

必須: いいえ

HomeDirectoryType

ユーザーがサーバーにログインするときにホームディレクトリにするランディングディレクトリ (フォルダ) のタイプ。これを PATH に設定した場合、ユーザーには、ファイル転送プロトコルクライアントに、絶対的な Amazon S3 バケットまたは現状の Amazon EFS パスが表示されます。これを LOGICAL に設定した場合、Amazon S3 または Amazon EFS パスをユーザーに表示する方法に関して、HomeDirectoryMappings でマッピングを指定する必要があります。

注記

HomeDirectoryTypeLOGICAL の場合は、HomeDirectoryMappings パラメータを使用してマッピングを指定する必要があります。一方、HomeDirectoryTypePATH の場合は、HomeDirectory パラメータを使用して絶対パスを指定します。テンプレートに HomeDirectoryHomeDirectoryMappings の両方を含めることはできません。

型: 文字列

有効な値:PATH | LOGICAL

必須:いいえ

Policy

複数のユーザーで同じ AWS Identity and Access Management (IAM) ロールを使用できるように、ユーザーのセッションポリシー。このポリシーは、ユーザーアクセスのスコープを Amazon S3 バケットの一部に絞り込みます。このポリシー内に使用できる変数には、${Transfer:UserName}${Transfer:HomeDirectory}${Transfer:HomeBucket} があります。

注記

このポリシーは、ServerId ドメインが Amazon S3 の場合にのみ適用されます。Amazon EFS はセッション・ポリシーを使用しません。

セッションポリシーの場合、 はポリシーの Amazon リソースネーム (ARN) ではなく、ポリシーを JSON BLOB として AWS Transfer Family 保存します。JSON blob としてポリシーを保存し、Policy 因数に渡します。

セッションポリシーの例については、「セッションポリシーの例」を参照してください。

詳細については、 AWS 「 Security Token Service API リファレンスAssumeRole」の「」を参照してください。

型: 文字列

長さの制限: 最小長は 0 です。最大長は 2048 です。

必須: いいえ

PosixProfile

Amazon Elastic File System (Amazon EFS) ファイルシステムへのユーザーのアクセスを制御する、ユーザー ID (Uid)、グループ ID (Gid)、およびセカンダリグループ ID (SecondaryGids) を含む、完全な POSIX ID を指定します。ファイルシステム内のファイルとディレクトリに設定される POSIX アクセス許可によって、Amazon EFS ファイルシステムとの間でファイルを転送するときにユーザーが得るアクセスのレベルが決まります。

型: PosixProfile オブジェクト

必須: いいえ

Role

Amazon S3 バケットまたは Amazon EFS ファイルシステムへのユーザーのアクセスを制御する AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。このロールにアタッチされたポリシーにより、ファイルを Amazon S3 バケットまたは Amazon EFS ファイルシステム間で転送する際の、ユーザーに付与するアクセスレベルが決定されます。IAM ロールには、ユーザーの転送リクエストを処理する際に、サーバーによるリソースへのアクセスを許可する信頼関係も含まれる必要があります。

型: 文字列

長さの制限: 最小長は 20 です。最大長は 2,048 です。

パターン: arn:.*role/\S+

必須: いいえ

ServerId

ユーザーが割り当てられている Transfer Family サーバーインスタンスの、システムから割り当てられた一意の識別子。

型: 文字列

長さの制限: 固定長は 19 です。

Pattern: s-([0-9a-f]{17})

必須:はい

UserName

ユーザーを識別する一意の文字列で、ServerId による指定に従いサーバーに関連付けられています。このユーザー名は、最小 3 文字、最大 100 文字にする必要があります。有効な文字は a~z、A~Z、0~9、アンダースコア (_)、ハイフン (-)、ピリオド (。)、アットマーク (@) です。ユーザー名をハイフン、ピリオド、アットマークで始めることはできません。

型: 文字列

長さの制限: 最小長は 3 です。最大長は 100 です。

パターン: [\w][\w@.-]{2,99}

必須:はい

レスポンスの構文

{ "ServerId": "string", "UserName": "string" }

レスポンス要素

アクションが成功すると、サービスは HTTP 200 レスポンスを返します。

サービスから以下のデータが JSON 形式で返されます。

ServerId

アカウントが割り当てられている Transfer Family サーバーインスタンスの、システムから割り当てられた一意の識別子。

型: 文字列

長さの制限: 固定長は 19 です。

Pattern: s-([0-9a-f]{17})

UserName

リクエストで指定されたサーバーインスタンスに割り当てられているユーザーの一意の識別子。

型: 文字列

長さの制限: 最小長は 3 です。最大長は 100 です。

パターン:[\w][\w@.-]{2,99}

エラー

すべてのアクションに共通のエラーについては、「共通エラー」を参照してください。

InternalServiceError

この例外は、 AWS Transfer Family サービスでエラーが発生した場合にスローされます。

HTTP ステータスコード:500

InvalidRequestException

この例外は、クライアントが不正な形式のリクエストを送信した場合にスローされます。

HTTP ステータスコード:400

ResourceNotFoundException

この例外は、 AWS Transfer Family サービスによってリソースが見つからない場合にスローされます。

HTTP ステータスコード:400

ServiceUnavailableException

AWS Transfer Family サービスが利用できないため、リクエストは失敗しました。

HTTP ステータスコード:500

ThrottlingException

リクエストのスロットリングにより、リクエストが拒否されました。

HTTP ステータスコード:400

次の例では、Transfer Family ユーザーを更新します。

リクエスト例

{ "HomeDirectory": "/bucket2/documentation", "HomeDirectoryMappings": [ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ], "HomeDirectoryType:" "PATH", "Role": "AssumeRole", "ServerId": "s-01234567890abcdef", "UserName": "my_user" }

これは、この API コールに対するレスポンスのサンプルです。

レスポンス例

{ "ServerId": "s-01234567890abcdef", "UserName": "my_user" }

その他の参照資料

言語固有の AWS SDKs のいずれかでこの API を使用する方法の詳細については、以下を参照してください。