AWS Transfer Family タグベースのポリシーの例 - AWS Transfer Family

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

AWS Transfer Family タグベースのポリシーの例

以下は、タグに基づいて AWS Transfer Family リソースへのアクセスを制御する方法の例です。

タグを使用した AWS Transfer Family リソースへのアクセスのコントロール

IAM ポリシーの条件は、 AWS Transfer Family リソースへのアクセス許可を指定するために使用する構文の一部です。 AWS Transfer Family リソース (ユーザー、サーバー、ロール、その他のエンティティなど) へのアクセスは、それらのリソースのタグに基づいて制御できます。タグはキーと値のペアです。リソースのタグ付けの詳細については、「」のAWS 「リソースのタグ付け」を参照してくださいAWS 全般のリファレンス

では AWS Transfer Family、リソースにタグを含めることができ、一部のアクションにはタグを含めることができます。IAM ポリシーを作成するときは、タグ条件キーを使用して以下を制御できます。

  • AWS Transfer Family リソースのタグに基づいて、リソースに対してアクションを実行できるユーザー。

  • アクションのリクエストで渡すことができるタグ。

  • リクエストで特定のタグキーを使用できるかどうか。

タグベースのアクセスコントロールを使用すると、 APIレベルよりも詳細なコントロールを適用できます。また、リソースベースのアクセス制御を使用するよりも動的な制御を適用できます。リクエストで指定されたタグ (リクエストタグ) に基づいて、オペレーションを許可または拒否するIAMポリシーを作成できます。また、 で運用されているリソースのタグ (リソースタグ) に基づいてIAMポリシーを作成することもできます。一般に、リソースタグはリソースに既に存在するタグ用であり、リクエストタグはリソースにタグを追加したり、リソースからタグを削除したりするときに使用します。

タグ条件キーの完全な構文とセマンティクスについては、IAM「 ユーザーガイド」のAWS 「リソースタグを使用したリソースへのアクセスの制御」を参照してください。Gateway でIAMポリシーを指定する方法の詳細については、「APIGateway APIデベロッパーガイド」の「アクセスIAM許可APIを持つ へのアクセスを制御する」を参照してください。

例 1: リソースタグに基づいてアクションを拒否する

タグに基づいてリソースについて実行されるアクションを拒否できます。次の例では、ユーザーまたはサーバーのリソースがキー stage と値 prod でタグ付けされている場合にポリシーで TagResourceUntagResourceStartServerStopServerDescribeServer、および DescribeUser のオペレーションが拒否されます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "transfer:TagResource", "transfer:UntagResource", "transfer:StartServer", "transfer:StopServer", "transfer:DescribeServer", "transfer:DescribeUser ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/stage": "prod" } } } ] }

例 2: リソースタグに基づいてアクションを許可する

タグに基づいてリソースに対するアクションの実行を許可できます。次の例では、ユーザーまたはサーバーのリソースがキー TagResource と値 UntagResource でタグ付けされている場合にポリシーで StartServerStopServerDescribeServerDescribeUserstage、および prod のオペレーションが許可されます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "transfer:TagResource", "transfer:UntagResource", "transfer:StartServer", "transfer:StopServer", "transfer:DescribeServer", "transfer:DescribeUser ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/stage": "prod" } } } ] }

例 3: リクエストタグに基づくユーザーまたはサーバーの作成を拒否する

次のポリシー例には、2 つのステートメントが含まれています。1 つ目のステートメントでは、タグのコストセンターキーに値がない場合、すべてのリソースに対する CreateServer オペレーションが拒否されます。

2 つ目のステートメントは、タグのコストセンターキーに 1、2、または 3 以外の値が含まれている場合に CreateServer オペレーションが拒否されます。

注記

このポリシーでは、costcenter というキーと 12、または3 の値を含むリソースを作成または削除できます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "transfer:CreateServer" ], "Resource": [ "*" ], "Condition": { "Null": { "aws:RequestTag/costcenter": "true" } } }, { "Effect": "Deny", "Action": "transfer:CreateServer", "Resource": [ "*" ], "Condition": { "ForAnyValue:StringNotEquals": { "aws:RequestTag/costcenter": [ "1", "2", "3" ] } } } ] }