ユーザと権限¶
どのユーザ権限が IoT Platform で定義されていますか?¶
IoT Platform には、サービスとサブサービスが定義されています。サブサービスはサービスに存在します。通常、サービスはスマートシティを表し、すべてのサブサービスはそのスマートシティのバーティカルを表します。詳細は、マルチテナンシーを参照してください。
ユーザはサービスの中に作成されます。同じユーザ名を異なるサービス間で使用して、異なるユーザを表すことができます。すなわち、"adm1" ユーザは "smartcity" サービスに存在し、"adm1" は "smartgondor" サービスの別のユーザであり得ます。
ロールはサービスに作成されます。デフォルトでは、IoT Platform に作成されたすべてのサービスは、以下のロールで作成されます :
- ServiceCustomer : サービスの通常のユーザのロールです。サービス内のすべてのオブジェクトに対する標準的な読み取り/書き込み権限を持ちますが、サブサービスでは使用できません
- SubServiceCustome : サブサービス内の通常のユーザのロールです。サブサービス内のすべてのオブジェクトに対して標準の読み取り/書き込みアクセス権がありますが、サービスでは使用できません
- SubServiceAdmin : サブサービス内の管理者ユーザのロールです。サブサービスではすべての機能が利用できますが、サービスでは使用できません
すべてのサービスに共通のロールがあります :
- Admin : サービスの全機能を持つ管理者で、サブサービスにはない管理者です
ユーザはサービスまたはサブサービス内にロールの割り当てを受け取ります。権限は、ユーザがサービスまたはサブサービス内に持つ役割によって決定されます。IoT Platform コンポーネントに応じて、ユーザの権限は、何らかのアクションを実行するかどうかを意味します。
ユーザ | ロール | サービス\サブサービス |
---|---|---|
adm1 | admin | smartcity |
adm1 | SubServiceAdmin | smartcity\* |
Alice | SubServiceAdmin | smartgondor\palaces |
bob | SubServiceCustomer | smartcity\electricity |
bob | SubServiceAdmin | smartcity\gardens |
詳細な情報では、サービス内の各役割は、各IoT Platform コンポーネントのポリシーによって定義されます:
- IoT Platform ポリシー
- Orion コンポーネント アクション
- Perseo コンポーネント アクション
- Keypass コンポーネント アクション
- Rest API ベースのコンポーネント (STH, IOTA) アクション
IoT Platform のアイデンティティ管理は OpenStack Keystone に基づいているため、以下の表は関係する概念間の関係を表しています :
IoT Platform | Keystone |
---|---|
Service | Domain |
SubService | Project |
User | User |
Role | Role |
特定のユーザの権限を変更することはできますか?¶
特定のユーザの権限を変更する一般的な方法は、ロールを割り当てるまたは割り当て解除することです。ユーザは、特定のサービスまたはサブサービスのadmin, ServiceCustomer, SubServiceAdminおよびSubServiceCustomer のロールに割り当てることができます。これは、IoT Portal と IoT Orchestrator を使用して行うことができます。
特別な権限を持つユーザを作成するにはどうすればよいですか?¶
特別な権限を持つ新しいユーザを作成するには、次の手順を実行する必要があります :
-
新しいユーザを作成します。Orchestrator 新しいユーザを作成する方法
-
新しい役割を作成します。Orchestrator 新しい役割を作成する方法
-
これらのいずれかと同様に、新しいカスタム XACML ポリシーを定義する
-
そのロールと必要な各 IoT Platform コンポーネントのXACMLポリシーを割り当てます。XACML ポリシーをロールに設定する
-
ロールをユーザに割り当てます。Orchestrator ユーザに役割を割り当てる