コンテナ・インスタンスのIAMポリシー
このトピックでは、Oracle Cloud Infrastructure Container Instancesへのアクセスを制御するポリシーの作成の詳細を説明します。
IAMの詳細は、IAMの概要を参照してください。
リソースタイプ
個々のリソース・タイプ
compute-container-instances
compute-containers
集約リソース・タイプ
compute-container-family
コメント
<verb> compute-container-familyを使用するポリシーは、個々のリソース・タイプごとに個別の<verb> <individual resource-type>ステートメントを使用して記述することと同じです。
サポートされている変数
コンテナ・インスタンスIAMポリシーでは、すべての一般的なポリシー変数がサポートされます。すべてのリクエストの一般的な変数を参照してください。
動詞+リソース・タイプの組合せの詳細
次の表は、各動詞でカバーされる権限およびAPI操作を示しています。アクセス・レベルは、inspect > read > use > manageの順に累積します。表のセルのプラス記号(+)は、そのすぐ上のセルと比較して増分アクセスを示しますが、「追加なし」は増分アクセスを示しません。
たとえば、vcnsリソース・タイプのreadおよびuse動詞は、inspect動詞と比較して追加の権限またはAPI操作には対応しません。ただし、manage動詞には、いくつか追加の権限とAPI操作が含まれています。
compute-container-familyリソース・タイプの場合
次の表に、compute-container-familyに含まれる個々のリソース・タイプで処理される権限およびAPI操作を示します。
| Verb | サイトの許可設定 | 完全にカバーされるAPI | 一部カバーされるAPI |
|---|---|---|---|
| 検査する |
COMPUTE_CONTAINER_INSTANCE_INSPECT |
ListContainerInstanceShapes ListContainerInstances ListWorkRequests ListWorkRequestErrors ListWorkRequestLogs |
なし |
| 読む |
検査+ COMPUTE_CONTAINER_INSTANCE_READ |
GetWorkRequest |
GetContainerInstance ( |
| 用いる |
読取り+ COMPUTE_CONTAINER_INSTANCE_UPDATE COMPUTE_CONTAINER_INSTANCE_START COMPUTE_CONTAINER_INSTANCE_STOP COMPUTE_CONTAINER_INSTANCE_RESTART |
UpdateContainerInstance StartContainerInstance StopContainerInstance RestartContainerInstance |
余分なし |
| 管理 |
使用+ COMPUTE_CONTAINER_INSTANCE_CREATE COMPUTE_CONTAINER_INSTANCE_DELETE COMPUTE_CONTAINER_INSTANCE_MOVE |
ChangeContainerInstanceCompartment |
CreateContainerInstance ( DeleteContainerInstance ( |
| Verb | サイトの許可設定 | 完全にカバーされるAPI | 一部カバーされるAPI |
|---|---|---|---|
| 検査する |
COMPUTE_CONTAINER_INSPECT |
ListContainers |
GetContainerInstance ( |
| 読む |
検査+ COMPUTE_CONTAINER_READ |
GetContainer |
余分なし |
| 用いる |
読取り+ COMPUTE_CONTAINER_UPDATE COMPUTE_CONTAINER_LOG_RETRIEVE |
UpdateContainer RetrieveLogs |
余分なし |
| 管理 |
使用+ COMPUTE_CONTAINER_CREATE COMPUTE_CONTAINER_DELETE |
余分なし |
CreateContainerInstance ( DeleteContainerInstance ( |
API操作ごとに必要な権限
次の表に、リソース・タイプ別にグループ化されたAPI操作を示します。リソース・タイプは、アルファベット順にリストされます。
権限の詳細は、権限を参照してください。
| API操作 | 操作の使用に必要な権限 |
|---|---|
| GetContainer | COMPUTE_CONTAINER_READ |
| ListContainers | COMPUTE_CONTAINER_INSPECT |
| RetrieveLogs | COMPUTE_CONTAINER_LOG_RETRIEVE |
| UpdateContainer | COMPUTE_CONTAINER_UPDATE |
| CreateContainerInstance | COMPUTE_CONTAINER_INSTANCE_CREATE、VNIC_CREATE、SUBNET_USEおよびCOMPUTE_CONTAINER_CREATE |
| GetContainerInstance | COMPUTE_CONTAINER_INSTANCE_READおよびCOMPUTE_CONTAINER_INSPECT |
| ListContainerInstances | COMPUTE_CONTAINER_INSTANCE_INSPECT |
| ListContainerInstanceShapes | COMPUTE_CONTAINER_INSTANCE_INSPECT |
| UpdateContainerInstance | COMPUTE_CONTAINER_INSTANCE_UPDATE |
| StartContainerInstance | COMPUTE_CONTAINER_INSTANCE_START |
| StopContainerInstance | COMPUTE_CONTAINER_INSTANCE_STOP |
| RestartContainerInstance | COMPUTE_CONTAINER_INSTANCE_RESTART |
| ChangeContainerInstanceCompartment | COMPUTE_CONTAINER_INSTANCE_MOVE |
| DeleteContainerInstance | COMPUTE_CONTAINER_INSTANCE_DELETE、VNIC_DELETE、SUBNET_USEおよびCOMPUTE_CONTAINER_DELETE |
| GetWorkRequest | COMPUTE_CONTAINER_INSTANCE_READ |
| ListWorkRequestLogs | COMPUTE_CONTAINER_INSTANCE_INSPECT |
| ListWorkRequestErrors | COMPUTE_CONTAINER_INSTANCE_INSPECT |
| ListWorkRequests | COMPUTE_CONTAINER_INSTANCE_INSPECT |
ポリシーの例
ユーザーがコンテナ・インスタンスを作成できるようにします
アクセス・タイプ:ユーザーが<container-instance-compartment-name>コンパートメントにコンテナ・インスタンスを作成し、<subnet-compartment-name>コンパートメントにサブネットを使用できるようにします。
ポリシーを作成する場所:このポリシーをテナントに配置する方法が最も簡単です。各コンパートメントの管理者が、コンパートメントの個々のポリシー・ステートメントを制御するには、ポリシー・アタッチメントを参照してください。
Allow group ContainerInstanceLaunchers to manage compute-container-family in compartment <container-instance-compartment-name>
Allow group ContainerInstanceLaunchers to use virtual-network-family in compartment <subnet-compartment-name>
Allow group ContainerInstanceLaunchers to read repos in tenancyユーザーが新しいクラウド・ネットワークおよびサブネットを作成できるようにするには、ネットワーク管理者にクラウド・ネットワークの管理を許可するを参照してください。
コンテナ・インスタンスがコンテナ・レジストリからイメージをプルできるようにします
アクセス・タイプ:コンテナ・インスタンス・サービスで、コンテナ・レジストリのプライベート・リポジトリからイメージを読み取ることができます。
ポリシーを作成する場所:このポリシーをテナントに配置する方法が最も簡単です。
- リソース・タイプとしてコンテナ・インスタンスを使用して動的グループを作成します。次の構文でルールを追加します。
ALL {resource.type='computecontainerinstance', resource.compartment.id = '<container-instance-compartment-ocid>'} -
次のポリシーを記述して、動的グループにアクセスします:
Allow dynamic-group ContainerInstanceDynamicGroup to read repos in compartment <container-registry-repo-compartment-name>
コンソールを使用したコンテナ・イメージの選択
アクセス・タイプ:コンソールでコンテナ・インスタンスを作成するときに、コンテナ・イメージを選択できます。コンテナ・イメージの正しいアドレスを生成するには、このポリシーを追加してオブジェクト・ストレージ・ネームスペースを読み取る必要があります。
ポリシーを作成する場所:このポリシーをテナンシに配置する方法が最も簡単です。
Allow group ContainerInstanceLaunchers to read objectstorage-namespaces in tenancy