Azure: Azure RBAC を Azure Portal で行う場合の注意点：日本語翻訳の表記揺れ、コントロール＆データプレーンが混合

# 背景

会社で、Key Vault で証明書が作成出来ない、閲覧すらできない！って話があったので調べてみた記録。

基本は、Key Vault の RBAC に関しての説明

# 当初の問題

- key valut の割り当て Role にそれっぽいものがなく、それぞれ割り当てても、閲覧までは行けたが、作成が出来ない。
![2024-09-08_11h03_06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1645569/1ea89c04-033f-aa59-2a0f-abb545a09e55.png)

## 原因

- Portal 上で、RBAC の Role 名表記での日本語訳統一がされていない為、見つけられていなかった。    

以下は、Portal上での Role名を「key」「キー」で検索した結果（左側）と、ドキュメント上のデータプレーンの Role を比較したもの。

- 分かること
    - Portal 上ではコントロールプレーンかデータプレーン化を見極めるのは簡単ではない。
    - 一度の検索で関連 Role を表示する方法は簡単ではない。  

![2024-09-08_11h03_21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1645569/ddd13813-6de0-609d-e17c-15f1722802c2.png)


## 対策1: Azure CLI などで実施する

- assign role の例
    - "Key Vault Secrets Officer"
    - "Key Vault Certificates Officer" 

- assignee-upn の取得例
    > az account show --query user.name

- role 割り当て例 
> az role assignment create --role {assign role} --assignee {assignee-upn} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}

:::note 
- 実行したい subscription を確認して、切り替えておくこと

> az account list -o table
> az account set -s {SubscriptionId}
:::

## 対策2: Portal で、id 検索する

- "Key Vault Certificates Officer" なら、以下のように <code>a4417e6f-fecd-4de8-b567-7b0420556985</code>
![2024-09-08_11h09_32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1645569/78022d52-2d10-f6a5-d25b-9776638e7dfd.png)


## ドキュメント

https://learn.microsoft.com/ja-jp/azure/key-vault/general/rbac-guide?tabs=azure-cli#azure-built-in-roles-for-key-vault-data-plane-operations


# RBACの Role 名の検索結果比較

- 日本語に訳そうとするあまり、統一されてないと分かりづらくなるっていうよくあるやつ

## 検索キーワード比較：「key」「キー」で表記揺れが残っている

- 「key」で

![2024-09-08_11h03_06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1645569/1ea89c04-033f-aa59-2a0f-abb545a09e55.png)

- 「キー」で

![2024-09-08_11h03_21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1645569/d8151dd8-635c-d47f-c1ac-239ebf6bf169.png)

- Key Vault Certificates Officer を「id」で
![2024-09-08_11h09_32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1645569/78022d52-2d10-f6a5-d25b-9776638e7dfd.png)


![2024-09-08_11h03_53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1645569/19e44fe3-d7d1-f8f4-b4cb-3950740c0b7a.png)

- Key Vault Certificate User を「id」で
![2024-09-08_11h07_58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1645569/9e2b0b39-7c2f-f84e-8d19-2722da823eea.png)

![2024-09-08_11h05_22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1645569/505d8f6b-222f-d7f9-ea38-9fe73569e113.png)

# error 記録

ついでに

## この操作は RBAC で許可されていません。ロールの割り当てが最近変更された場合は、ロールの割り当てが有効になるまで数分お待ちください。

- 単純に、Role 不足![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120072/bcf27b63-31b4-6b41-c972-c0d8f40694de.png)

## Property policy.x509_props has invalid value. Invalid X.500 distinguished name

- 設定ミス
   > "CN=example.com, O=Example Inc., L=City, S=State, C=Country"
   こんな感じで正しいものを入れればOK

   

# あとがき

まぁ、Portal 上って試作とかの段階でサクッと出来ることが目的だろうから、しゃーないとも思う。ただ、いっそ、原文と翻訳に分けて表示、もしくは切り替えられた方が・・とも。英語版に全部しちゃえって話もありますが・・ :p