と IAM AWS Transfer Family の連携方法 - AWS Transfer Family

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

と IAM AWS Transfer Family の連携方法

AWS Identity and Access Management (IAM) を使用して へのアクセスを管理する前に AWS Transfer Family、 で使用できる IAM 機能について理解しておく必要があります AWS Transfer Family。 AWS Transfer Family およびその他の AWS のサービスが IAM と連携する方法の概要を把握するには、「IAM ユーザーガイド」のAWS 「IAM と連携する のサービス」を参照してください。

AWS Transfer Family アイデンティティベースのポリシー

IAM アイデンティティベースのポリシーでは、許可または拒否されたアクションとリソースを指定でき、さらにアクションが許可または拒否された条件を指定できます。 AWS Transfer Family は、特定のアクション、リソース、および条件キーをサポートします。JSON ポリシーで使用するすべての要素については、AWS Identity and Access Management ユーザーガイド の「IAM JSON ポリシーエレメントのリファレンス」を参照してください。

アクション

管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどんなリソースにどんな条件アクションを実行できるかということです。

JSON ポリシーのAction要素には、ポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。ポリシーアクションの名前は通常、関連する AWS API オペレーションと同じです。一致する API オペレーションのない許可のみのアクションなど、いくつかの例外があります。また、ポリシーに複数アクションが必要なオペレーションもあります。これらの追加アクションは、依存アクションと呼ばれます。

このアクションは、関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

のポリシーアクションは、アクションの前にプレフィックス AWS Transfer Family を使用しますtransfer:。たとえば、Transfer Family CreateServer API オペレーションを使用してサーバーを作成するアクセス許可を付与するには、ポリシーに transfer:CreateServer アクションを含めます。ポリシーステートメントには、Action 要素または NotAction 要素のいずれかを含める必要があります。 AWS Transfer Family は、このサービスで実行できるタスクを説明する独自の一連のアクションを定義します。

単一のステートメントに複数の アクションを指定するには、次のようにコンマで区切ります。

"Action": [ "transfer:action1", "transfer:action2"

ワイルドカード *を使用して複数のアクションを指定することができます。例えば、Describe という単語で始まるすべてのアクションを指定するには、次のアクションを含めます。

"Action": "transfer:Describe*"

AWS Transfer Family アクションのリストを確認するには、「サービス認証リファレンス」の「 で定義されるアクション AWS Transfer Family」を参照してください。

リソース

管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

Resource JSON ポリシーの要素は、オブジェクトあるいはアクションが適用されるオブジェクトを指定します。ステートメントには、Resource または NotResource 要素を含める必要があります。ベストプラクティスとしては、Amazon リソースネーム (ARN) を使用してリソースを指定します。これは、リソースレベルの権限と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

オペレーションの一覧表示など、リソースレベルの許可をサポートしないアクションの場合は、ワイルドカード (*) を使用して、ステートメントがすべてのリソースに適用されることを示します。

"Resource": "*"

Transfer Family サーバーリソースには、次の ARN があります。

arn:aws:transfer:${Region}:${Account}:server/${ServerId}

たとえば、ステートメントで s-01234567890abcdef Transfer Family サーバーを指定するには、次の ARN を使用します。

"Resource": "arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef"

ARN の形式の詳細については、「サービス認証リファレンス」の「Amazon リソースネーム (ARN)」、または「IAM ユーザーガイド」の「IAM ARN」を参照してください。

特定のアカウントに属するすべてのインスタンスを指定するには、ワイルドカード *を使用します。

"Resource": "arn:aws:transfer:us-east-1:123456789012:server/*"

一部の AWS Transfer Family アクションは、IAM ポリシーで使用されるアクションなど、複数のリソースで実行されます。このような場合は、ワイルドカード *を使用する必要があります。

"Resource": "arn:aws:transfer:*:123456789012:server/*"

場合によっては、複数のタイプのリソースを指定する必要があります。たとえば、Transfer Family サーバーとユーザーへのアクセスを許可するポリシーを作成する場合などです。複数リソースを単一ステートメントで指定するには、ARN をカンマで区切ります。

"Resource": [ "resource1", "resource2" ]

AWS Transfer Family リソースのリストを確認するには、「サービス認証リファレンス」の「 で定義されるリソースタイプ AWS Transfer Family」を参照してください。

条件キー

管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどんなリソースにどんな条件アクションを実行できるかということです。

Condition 要素 (または Condition ブロック) を使用すると、ステートメントが有効な条件を指定できます。Condition 要素はオプションです。equal や less than などの条件演算子を使用して条件式を作成することによって、ポリシーの条件とリクエスト内の値を一致させることができます。

1 つのステートメントに複数の Condition 要素を指定する場合、または 1 つの Condition 要素に複数のキーを指定する場合、 AWS は AND 論理演算子を使用してそれらを評価します。1 つの条件キーに複数の値を指定すると、 は論理OR演算を使用して条件 AWS を評価します。ステートメントの権限が付与される前にすべての条件が満たされる必要があります。

条件を指定する際にプレースホルダー変数も使用できます。例えば IAM ユーザーに、IAM ユーザー名がタグ付けされている場合のみリソースにアクセスできる権限を付与することができます。詳細については、「IAM ユーザーガイド」の「‬IAM ポリシーの要素: 変数およびタグ‭‬」を参照してください。

AWS は、 グローバル条件キーとサービス固有の条件キーをサポートします。すべての AWS グローバル条件キーを確認するには、「IAM ユーザーガイド」のAWS 「 グローバル条件コンテキストキー」を参照してください。

AWS Transfer Family は独自の条件キーを定義し、一部のグローバル条件キーの使用もサポートしています。 AWS Transfer Family 条件キーのリストを確認するには、「サービス認証リファレンス」の「 の条件キー AWS Transfer Family」を参照してください。

AWS Transfer Family アイデンティティベースのポリシーの例を表示するには、「」を参照してくださいAWS Transfer Family アイデンティティベースのポリシーの例

AWS Transfer Family リソースベースのポリシー

リソースベースのポリシーは、指定されたプリンシパルが AWS Transfer Family リソースに対して実行できるアクションと条件を指定する JSON ポリシードキュメントです。Amazon S3 は、Amazon S3 バケットに関するリソースベースのアクセス許可ポリシーをサポートします。リソースベースのポリシーでは、リソースごとに他の アカウントに使用許可を付与することができます。リソースベースのポリシーを使用して、 AWS サービスが Amazon S3 バケット にアクセスすることを許可することもできます。

クロスアカウントアクセスを有効にするには、アカウント全体、または別のアカウントの IAM エンティティをリソースベースのポリシーのプリンシパルとして指定します。リソースベースのポリシーにクロスアカウントのプリンシパルを追加しても、信頼関係は半分しか確立されない点に注意してください。プリンシパルとリソースが異なる AWS アカウントにある場合は、プリンシパルエンティティにリソースへのアクセス許可も付与する必要があります。アクセス許可は、アイデンティティベースのポリシーをエンティティにアタッチすることで付与します。ただし、リソースベースのポリシーで、同じアカウントのプリンシパルへのアクセス権が付与されている場合は、ID ベースのポリシーをさらに付与する必要はありません。詳細については、AWS Identity and Access Management ユーザーガイドの「IAM ロールとリソースベースのポリシーとの相違点」を参照してください。

Amazon S3 サービスは、バケットポリシーと呼ばれるリソースベースのポリシーの 1 つのタイプのみサポートし、それがバケットにアタッチされます。このポリシーは、どのプリンシパルエンティティ(アカウント、ユーザー、ロール、および連携ユーザー)がオブジェクトに対してアクションを実行できるかを定義します。

AWS Transfer Family リソースベースのポリシーの例を表示するには、「」を参照してくださいAWS Transfer Family タグベースのポリシーの例

AWS Transfer Family タグに基づく認可

タグを AWS Transfer Family リソースにアタッチすることも、 へのリクエストでタグを渡すこともできます AWS Transfer Family。タグに基づいてアクセスを制御するには、transfer:ResourceTag/key-nameaws:RequestTag/key-name、または aws:TagKeys の条件キーを使用して、ポリシーの 条件要素 でタグ情報を提供します。タグを使用して AWS Transfer Family リソースへのアクセスを制御する方法については、「」を参照してくださいAWS Transfer Family タグベースのポリシーの例

AWS Transfer Family IAM ロール

IAM ロールは、特定のアクセス許可を持つ AWS アカウント内のエンティティです。

での一時的な認証情報の使用 AWS Transfer Family

一時的な認証情報を使用して、フェデレーションでサインインする、IAM ロールを引き受ける、またはクロスアカウントロールを引き受けることができます。一時的なセキュリティ認証情報を取得するには、 AssumeRoleや などの AWS STS API オペレーションを呼び出しますGetFederationToken

AWS Transfer Family では、一時的な認証情報の使用をサポートしています。