このエントリは2020/12/03現在の情報に基づいています。将来の機能追加・変更により、記載内容との乖離が発生する可能性があります。
Azure API Managementについて、以下のような問い合わせがあった。
Azure API Management (以後、APIM)の開発者ポータルにアクセスできるユーザーに対し、APIの可視・不可視をコントロールできるか?
これ、他社製品ならできて当然の機能なのだが、果たしてどうなのか。
こたえ
当然できる。ただ、少々面倒。
確認してみる
利用環境
開発者ポータルが利用可能なTierを選択する。選択できるのは、Premium、Standard、Basic、Developerの4種類のうちいずれか。今回はPremiumを使用した。
ユーザーの追加
ユーザーはAzure ADやAzure AD B2C、FacebookなどのSocial Mediaのアカウントを使うとより実践的ではあるが、今回は開発者ポータル>ユーザー(英語ではUsers、Identitiesではないやつ)を使ってユーザーを追加した。別途IdPを設定しているなら、IdPに登録されているユーザーを利用することもできる。

グループの追加
これは開発者ポータルのためのグループであり、IdPのグループやロールとは関係なく、そのグループやロールを利用することもできない。今回はGrp1〜Grp3を作成した。Administrators、Developers、Guestsはデフォルトで入っているグループであり、今回は利用しない。

製品の追加
製品(Product)とはAPIを束ねたサブスクリプション単位のこと。今回はProd-A〜Prod-Cを作成する。

各製品にて、APIとグループを紐付ける。今回は以下のようにした。
ユーザー | グループ | API | 製品 |
---|---|---|---|
江草ロジ子 | Grp1 | Demo Conference API | Prod-A |
江草でー太 | Grp2 | Demo Conference API2 | Prod-B |
Exa Ritsuko | Grp3 | Echo API | Prod-C |
開発者ポータルにログイン
ここまでの設定で、ログインするユーザーによって見えるAPIが違うはず。それを確認する。まず、匿名ユーザーでログイン。APIは匿名ユーザーには割り当てていないので、当然ながら見えない。

続いてロジ子でログイン。Demo Conference APIだけが表示されている。

続いて、でー太でログイン。Demo Conference API2だけが表示されている。

最後にRitsukoでログイン。Echo APIのみが見えていることがわかる。

おまけ
以前Tweetしたが、東西日本リージョンでConsumption Tierを選択できるようになっている。診断ログは取得できないが、メトリックは監視できるので、用法用量を守って正しくお使いいただきたい。