説明
Azure のリソースロックは、レジストリに対する管理操作を制限します。CanNotDelete は削除を、ReadOnly は削除と変更を制限します。上位のリソースグループやサブスクリプションのロックも継承されます。
レジストリのリソースロックは、イメージの作成、上書き、削除を防ぎません。イメージは別途、イメージの属性とアクセス権限で保護してください。
想定される影響
必要なロックがないと、管理権限を持つ利用者の誤操作でレジストリが削除されたり設定が変更されたりして、イメージの取得やデプロイが中断する可能性があります。
対処方法
レジストリと上位スコープのロックを確認し、運用に必要なレベルを選んでください。Ansible では can_not_delete が削除防止、read_only が読み取り専用のロックです。グループ全体の読み取り専用ロックは、ほかのリソースの更新も制限するため、適用範囲を確認してください。
例
既存の myResourceGroup にレジストリを作成し、グループ単位のロックを追加する例です。レジストリ名はグローバルに一意である必要があります。
変更前
yaml
- name: Create an azure container registry
azure_rm_containerregistry:
name: myRegistry
location: eastus
resource_group: myResourceGroup
admin_user_enabled: true
sku: Premium
レジストリを作成する設定に、リソースロックは含まれていません。
変更後
yaml
- name: Create an azure container registry
azure_rm_containerregistry:
name: myRegistry
location: eastus
resource_group: myResourceGroup
admin_user_enabled: true
sku: Premium
- name: Create a lock for a resource group
azure_rm_lock:
resource_group: myResourceGroup
name: myLock
level: read_only
リソースグループに読み取り専用のロックを追加します。レジストリとグループ内のほかのリソースの管理操作が制限され、イメージの操作は別の権限で管理します。