6. API権限管理機能¶
6.1. SDPFで提供するAPI権限管理¶
Smart Data Platform(以下SDPF)では、各種APIの実行権限を制御する機能を提供します。
本機能を利用することで、ユーザーのAPI実行権限をさまざまな条件で制御できます。
条件の例:
・特定のAPIのみ実行可能(Read Onlyに制限など)
・特定のリソースに対してのみ実行可能
・特定の送信元グローバルIPアドレスからのみ実行可能など
注釈
SDPFで提供するGUIは、内部的には画面上の操作をその操作に該当するAPIを実行することで実現しています。 そのため、このAPI権限管理機能を利用することで、GUI上の実行権限も同様に制限できます。
以下のような、ユーザー、IAM(Identity and Access Management)グループ、IAMロールという3つの要素によって、権限の制御を実現します。
項目 | 説明 |
1.ユーザー | SDPF契約に属する個々のユーザー(管理ユーザー、または一般ユーザー) |
2.IAMグループ | IAMロールをグルーピングしたもの
ユーザーとIAMロールとの紐付ける役割を果たす
|
3.IAMロール | 利用を許可するAPIやAPIを実行する条件をホワイトリスト形式で定義したもの
1つのIAMロールの中には複数の許可APIを設定できる
|
以下の図のように、ユーザーは複数のIAMグループに所属でき、IAMグループは1つまたは複数のIAMロールによって定義されます。
6.2. IAMロールの権限定義¶
IAMロールは主に以下の要素によって定義されます。
下記以外にも各APIで保持する情報も任意の要素として指定することも可能で、値としてアスタリスク(*)を指定することでワイルドカードを指定できます。
GUIでは、典型的なロールの設定例をテンプレートとして提供しているため、このテンプレートを選択して設定できます。
項目 | 説明 |
ipAddress | 利用を許可するアクセス元グローバル IP アドレス |
basePath | 利用を許可する API 名 |
path | 利用を許可する API リソース名 |
verb | 利用を許可する Method 名 |
以下は、読み取り専用(Read Only)の権限を設定する場合のロールの設定例です。
6.3. デフォルトIAMグループ、デフォルトIAMロール¶
SDPF契約の作成時点では、デフォルトIAMグループとデフォルトIAMロールがシステムにより作成されており、作成直後のすべてのユーザーはデフォルトIAMグループに紐付けられています。
また、デフォルトIAMロールではAPIの実行許可が定義されておりません。初期状態ではすべてのユーザーはAPIの実行権限を持たないため、APIを実行する場合は新たにIAMグループを作成する必要があります。
デフォルトのIAMグループ、デフォルトのIAMロールは削除できません。
また、契約代表ユーザーは、デフォルトIAMグループから外れることはできません。
6.5. 権限の判定¶
1ユーザーが複数の権限設定に紐付く場合は、以下の判定方法にもとづき、権限を判定します。
注釈
API権限管理による権限設定は、ユーザー種別による権限(管理ユーザー、または一般ユーザー)と、ワークスペースアクセス権による権限と合わせて評価されます。 たとえば、ワークスペース作成の操作は管理ユーザー権限が必要なため、一般ユーザーに対してAPI権限管理機能で権限を付与したとしても実行できません。また、ワークスペースアクセス権を持たないワークスペース内のテナントに属するリソースに対する操作も、設定は可能ですが実行はできません。 ユーザー種別については「ユーザー管理」を、ワークスペースアクセス権については「ワークスペース管理」の章をご参照ください。
1.IAMロールが複数の権限定義で構成される場合 → パーミッション A or B
以下の例では、このグループに紐付くユーザーは、「 サーバーインスタンスの作成(POST)、または編集(PUT)が可能」という設定となります。
2.ユーザーが1つのIAMグループに属し、IAMグループが複数のIAMロールで定義される場合 → パーミッション A and B
以下の例では、IAM Role #2-1で指定した権限を実行可能ですが、IAM Role #2-2によって、「テナントIDが”1234567890”の場合」という条件をAND条件で設定できます。
3.ユーザーが複数のIAMグループに属する場合 → パーミッション A or B
以下の例では、IAM Group #1で契約全体に対して読み取り専用の権限を付与した上で、Group #2によってテナントID 1234567890に属するサーバーインスタンスの作成と編集を許可する設定となります。
6.6. ご利用条件¶
・本機能は管理ユーザーのみ設定でき、一般ユーザーの権限では設定はできません。
・本機能で管理ユーザーしか実行できない機能の実行権限を一般ユーザーへ付与はできません。
・IAMロールとして制御可能な内容は、APIリクエストの実行権限であり、APIリクエストの実行結果(レスポンス)を制限はできません。
・以下のメニューについては、本機能をご利用いただけません。
セキュリティメニュー(Managed Anti-Virus、Managed Virtual Patch、Managed Host-based Security Package、Managed Firewall、Managed UTM、Managed WAF)
ミドルウェア/ライセンスのメニュー
・セキュリティ関連のメニューについては、ユーザー単位でGUI上でのメニューの表示/非表示を制御できます。初期設定(デフォルト)は表示となります。
・DNSではIAMロールでのゾーン/レコード毎の操作権限の設定は不可となります。
注釈
詳細な設定方法は API権限管理機能のご利用方法 をご確認ください。