翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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
でタグ付けされている場合にポリシーで TagResource
、UntagResource
、StartServer
、StopServer
、DescribeServer
、および 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
でタグ付けされている場合にポリシーで StartServer
、StopServer
、DescribeServer
、DescribeUser
、stage
、および 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
というキーと 1
、2
、または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" ] } } } ] }