😇

Organization内の他人が発行したOpenAI APIキーを失効させる方法 〜OpenAIへの問合せ時の教訓を添えて〜

2023/09/03に公開

TL;DR

失効させたいAPIキーの発行ユーザーを、Organizationのメンバー管理画面からRemoveすればよい。

背景

2023年9月現在、アイデミーでは単一のOpenAI Organizationで、部署横断的にユーザーを管理しています。全社員がAPIを使うわけではないので、利用申告があった社員のみ、Owner権限を持った社員が都度判断(利用用途、期間、請求周りの仕様理解があるか等)しつつ、OrganizationにReaderとして招待する運用をとっています。

今年の某月、社内業務でOpenAI APIを利用していた社員が退職しました。その社員は、自身で発行したAPIキー[1]を使ってAPIを叩いていました。

ここで、退職前に気を回して、該当社員に「APIキー削除しておいてね」と伝えていればよかったのですが、考慮が漏れており、APIキーが残ったままになっていることに気づいたのは退職後でした。

そこで、私が「APIの利用を停止させるボタン」的なものを探して、OpenAIのOrganizationの画面をポチポチしていたのですが、そんなものはどうやらない模様
また、仮説として「Organizationから該当社員を外せば解決するはず」とは思っていたものの、それで対応不十分な場合、すなわちAPIキーがそのまま使い回せてしまう場合が怖いなと考え、OpenAIのオフィシャルな見解の収集を始めました。

やったこと

Help CenterでFAQが公開されていないかの確認

https://help.openai.com/en/collections/3675931-openai-api

Account Management やら Security and API Key Safety やらのページに書いてないかな?と思って見てみましたが、なさそうでした。ニーズとしてはありそうなのに不思議。

チャットでの問い合わせ

OpenAIのWebページの画面右上部"Help"をクリックすると、よくありがちなチャットのウィンドウが開きます。ということで、ここからChatBot君を介してチャットで問い合わせてみました[2]

1stラリー


日本語には対応してない気がするので英語で投げた。いま見返すとだいぶ雑

問い合わせを投げたのが6月5日。そして返信がきたのが・・・

\ 7月26日 /

その間、約1月半。天下のOpenAI社です。ある程度時間がかかることは見越していましたが、想像以上でした。
そして返ってきたお返事はこちら↓

(DeepL翻訳)

OpenAIのサポートにご連絡いただきありがとうございます。
まず、お返事が遅くなり大変申し訳ありません。OpenAIは急速に規模を拡大しており、お客様のようなお客様からの関心と働きかけに追いつくために懸命に取り組んでいます。私たちはより迅速な対応に努め、より早くお返事できるよう改善に取り組んでいます。
他人が作成したAPIキーを削除したいとのことですが。
APIキーの管理と削除はこちらをクリックしてください。
APIキーを保護する方法については、APIキーの安全性に関するベストプラクティスをご覧ください。
お役に立てれば幸いです!その他ご質問やご不明な点がございましたら、お気軽にお問い合わせください。

・・・お分かりいただけたでしょうか?はい、求めているのとは違う回答が返ってきてしまいました。

何より困ったのが、この回答をもって問い合わせをOpenAI側からオートクローズされてしまったのです。つまり、追加問い合わせをしたくても、それは新規起票扱いになる = また同程度のリードタイムを要するということ。

2ndラリー

やむをえず、もう少し状況と要望を詳細に説明した問い合わせを新規起票しました。

問い合わせ本文
Hello. I received an answer to my question from Niro today.
> We understand that you would like to delete API keys created by others.
> You can manage and delete your API keys by clicking here<https://platform.openai.com/account/api-keys>.
But it does not help me. I am aware that the only API keys that can be managed with the URL you provided are those that I have created myself (for my use).
What I want to do is to delete API keys created by users who are not me in the same Organization. To supplement, the reason why I want to delete the key created by other user is the user has already retired and I don't know his login information.
Thank you for your kind cooperation.
Best regards,

これを投げたのが、最初の返答が来た同日の7月26日。そして返信がきたのが・・・

\ 9月3日 /

安定の1月半。ですが、もう慣れっこです。

返ってきたお返事
Hello,

Thank you for reaching out to OpenAI support.
First off, we're very sorry for the delay in getting back to you. As we've scaled quickly, we have been working hard to catch up with all the interest and outreach from customers like you. We strive for much faster response times and are working on improvements to get back faster.
We are providing an update on an open ticket concerning your inquiry on how to delete the API keys generated and used by members of your organization.
We sincerely apologize if your inquiry was not addressed at that time. Please note that there is no option to delete an API key after it has been generated. Instead, members have the option to generate a new key whenever necessary, and this action automatically terminates the previous API key.
To accommodate your request, we recommend removing the member from the organization. This removal will result in complete revocation of access to your organization for any removed member. You may remove members of your organization by clicking here.
Hope this helps! If you need any further assistance, please let us know.
Best,
Shirley
OpenAI Support

(DeepL翻訳から要点抜粋)

APIキーを生成した後に削除するオプションはございません。その代わりに、メンバーは必要なときにいつでも新しいキーを生成するオプションを持っており、このアクションは自動的に以前のAPIキーを終了します。
リクエストに対応するため、そのメンバーを組織から削除することをお勧めします。この削除により、削除されたメンバーの組織へのアクセス権は完全に失効します。

上記回答後、前回同様に本問い合わせはオートクローズされていました。

さいごに

問い合わせから3ヶ月後、晴れてTL;DRの内容が、OpenAI公式の見解として得られたわけでした。今回の一連の対応から得られた教訓は、メタ的になりますが

  • OpenAIに直接問い合わせて、それが解決するのは1月半以上先だと思え
  • ラリーに期待するな。最初から聞きたいこと全部、丁寧な説明も添えて聞け

というところでしょうか。

最後までお読みいただきありがとうございました!

脚注
  1. OpenAI社のベストプラクティスに従って、ユーザー単位でAPIキーを分けています。 ↩︎

  2. この記事書くためにスクショ撮っている最中に気づいたのですが、Developer Forumがあるので、こちらにも並行して質問投げてもよかったかもしれない ↩︎

Aidemy Tech Blog

Discussion