ポリシーの例
次の例を使用して、様々なアプリケーション依存性管理リソースのIAMポリシーの作成について学習します。
IAMコンポーネント(動的グループやポリシー・ステートメントなど)を追加した後は、関連付けられたタスクをすぐに実行しないでください。新しいIAMポリシーを有効にするには、約5分から10分かかります。
ナレッジ・ベース
グループ内のユーザーがナレッジ・ベースを作成、更新または削除できるようにするポリシーを作成します:
Allow group <group-name> to manage adm-knowledge-bases in compartment <compartment_name>
脆弱性監査
ユーザーが特定のコンパートメントのナレッジ・ベースを使用できるようにするポリシーを作成し、そのコンパートメントの脆弱性監査を作成、更新または削除します:
Allow group <group-name> to use adm-knowledge-bases in compartment <compartment_name>
Allow group <group-name> to manage adm-vulnerability-audits in compartment <compartment_name>
修正
修正を正しく実行するには、動的グループを作成する必要があります。一致ルールは、動的グループに属するリソースを定義します。
ALL {resource.type = 'admremediationrecipe', resource.compartment.id = 'compartmentOCID'}
adm-admin
グループのメンバーに、修正レシピ、修正実行、修正実行ステージ、脆弱性監査、推奨事項および作業リクエスト・リソースを管理(検査、読取り、作成、更新、開始、削除、移動)する権限を付与するポリシーを作成します:
Allow group adm-admin to manage adm-remediations-family in tenancy
adm-dev
グループのメンバーに、リソースのアクティビティ、アクティビティ実行、アクティビティ実行ステージ、修正レシピ、修正実行、修正実行ステージ、脆弱性監査および推奨を検査、読取りおよび使用する権限を付与するポリシーを作成します。これにより、メンバーはアクティビティの作成/削除/移動、アクティビティ実行の削除、脆弱性監査の削除、推奨事項の削除を実行できません。
Allow group adm-dev to use adm-family in tenancy
修正を実行するには、次のポリシーを作成します。動的グループに適切な名前を指定し、compartmentOCID
をコンパートメントのOCIDに置き換えます:
Allow dynamic-group created-adm-dynamic-group to inspect dhcp-options in compartment <compartmentOCID>
Allow dynamic-group created-adm-dynamic-group to { ADM_KNOWLEDGE_BASE_READ, ADM_VULNERABILITY_AUDIT_READ, ADM_VULNERABILITY_AUDIT_CREATE } in compartment <compartmentOCID>
Allow dynamic-group created-adm-dynamic-group to inspect subnets in compartment <compartmentOCID>
Allow service adm to use subnets in compartment <compartmentOCID>
Allow service adm to use vnics in compartment <compartmentOCID>
外部ソース・コード管理(SCM)を使用する場合は、次のポリシーを作成します。
Allow dynamic-group created-adm-dynamic-group to read secret-bundles in compartment <compartmentOCID>
OCI DevOps SCMを使用する場合は、次のポリシーを作成します(リポジトリ名を指定します)。
Allow dynamic-group created-adm-dynamic-group to { DEVOPS_REPOSITORY_READ } in compartment <compartmentOCID> where target.repository.name = 'repositoryName'
Allow dynamic-group created-adm-dynamic-group to { DEVOPS_PULL_REQUEST_UPDATE, DEVOPS_PULL_REQUEST_CREATE, DEVOPS_PULL_REQUEST_INSPECT, DEVOPS_PULL_REQUEST_READ } in compartment <compartmentOCID> where target.repository.name = 'repositoryName'
可用性ドメイン固有のサブネットを使用する場合は、次のポリシーを作成します:
Allow dynamic-group created-adm-dynamic-group to use subnets in compartment <compartmentOCID>
Allow dynamic-group created-adm-dynamic-group to {COMPARTMENT_INSPECT} in compartment <compartmentOCID>
OCI Devopsビルド・パイプラインを使用する場合は、次の動的グループおよびポリシーを作成します:
ALL {resource.type = 'devopsbuildpipeline', resource.compartment.id = 'compartmentOCID'}
Allow dynamic-group devops-build-dynamic-group to { DEVOPS_BUILD_RUN_READ, DEVOPS_BUILD_RUN_CREATE } in compartment <compartmentOCID>