0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

リソースプロバイダーを登録済みだが、「このサブスクリプションのCDNリソースプロバイダーを登録できません。」と表示される

Posted at

Azureのリソースプロバイダーは、対象のリソースプロバイダーが登録済みであればリソース作成可能と思っていましたが、必ずしもそうではないようです。

ぶつかった問題

以下のカスタムロールを付与したユーザーでAzure CDNを有効にしたApp Serviceを作成しようとすると、「このサブスクリプションのCDNリソースプロバイダーを登録できません。」とエラーが表示され、作成できない。

付与したカスタムロール

  • ロール:共同作成者
  • スコープ:リソースグループ

image.png

image.png

なお、対象のサブスクリプションのリソースプロバイダー「Microsoft.cdn」は登録済み。

image.png

解決方法

以下のカスタムロールを作成し、操作対象のユーザーに権限を付与する。

  • 許可するアクション:CDNのリソースプロバイダーの登録
  • スコープ:サブスクリプション

CDNのリソースプロバイダーの登録のみを許可したカスタムロール

CDNregister.json
{
    "properties": {
        "roleName": "CDN_register",
        "description": "CDNのリソースプロバイダー登録のみ許可するロール",
        "assignableScopes": [
            "/subscriptions/<サブスクリプションのID>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.Cdn/register/action"
                ],
                "notActions": [],
                "dataActions": [],
                "notDataActions": []
            }
        ]
    }
}

付与後、改めて作成してみると、先ほどのエラーが消えて作成できるようになりました。
image.png

まとめ

リソースプロバイダーはサブスクリプション単位で設定が行われるため、リソースグループがスコープの権限をユーザーに与えても、リソースプロバイダーの操作には関与できない。

image.png

そのため、ユーザーにサブスクリプションをスコープにした「Microsoft.cdn」の登録権限を付与する必要がある。

とはいえ、登録だけしておけば権限を与えなくても使えるリソースプロバイダーもあるし「Microsoft.cdn」は例外??リソースプロバイダの現在の登録状態に関わらず、一度状態を確認しに行く仕様なのかしら??

難しいですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?