皆さんこんにちは。最近夢の中でもSR対応しているid:k-furusawa--gです。
今回は少し毛色を変えてOCIでAPIを扱う際に何かと必要になるID類を確認する方法をご紹介したいと思います。なぜに急にこんなことを記事にしようと思ったかといえば、チーム内からも「ドキュメントに〇〇IDってあるんだけどこのIDなに?」という質問があり、答えるのが面倒くさくなってきたからです!(正直)
あと自分用のメモにもなるからです(忘れっぽい)。
【2019/09/10 Update】
2019/09/09にOCIとOCI Classicの画面がリニューアルされました! それに伴い画面が一部変更になったため、記事も一部分書き換えました。
本記事の目次
OCI
まずOCIの各IDからです。ドキュメントではOCID
と書かれているやつですね。これは比較的簡単ですので、さらっと書かせていただきます。
TenancyOCID
テナントのOCIDです。
OCIの管理
からテナント詳細
を選びます。
テナント画面が開いたらOCID
があります。
UserOCID
ユーザ個別のOCIDです。フェデレーションをしているしていない関係なく、OCI上にユーザーを作成すると割り振られます。
OCIのアイデンティティ
からユーザー
を選びます。
ユーザー一覧にOCID
があります。
Fingerprint
IDとは違いますがAPIを扱う際に使うAPIKeyのFingerprintです。APIKeyを設定したことがあれば分かりますね。
UserOCIDと同じユーザー
一覧を開いたら、該当するユーザーを選択し詳細を開きます。開いた詳細画面の下にAPIキー
の表示があります。
HomeRegion
求められることは少ないですが、リージョンのサブスクライブ済みかどうかに関係なく選択可能なリージョンが欲しい場合、ホームリージョンを知っておくとよいでしょう。
サブスクライブ済みではないリージョンを使ってAPIなどをリクエストしてしまうと404エラーなどに遭遇するので、知っておくとAPIやCLIを利用する際に役立つと思います。
2019/09/09に行われたリニューアルで、ホームリージョンはリージョンプルダウンからすぐに確認できるようになりました。
今まで通り、管理画面から確認することもできます。
画面上部のリージョンをクリックします。サブスクライブ済みリージョンの一覧が表示されるので、その一番下のリージョンの管理
を選択します。
リージョン一覧が表示されます。ホームリージョン
と書かれたものがありますね。この画面でサブスクライブ設定することもできます。
OCI MyService
OCIにはMyServiceダッシュボードというもう一つの画面が存在し、OCI-Classicのサービスなどにもアクセスできます。このOCI-ClassicサービスのAPIを扱う際に必要になるID類が非常に分かりにくく、ここで躓く人も多いと思います。
ただ分かりにくいだけならまだいいのですが、ドキュメントによって名称が変わっていたりして、余計に煩雑さに拍車をかけています。
MyServiceコンソールへ移動する
まずはMyServiceコンソールへ移動しましょう。MyServiceコンソールへの入り口はOCIのGUIが更新されるたびに場所が変わるのですが、2019/09/09の更新では以下の方法で移動できます。
-
OCIの上部にあるユーザーアイコンをクリックしてプルダウンメニューを出す。
-
プルダウンメニュー内の
サービス・ユーザー・コンソール
をクリック
AccountId
まず簡単なやつから。OCIを契約したアカウントに割り振られるIDです。cacct-XXXX
という表記のやつです。
OCIコンソールから確認できてもよさそうですが、MyServiceコンソールからしか確認できません。なぜでしょうね。
一番手っ取り早い確認方法はURLです。MyServiceダッシュボードのURLのホストの一部分が実はAccountIdです。
もう一つの方法としては、サービス画面から確認するやり方です。
MyServiceのダッシュボード画面にタイルで並んでいるのがサービスです。
タイルがない場合はまだサービスを利用していない状態です。そういう場合は、画面上部にある歯車アイコンをクリックしてサービスをShowしましょう。
たくさんサービスが出てくると思いますが、おすすめはCompute
です。
サービス画面を開くとOrverview Infomation
にCloud Account Id
があります。これがAccountIdです。
Identity Service Id
次に名称が安定しないIdentity Service Id
です。idcs-XXXX
という表記のやつです。
ドキュメントによってIdentityDomain
IdentityId
myDomain
といった具合にはっきりしないのですが、オラクルサポートで問い合わせたところ、本名はIdentity Service Id
だそうです。ここでもそう呼ぶことにしました。Domainっていうからドメイン名かと勘違いした人も多いのではないでしょうか? 私がそうです!
ちなみにidcsとは「Identity Cloud Service」の略だそうです。
AccountIdで開いたサービス画面のAdditional Infomation
にさりげなく記載されています。ただし、サービスによっては表示されないのでご注意ください。Computeサービスなら確実に表示されます。
もう一つ確認方法があります。Identity Cloud Serviceの画面へ行くことです。正直、遠回りでしかないのでおすすめしないのですが一応書こうと思います。
道は複数ありますが、手っ取り早いのはUsers
を選択する道です。
上部にIdentity Console
というボタンがあるので、これを押します。
Identity Cloud Serviceという画面に飛ぶので、ここのURLを確認します。ホスト部分がIdentity Service Id
になっていますね!
おしまいに
いかがだったでしょうか? 数は多くないのにやたらと手順を踏まなくてはいけないので複雑に見えますね。特にAccountId
とIdentity Service Id
は確認用の画面というものが用意されていないのでよほど触っていないと気づけないのではないでしょうか?
これだけ分かればとりあえずAPIを打つに支障はないと思います。ほかにも「こんなIDあるんだけどどこ?」などの意見があれば書き足していきたいと思います。