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 リソースへのアクセスコントロール」を参照してください。API Gateway を使用した IAM ポリシーの指定の詳細については、API Gateway デベロッパーガイドの「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" ] } } } ] }