Classic/VPC環境で利用できます。
NAVERクラウドプラットフォームでは Condition条件キーをベースにリソースに対するアクセスやアクション実行リクエストを制御できます。リソースへのアクセスを制御できる Condition条件キーである Resource Tagと、アクション実行リクエストを制御できる Condition条件キーである Request Tagを説明します。
| 区分 | Resource Tag | Request Tag | Principal Tag | Dynamic Condition |
|---|---|---|---|---|
| 使用目的 | 特定のタグが指定されたリソースに対するユーザー操作を許可・拒否する時に使用 | リソース作成またはタグ変更時、特定のタグキー-値が必ず指定されるようにタスクを許可/拒否する時に使用 | Action実行主体(サブアカウント/ロール)に特定のタグが指定された場合に限り、ユーザータスクを許可/拒否するときに使用 | 静的値ではなく、リクエスト時点のプロパティを変数のように比較し、リクエスト時点のコンテキストに応じて動的にタスクを許可/拒否するときに使用 |
| 使用できるアクション | リソース指定が可能なアクション
|
|
すべてのアクション | 条件キーが使用可能なアクションに限る |
| 権限チェック方法 | IAMポリシーに指定されたタグキー-値ペアをリソースに連携されたキー-値ペアと比較してリソースに対するアクセスの許可有無を管理 | IAMポリシーに指定されたタグキー-値ペアを権限チェックリクエストに含まれたタグキー-値ペアと比較してアクション実行の許可有無を管理 | IAMポリシーに指定されたタグキー-値ペアを Action実行主体に指定されたタグキー-値ペアと比較してアクション実行の許可有無を管理 | ポリシーに定義された変数 ${조건 키 전체}(例: ${ncp:principalTag/key})をリクエスト時点の実際値に置換した後、比較対象タグキー-値との一致有無を確認して許可有無を管理 |
Resource Tagを使用したリソースに対するアクセス制御
以下のポリシーは ncp:resourceTag条件キーを使って特定のタグの[key:value]を持つ Policyのみ削除できるように権限を定義します。

Request Tagを使用したアクション実行リクエストの制御
以下のポリシーは ncp:requestTag条件キーを使って特定のタグ [key:value] を持つ Sub Accountのみ作成できるように権限を定義します。

このポリシーを付与されたサブアカウントは、 [project:unicorn] タグを持つ Sub Accountのみ作成可能です。もしタグを指定しないままサブアカウントを作成するか、 [project:unicorn] タグが含まれていないその他のタグを指定して Sub Accountを作成する場合、そのタスクは拒否されます。またタグ情報が含まれたリソース作成アクションの場合、ncp:requestTag条件キーを使うとしても同様に特定のタグ [key:value] を持つサブアカウントのみ作成できるように定義できます。
Principal Tag使用を通じたアクセス制御
以下のポリシーは ncp:Principal Tag条件キーを使用して特定のタグ [key:value] を持つサブアカウント、またはロールのみアクション実行ができるように権限を定義します。

このポリシーを付与されたサブアカウント中、[team:devops] タグが指定されたサブアカウントのみ Policy作成が可能です。例えば、タグが指定されていないサブアカウント、または [team:devops] 以外の値が指定されたサブアカウントが Policy作成をリクエストする場合、当該タスクは拒否されます。
Dynamic Conditionを活用したタグベースのアクセス制御
Dynamic Conditionはポリシーの条件値に特定の値を直接入力する代わりに、変数を使用して動的に参照するように定義する方式です。
ポリシー変数 ${조건 키 전체}(例: ${ncp:principalTag/key})を条件値に使用すると、権限チェック時点にタグ値として置換されて条件キーと比較されます。

このポリシーを付与されたサブアカウントに [project:unicorn] タグが指定されている場合、[project:unicorn] タグが指定された Policyのみ削除できます。[project:pegasus] タグが指定されたサブアカウントは、別途のポリシー変更なく [project:pegasus] タグを持つ Policyのみ削除できます。
- アクション別に指定できる条件キーは、サービス別 Sub Account の権限管理で確認できます。
- アクションに使用できない条件キーが指定されたポリシーが与えられたサブアカウントの場合、そのアクションの実行は拒否されます。
- NAVERクラウドプラットフォームで定義する演算子情報は、Condition条件キーと演算子で確認できます。
多数のキーまたは値が含まれた場合の権限チェックロジック
| CASE | 権限チェックロジック |
|---|---|
| 1つの条件キー内に複数の値を指定する場合 | 論理演算子の orを使って、ポリシーに指定されたタグキー-値の中で1つだけが一致すると権限を許可 |
| 1つの条件キーに否定演算子としてタグ値を複数指定する場合 | 論理演算子の Norを使って、ポリシーに指定されたタグキー-値がすべて一致しないと権限を許可 |
| 1つの Conditionに複数の条件キーが使われる場合 | 論理演算子の ANDを使って、すべての条件キーが一致する場合のみに権限を許可 |