「Google Apps」を含む日記 RSS

はてなキーワード: Google Appsとは

2026-06-19

Google Apps Scriptいかもしれん。

2026-02-23

AI依存症

[B! AI] AIのやりすぎで頭がおかしくなっている - 運河

それはAI依存症だ。アルコールたばこと一緒。そして自分依存を感じている。

自分元増田との違いを挙げれば、彼が生粋エンジニアであり自らコーディングができる人であるのに対し、私はコーディング技術を身につけたいと願い、その作業に楽しさを感じてはいものの、職業としてプログラミングをする立場ではないということだ。

仕事としてはデザイン領域がメインであり、IT業界の端くれのような存在である。始まりBASIC社会人になって業務改善のためにPHPPerlコードを書いたり、ExcelマクロGoogle Apps Script作成Webサーバー立ち上げてPHPPythonスクリプト動かして周囲が使えるツールを作るなど、地味に「コーディングできるひと」のポジションではあった。

ある程度プログラミングができる人なら、プログラムを作ることで物事をつなげて、何かしらのアウトプットが得られる、という絵がかけるはず。プログラム書けば、この作業ものすごく効率的になるんじゃね? ここ繋げれば解決ちゃうんじゃね? こういうアプリがあればいいのにねー、的なアイデアを数多く持っていた。しかし、プログラミングに没頭するだけの余裕も機会も、そして十分なスキルも持ち合わせていなかった。この仕事たるいなー、効率悪いなー、でもこの問題解決できるほどのすばらしいコード書けるわけじゃないし、みたいな状況。コード書くわけじゃなく、タルい仕事を人力で解決してきた。

それが今や、AIに話しかければプログラムの断片を書いてくれるようになり、気がつけば空っぽフォルダ指定して「こういう機能が欲しい、仕様はこうだ」と想像したことを伝えるだけで、その機能をどのような技術実装できるかを検討し、本当に動くものが出来上がってしまう。かつての「ここはプログラム対応できるはずなのに、自分がそんなプログラムかけないし、プログラム書こうとして数日費やすよりも、人力で対応しなきゃだな...」という壁が、突然ポカンと消え去ったのだ。次々と目の前の問題解決されていくのは、快感しかない。

自分が「これは中毒だな」と確信したのは、AIへの課金が重なってきたタイミングだった。最初AIお金を払うべきかどうかの判断すら曖昧だったが、とにかく触れてみようということで、Notion AIを使い始めた。しかし、こちらはどう活用できるのかがピンとこず、自分スタイルにはフィットしなかった。

そうこうしている間にChatGPTが大流行。ChatGPTは深掘りすればするほど賢い答えを返してくる。ChatGPTはコードが書ける、というところまできて、実際にコードを書かせ始めたら、そこが沼の入口だった。

コード書かせ始めると、すぐに無料枠の利用上限が来てしまう。半日待て、と言われて、そんなもん待てるか、という欲求から課金が始まった。そしてコードの断片を書かせてエディタコピペするコーディングを楽しんできた。まだ自分が統率して自分能力コーディングをしている世界自分が介在しないと、コードはあってもそれを動かせる状況にならない。まだ自分王様である

次第に「コードコピペしてファイルを作り、コンソールに戻って実行する」という一連の作業が厄介に感じ始めていた。他の人ってこういうことやってるよね?と調べてみると、自分の使い方は1年前のそれだということがわかった。現在、世の中は「自律AI」だとかAIエージェントだとか、AIコードエディターとか、まったく別の次元に来ていた。例えば「在庫管理をしたい。項目はこれ、入力・閲覧・管理画面、そして月一度の棚卸し画面をすべて実装してほしい」と伝えるだけで、それらをまるっとウェブアプリとして実装してしまうのが今の状況だ。フォルダの中に情報を集約し、その中身をすべてAIに任せ、PCコマンド操作までAIに指示を出すというものだ。すると、AIフォルダ内で縦横無尽に動き回り、大量のファイルコードを生成して、必要構成をすべて作り上げてくれる。もはや初期に作っていたスクリプトとは規模が全く違う。

AIに関する最新情報自分で取りに行かないと、最近はどういう使い方ができるようになった、みたいなのを拾えないのも、AIの特徴。しばらくChatGPTにコード書かせて「AIすげー」ってなってたけど、それ以上をまったく知らず。この劇的な変化は、自分で触っていないとついていけなくなる。どうも、常に新しいものがでてきて、価値観バキバキと転換されている。そこに追従していっている人達がいる。なんだかすげえ、もっと知りたい、もっと使いこなしたい、使えている俺かっけー、おいていかれたくない、ふみとどまりたい、みたいな気持ち

新しいツールを見つけるととりあえず試し、よさそうだな、自分生活変わりそうだな、何か可能性を感じる、そんな兆しがあれば課金勢になる。具体的な中毒症状は「課金」という形で如実に表れている。AIに月2、3万円使っていると言えば、かつてのソーシャルゲームへの重課金と同じレベルの話だと、理解してもらえるのではないだろうか。

かつてインターネットにハマって電話代で死んだ人たちがテレホーダイで助かり、それでも世の中に浸透して常時接続があたりまえになったように、平等AIは使えるようになっていくだろう。ソシャゲ勢が阿鼻叫喚する中、ガチャ法律制限されたように、AI課金もそのうちピークを迎えて、制限されるようになるんじゃないかなあ。そして手ぐすね引いて待ち構える広告業界AI広告まじ怖いね

2025-08-17

Google Apps Script最近触ってみた

YouTube API簡単に使えるの楽しい

毎日19時頃に動画更新確認して、新しい動画があったら再生リストにぶっこむってスクリプトを書いたらクソ便利になった

毎週更新とか隔週更新動画は週1でチェックさせてる

2025-05-29

Googleさん、お願いします。

そろそろGoogle Apps ScriptにもGeminiを統合してください。

GASでサクッとAI使えたら、夢が広がるんですよ。

スプレッドシート分析とか、ドキュメント自動生成とか、Gmail自動返信とか、色々捗るじゃないですか。

もう、喉から手が出るほど欲しいんです。

マジで

期待して待ってますからね!

2025-01-21

ある精神障害者の末路

昨年の11月一般就労して3年経った。私は10代の頃に統合失調症と診断され、さらに30代半ばで知能検査を受けたところADHDグレーゾーンとの主治医判断から発達障害の薬も処方されている。

入社当初は週20時間パートで、徐々に勤務時間を増やし、昨年の2月から正社員になった。現在は42歳だが、常時フルタイムで働くのは初めて。一人暮らしのため家事もこな必要があるものの、いまのところ順調に生活できている。仕事終わりには平日でも出かけることがあり、休日も大抵は遊びに行くくらいだ。

業務内容は典型的オフィスワーク。苦手な分野(電話ほか)は障害者雇用ということで配慮してもらっている。昔からコンピュータには親しんでいるタイプで、Google Apps Script などプログラミングも多少は扱えるため自分一人で担当している業務も多い。ありがたいことだ。これほど真っ当に仕事ができたことは今までなかった。

しかし、最近では不満もいくつか出てきた。その一つは、業務が属人化しているのに誰もその状況を打開しようとしないこと。自分一人で担当している業務があるというのは、まさにそれ。各種業務マニュアルを整備する、各自の苦手分野を克服するために研修を開くよう訴えるなどしても現時点では何も変わっていない。

こうした訴えが気に入らないのは理解できる。障害者雇用で働いてる奴が偉そうな口をきくな、と思われても不思議ではない。人間関係も悪くはなかったとは思う(飲み会にもたびたび誘われていた)が、最近孤立気味だ。

結局のところ、私のような障害者の行く末は多数派である健常者の「お気持ち」によって左右されるのだ。健常者であっても合理的で首尾一貫している人物は稀で、不快な印象を与えた途端に手のひらを返される。効率を求めるはずの職場で、効率を上げるための訴えが通用しない不条理。これこそが障害者の末路だ。世間には「統合失調症患者発言支離滅裂」と言われ、必死努力を重ねてきた結果がこれ。やりきれない。

ちなみに、自分けが担当している業務のうちいくつかはマニュアルを作ったものフィードバックは無し。もしもマニュアルの出来が悪いならそう伝えれば良い、というよりそう伝える「べき」だろう。

まあ、孤立気味なのは別の理由がある可能性もある。誰かから事情を聞いたわけでもないので本当のところはわからないし、ただ被害妄想に陥っているのかも。今日11:00前に投げたSlackに対して終日返信が無かったのは事実で、たびたびこういうことはあるが。

ここに書いた内容にも「統合失調症患者妄想」だの色々と言われるだろう。”統合失調症患者発言であれば妄想である”という命題が成り立つのであれば証明してほしいところだが、多数派であるけが取り柄の健常者には難しいかもしれない。

2024-12-22

gmail大掃除と、自動処理の方法

簡単にすっきりさせて容量を減らす方法

検索式を書きますので、それで見つかったファイルを全て選択して、削除などのアクションをしてください。

細かな調整は各自のお好みで変更してください。

 

◆1年以上前ファイルサイズの大きなメール(300kB以上)を検索(星を付けたメールは除く)。削除しましょう。

older_than:1y larger:300k -is:starred

 

プロモーションソーシャルに分類された1か月以上前メール検索。削除しましょう

(category:promotions OR category:social) older_than:30d

 

◆受信トレイの180日以上前メール検索アーカイブして、受信トレイメール数を減らしましょう

label:inbox older_than:180d

 

プロモーションソーシャルに入ったメールで2日経ったもの検索既読しましょう。

label:inbox (category:promotions OR category:social) older_than:2d

 

これらの作業毎日自動で行ってもらう方法

Google Apps ScriptGAS)を使うとこれを毎日自動で行ってもらえます

 

chromeで以下のURLで新しいGASを作ります

https://script.new

 

文末のソースコードコピペする。

実行の左のアイコンで保存。関数をcleanUpGmailを選んで実行。初回は権限確認メッセージが出るのでOKを押してください。

事実行出来たら一番の難関はクリアです。これを毎日自動で実行してもらいましょう。一度に250通が処理されます

また余裕があれば、左上の無題のプロジェクトになっているところの名前を「gmail自動処理」などに変更しても良いでしょう。

  

自動実行の方法

左の時計マークトリガーを選ぶ

トリガーを追加する。トリガーの設定は

実行する関数:CleanUpGmail
デプロイ:Head
イベント時間主導
時間べース:時間ベース
時間の間隔:6時間おき

 

これで1日に4回、合計1000通が自動処理されますので、たくさんメールが溜まっている方でも、1か月程度で全て処理されると思います

 

function cleanUpGmail() {
  // メインの関数の開始ログ
  console.log("=== cleanUpGmail start ===");
  
  // 1) 2年以上前 & 300KB以上 & from:gmail.comではない & スター付きではない → 削除
  console.log("古い大きなメールは削除");
  processThreads("older_than:2y larger:300k -from:gmail.com -is:starred", "trash");
  
  // 2) プロモーション or ソーシャル & 30日以上前 → 削除
  console.log("プロモーションソーシャルは1か月で削除");
  processThreads("(category:promotions OR category:social) older_than:30d", "trash");
  
  // 3) 受信トレイ & 180日以上前アーカイブ
  console.log("受信トレイの180日以上前アーカイブ");
  processThreads("label:inbox older_than:180d", "archive");
  
  // 4) 受信トレイ & プロモーション or ソーシャル & 2日以上前既読
  console.log("受信トレイプロモーション or ソーシャル かつ 2日以上前既読");
  processThreads("label:inbox (category:promotions OR category:social) older_than:2d", "markRead");
  
  
  console.log("=== cleanUpGmail end ===");
}


function processThreads(query, action) {
  
  // 1回あたり250件だけ処理
  var batchSize = 250;
  // 最初の 250 件のみ取得
  var threads = GmailApp.search(query, 0, batchSize);
  var count = threads.length;
  Logger.log("検索クエリ: [" + query + "] | 取得スレッド数: " + count);
  
  // スレッドごとにアクションを実行
  threads.forEach(function(thread) {
    switch (action) {
      case "trash":
        thread.moveToTrash();
        break;
      case "archive":
        thread.moveToArchive();
        break;
      case "markRead":
        thread.markRead();
        break;
      default:
        Logger.log("不明アクション: " + action);
    }
  });  
  Logger.log("処理したスレッド数: " + count);
}

2024-09-23

Xのbotで儲けたい

さらな気しかしないけど、実際どうなんだってことで試してみることにした。

一連の騒動botって禁止されたり、課金しないとダメになったのかと思ったけど、どうやらそういことはないらしい。



プログラミングは未経験だけどGoogle Apps Scriptコードを入れてアカウントを作って、botポストするまでは仕上がった。

サーバを用意しなきゃいけないものだと思ってたけど、そういうのが必要なく形になったか面白い

内容はざっくりと言うと、天気予報自動で取得して、ポストするbotだ。

最初に思いついた計画はアフィリンクを垂れ流すアカを作りたかったけど、とりあえず第一弾ってことで。



これでインプを稼いで、収益化や!と意気込んでいたけど、そうはいかない。

全然インプが取れていない。



稼働して形にはなってるから、これからは調整と追加を行っていくフェーズに進んだとは思う。

ただ、先行きは怪しいな。

あとは、アイデア勝負で他のネタbotを考え続けて、当たるまで続けるとか。

そもそも、当たりがない可能性が大きい。

プログラミング経験値を積めましたって話で面白かったってとこはあるけど。



無理だよって以外のアドバイスがあれば是非ともよろしくお願いします。

2024-07-03

anond:20240703042923

 

フツーにAIによる業務効率で○○時間短縮できたと報告すればいいのではないでしょうか?

社内のAI推進担当の人も、どのくらいお金掛けるべきかなぁって思っているえらい人も、

根拠になる事例があると助かると思います

2024-04-17

anond:20240417051454

のぶ代派とわさび派なだけだと思うで

 

Google Workspace を Google Apps って呼ぶようなもんやで

(ゆうて、G Suite のままに表記がなってる社内のあれこれなくはないだろうけど)

2023-02-03

ツイッターAPI有料化されるそうです。

TwitterAPI有料化へ 無料提供は9日で終了 「詳細は来週発表する」 - ITmedia NEWS

https://www.itmedia.co.jp/news/articles/2302/02/news171.html

Twitter API有料化」の影響範囲は? 現状から予想できること(1/2 ページ) - ITmedia NEWS

https://www.itmedia.co.jp/news/articles/2302/02/news204.html

TwitterAPI有料化へ - CNET Japan

https://japan.cnet.com/article/35199526/

赤字体質のツイッターを買収し、遮二無二に黒字化をめざす

イーロン マスク氏は、これまでも社員リストラや、サードパーティ

クライアントアプリ遮断など、強権的な新施策をつぎつぎと打ち出しています

Twitter、約4400人の契約社員「通知なく」リストラか。正社員に続いて | Gadget Gate

https://gadget.phileweb.com/post-21187/

Twitterサードパーティアプリ全面禁止。無言で新ルール追加 | テクノエッジ TechnoEdge

https://www.techno-edge.net/article/2023/01/20/735.html

これらの施策に対して、世の中では、否定的見方と、仕方ないという見方

しろ肯定的見方と、自分関係ないという見方に分かれているようです。


「詳細は来週発表する」なので、APIを利用した検索投稿ID連携など

どの部分に影響するかはわかりません。

しかし、サードパーティアプリ全面禁止している理由が、広告非表示だった

ので、APIを利用した検索は、有料化可能性が高いと思います

私の場合APIを利用した検索検索した結果をGoogle Apps Script

処理して、ブログメール投稿する処理をしていました。

ブログの数は6つ、それぞれ1日1回の検索なので合計1日6回の検索をして

いました。

ツイッター以外にもYoutube,koboなども検索してあわせて自動投稿していますが、

ツイッター検索がメインでした。

ニッチテーマ検索していたので、1回あたりのツイッター検索の最大件数

100件くらいがちょうど良く、個人的情報収集に役立っていました。

また、自動投稿していた、ブログは当然公開されていたので、ごく一部の

ニッチな分野の調べものをする人には、多少の役には立っていたと思います

しかし、これらのブログ収益は無いので、API有料化により、終了となります

ツイッターAPI知識が、全くなかった私が、やっと作った自動投稿処理も

もう使えなくなります

世の中には、同じような人が、いるんじゃないかと思いましたが

ツイッターに定期的に投稿するボット作成者さんくらいみたいで

検索してる人はあまり、いないようです。

みんな使ってるはずだからもっと大騒ぎになると思いましたが

そうでもありません。

有料化したら、継続は困難なので、自動投稿処理の停止(トリガ―削除)の

対象スクリプトを午前中調査していました。

個人的には、悲しい出来事ですが、大きな影響はないのかしれません。

2022-11-11

anond:20221111133031

便利な要素もかなり強いんだけどね

Google apps scriptとかGmailとかの連携とか

2022-09-22

anond:20111018193022

さらですが、素晴らしい翻訳です。Google+ (→ Google Currents) も完全にシャットダウンされることが決まり、感慨深いです。

ちなみに後編に出てくる "Maestro" というのは、Google Apps Scriptコードネームです。

2022-05-12

Google apps scriptコード書いているんだけどしょっちゅうエラーが起きる

翌日エラー確認して、テスト環境実験しても同じエラーが起きないので

なんでやろと思っていたけどどうも時間帯によって処理時間がかかってエラーが起きているらしい

時間を変えたらあっさりエラーなくなりやがった。

悔しいので備忘録メモ

2022-02-22

anond:20220222132427

google apps script string bracket error」とかでググればええんちゃうの。知らんけど。

anond:20220222132005

やってくれてありがとう

でも質問が悪かった。あやまる。

正確に言うとGoogle Apps Scriptなんだ。

GASでは無理だけどjavascriptではできるのか。

差をあまり感じなかったけど結構あるんやな

2022-02-17

anond:20220217211346

AWS CLI を何らかのスクリプト言語に組み合わせることは出来るが、AWS CLIスクリプト言語では無いだろ?理解できたか

あと、お前は Google Apps ScriptAWS CLI を「スクリプト」という同カテゴリに捉えているようだがそれは間違いだぞ

基礎を押さえないといつまでも適当な印象で評価は低いままだからな、気を付けような

2022-02-09

日本人プログラマ英語必要ない。まずプログラマとして能力を高めることが重要と言ってきたけど・・

Google Apps Scriptを触ってての一言

先輩「これなんで虫のマークなんだろうな。不気味だからやめてほしいわ」

後輩私「・・・・・・・・・・・・・・そうですね」

やはり日本人プログラマにも英語能力と、あとなにか必要であると感じました。まる

2021-11-13

ノーコードツール増えてきたみたいだな

今年に入っていろいろサクっと作ったっぽいサービスをよく目にするようになってきた。

なにで作ってるんだろ~?と健闘もつかないけど、

BubbleとかGoogle AppsheetsとかZapierとかAWS Honeycombとかが有名らしい。

いろいろ見てみるとう~んそれぞれ理解するのとっちらかってて大変そうだ。

SlackがTeamsに食われたように、結局MSPowerプラットフォームに飲み込まれそうな気も。

NotionとかもMSが似たようなの作ってO365に組み込んで淘汰されるかもしれん。

2021-02-21

3DSで動くマストドンクライアントGoogle Apps Scriptで作る

ということは理屈上はできそう。(面倒なのでやらない)

2021-01-09

anond:20210109162204

> 1、スキャンできないと何が問題なの?

大企業ではほとんど採用されていると思うが、メールゲートウェイ型のセキュリティアプライアンスで、添付ファイル

ついていたら暗号化解除して中に含まれファイルに悪意があるマクロプログラムが含まれものがないか検査して

OKだったら送信許可NGなら削除されましたの通知だけを送るなどをしている。

従いスキャンできないと、一律でメールは削除、若しくは添付ファイルは削除されましたの通知のみ送られる。

企業セキュリティポリシーとしてこうしているところはありますウイルス感染対策の検知対策確度を上げるため。

さらに、ローカルPCウイルススキャンが入っていて添付ファイルローカル保存するとき、開くときスキャン

実行され安全性確認することは当然しています

> 2、代替案2の問題点がわからない

メールゲートウェイアプライアンスで、企業インバウンド/アウトバウンドメールを一律、

チェックしたいんじゃないのかな。それなりに意味はあると思いますが、例えばgmailだと、

これまで暗号化解除(解析&解除)でチェックしていたと思われるが、CPUリソース食いまくりな事

実効性への疑問(ほかの対策若しくは複数対策を組み合わせる事での効率化)があって、

添付ファイルはチェックされず送られるか、削除されて何も通知されないみたいです。

> 3、なんで毎回同じPWじゃないの?

同じパスワードだとそれが漏れたり、第三者に知れたら容易に暗号化解除して見れてしまうから

> 4、クラウドは金と時間がかかる

> これは1の通り、プロキシサーバースキャンできる仕組みを作る必要があるってことでいい?

プロキシサーバではなくてメールゲートウェイアプライアンス(古くはオンプレでInterscanなり、、最近は知らんけど)

> この場合既存の仕組みを使えないし、クラウドサービスロックインされるし

> 腰が重いのもわかる気がする

なにか同等のサービスがあると思う。

とりあえず、G Suite(旧google apps)だとgmailメールフィルタ機能が標準装備でゴミメールはだいぶ減る。

ウイルススキャンはどの程度されているか未確認

> 5、PGPでええやん

メールソフトへの実装があまりはやらなかったのもあるし、暗号化強度の問題もあったのでは。(推測)

公開鍵暗号方式実装したもので使いやすもの若しくは この手の送り手/受け手が正しい人かつ、

悪意を持ったプログラムが含まれないことを担保できるメール送受信の仕組みを作ればよいと思う。

インターネット自体は、自律分散システムなので送ったものが必ず届くという確証もないし、

それらの問題をどうやって解決するのかという課題もある。

これだけ指摘されて言われているわりに何の解決策、ソリューションも出ないのは技術的に難しいか

コストがかかるか、何かあるのかと思います

2020-10-23

anond:20201023210935

仕事を楽にすることを目的にすれば? 多少の違いはあれど、基本的単語使用方針類似しているから、まず最初言語をある程度使いこなせるようになることが重要

ブラウザでの仕事ブックマークレットjavascript

エクセル作業MSオフィスならVBAで、スプレッドシートならGoogle Apps Script

2020-08-20

お前らのプログラミング遍歴を教えろください

特に目的はない。以下俺の場合

プログラミングを始めた時期

2017年5月

現在プログラマとして仕事をしている

yes

業務で扱ったことのある言語フレームワーク

Excel VBA

VB.NET

Node.js

PostgreSQL

LotusScript

Java

C#(Unity)

Firebase(Cloud Functions、Firestore、Storage、Hosting、PubSub)

Flutter

React(ReduxやNativeは触ってない)

Google Apps Script

業務外で扱ったことのある言語フレームワーク

Neo4j

Python

C++

AWS(LambdaAPI Gateway)

GCP(Cloud Functions)

その他

ImageJ

PlantUML

AsciiDoc

応用情報

略歴

サービスエンジニアという名の雑用やりながらしばらく独学で勉強した後、転職して社内SEという名の雑用してた

会社に出入りしてたベンダー職場環境があまりに魅力的だったので雇って下さいと言ったら雇ってもらえて今に至る

今はあえて言うならWeb系のバックエンドという名の雑用をやってる

職場環境は確かに最高なんだけど、そろそろ地頭の悪さが露呈してクビになりそうで震えてる

現在の税引前年収

400万

現在の年齢

来年アラフォーアラサー

2020-07-30

anond:20200730084523

少なくともGoogle人間がそれ言われたらSNSとかは挙げずに(そもそもその分野では負けたし)、Google Apps,G Suite(Education含む)とかを挙げて世界をよくしていると言うと思うわ。

2019-02-16

anond:20190216231137

GNU Assemblerが何かやらかしたのかと思ったが、GoogleGoogle Apps Scriptというので名前を被らせてるのか

2016-04-26

anond:20160426145507 の続き

anond:20160426124418anond:20160426145507 の続きだゾ。てか長えよ

(略: トークンが定期的に期限切れになるので可用性が下がる。たとえばビデオカメラから複数動画アップロードしている途中で切れたらムキーってなる。再認証して途中からできるのもそれはそれで CSRF の温床。AFCP のような場合は期限切れがあってはならないので、パスワード等を預かる認証プロキシSaaS アプリを筆者は作った。好評だったが、これはもちろん本来あるべきでない欠陥のexploitのはず。)

(略: 個人ユーザ向けのAPI設計ばかりで、雇用者上司アカウント管理するという観点がない。SAMLでは普通にできるのに、OAuthとなるとセキュリティ的に云々と言って拒むサービスばかり。別のUIで既にできてることをAPIにしても意味がない。これまでできなかったことをAPIで可能にするのではなく、単なるシングルサインオンでよければ他にある。実際Googleは個人向けにはOAuth活用しているが、Google Apps for BusinessはOAuth以外のシステムを使っている。)

(略: 主要な設計ミスは、外部サービスすべてを同等に疑うところ。管理者が各サービスの信用性を判断して権限を調節できるようにしないところ。これまでどれほど多くの製品OAuthの面倒さのために失敗してきたことか。)

普通実装における」OAuth代替

適切な OAuth ベース設計とはどのようなもの

ここまでで「普通実装における」OAuth がまったくおかしいということはわかりましたが、OAuth が実際うまくいくのはどういうときでしょうか。

初期の OAuth 規格および概念におおよそ付き従っているシステム一般的に言って、新しい規格ベースのよりもセキュアで、マシです。OAuth 1.0 の実装がすべてセキュアだというのではありませんが、たいてい問題は少ないです。こうしたシステムは通常、次のふたつのアプローチのどちらかに従っています:

はいえ、このように設計されている OAuth ベースシステムはごくごく希少で、しか一般的にこうしたシステムは、他のところで使われている OAuth とは似ても似つかぬものです。OAuth 1.0 規格の方に寄って頑張っていますが、公式には 1.0 は非推奨ですから、こうしたアプローチを使っているシステムはそのうち「アップデート」されて OAuth 2.0概念や追加機能すべてを加えて再構築され、セキュリティユーザビリティをだめにしてしまうことになります。これこそ筆者があらゆる OAuth ベースのものを見逃したくない理由です。もっと古く、もっと機能的な形式OAuth を使っていても、システムに「改善」が必要だという素敵な考えを管理者のだれかが閃いて台無しにしてしまうからです。ご迷惑をおかけしてすみませんと言うぐらいなら、まったく別のものを使うほうが良いですよね。

他の選択肢

他に手はないかと探すとき、人々はよく他の「フレームワーク」にはどんなものがあるかを知ろうとします。しかし、考え抜かれたセキュアな設計を実現するためには必ずしもフレームワーク必要というわけではありません。現状、OAuth とはどのようなものかについての意見サービスごとに異なっていますので、承認の具体的な動作の仕組みもまったく一定ではありません。そんな中でフレームワークを探しまわるのは、簡単にできることをいたずらに複雑化しているだけのことが多いです。唯一ほんとうに難しい要素、しっかりした規格の必要な要素は、使用する鍵パラメータ改竄を防ぐため変数署名する方法だけであり、この点に関して、ほとんどの OAuth ベース実装は一切何もしてくれません。

ウェブサービスの最大手である Amazon は、世界中企業サービス提供する一流プロバイダで、合計 30% 以上という途方もない市場シェア他者を圧倒していますAmazonアプローチは、自分アプリ認証情報を生成できるコントロールパネルへのアクセスを、すべてのアカウントおよびアカウント管理者提供することです。この認証情報で、どの Amazon サービス作業できるか、そのサービスでどの操作を実行できるか、どの権限作業しなければいけないかを指定できます。この認証情報必要に応じて「アカウントホルダ」の人が破棄することもできます

AmazonAPI における認証承認技術には、本質的制限が多く潜在的危険性のあるリダイレクトを一切必要しません。Amazonプロトコル認証情報は、直接送ることは一切なく、データ署名に使うのであって、これでブラウザを通してパラメータを送る必要のあるときにも改竄不可能にすることができるのです。

Amazon設計アカウントの利用状況を API の利用まで適切に把握できますし、API認証承認もすべて Amazonからスタートし、その際のアプリ認証情報も「Amazon の」コントロールパネルから生成されます。この認証情報はその後、いかなるトークン交換システムも使わず直接 API プロセスで使われます。この設計なら「普通実装における」OAuth が達成している真のセキュリティ目標をすべて達成し、かつ前述したセキュリティ上およびユーザビリティ上の問題をすべて回避しています

ひとつ言及せざるをえない短所は、Amazon権限システムが幾分わかりにくく、あまりユーザに優しくないということです。ただし、このことは何故かほとんどのコントロールパネルにも言えることで、いずれにせよ UI 設計問題であって、承認プロセス自体の失点ではありません。さらに、Amazonコントロールパネルはかなりキビキビ使えて、それ自体API でも使えます。この点たとえば Google場合のように、筆者の知る限りメタ API もなく、何をするにも何十もの手順が必要なのとは大違いです。

Amazon認証および承認メソッドは他のサービスプロバイダにも幾つかコピーされていますGoogle 自身企業向け製品の一部でこれを利用できるようにしていますGoogle 自身純粋OAuth 設計企業サービスに向いていないことを認めており、企業サービスには JSON Web Tokens (JWT) の利用を推奨しています

JWT はサービス間の SSOAPI 利用を可能にする規格です。多くの点で JWT は SAML に似ていますが、SAML はややこしくて、XML Security (名前と違って、まったくセキュアではない) の上に構築され、API 利用に向いていないのに比べ、JWT は SAML の主要な目標を、単純かつ使いやす方法で一切の面倒なく達成しています。HMAC 実装ひとつ用意し、JSON の構築と解析の方法を知っておけば JWT は使えます既製品をお求めでしたら、膨大な JWT ライブラリが既に存在していますよ。

ただ Google場合典型的な JWT 利用法よりも高度で、HMAC のかわりに、もっと高度ですがこの分野では人気の低い RSA デジタル署名を利用するよう要求していますGoogleコントロールパネルではアカウント管理者自分企業サービス用に新しい鍵ペアを生成でき、API ログイン署名するために使う秘密鍵ダウンロードできます。こちらのほうが HMAC よりセキュリティは高いですが、Googleプロセス全体を本当に無駄に複雑化していますコントロールパネルしょっちゅう完全に再設計して、前と同じことをしたいのに使い方が違っていて混乱する点は言うまでもありません。JWT 利用の実例必要なら他をあたるようお勧めします。

他に使われている技術は、サードパーティがどんな権限必要としているかをある種の XMLJSON ファイル定義してウェブサイト送信できるようにするサービスのものです。ユーザがあるページを自分アカウント訪問し、ファイルURL (あるいは中身) をそこに貼り付けると、その外部サービスあるいはアプリが求めている権限の一覧やそこに含まれ説明などが表示されるようになっています。それを見て認可したいと思うユーザは、認証情報を生成してそのサードパーティアプリあるいはサービスに貼り付けますユーザは後で無効にしたくなったら認証情報を破棄することができます。これも、開発者おかし負担を強いることなく、すべてのアカウントAPI サービスがあり、権限管理を備え、サービス自体からフローが始まる、実にセキュアな設計です。

承認管理のためにサービスから提供してもらう必要が本当にあるのは、適切な役職 (管理者アカウント所有者など) を持つユーザ自分に割り当てられた権限や (望むなら) 期限を持つ認証情報API 利用のために生成できる何らかのパネルだけです。こうした認証情報はその後、お好みのセキュアな認証システムを通して利用することができます。たとえば HTTP Basic Authentication over HTTPS のような単純なもの、これは事実上どの HTTP ライブラリにも入っていますし、HTTP Digest Authentication、これはもっとセキュアでありながらほとんどの良質なライブラリサポートされていますし、その他 HMAC, RSA, 楕円関数など認証情報ネットに通す必要のない暗号学的テクノロジー活用した認証プログラムに基づくものなら何でも使えます特に HMAC は、承認認証実装するほとんどすべての人 (Amazon や、一部の OAuth 実装も含む) によって既に使われています

こういった種々の実績あるテクニックは、セキュアなプラットフォームを作るために CSRF 対策など複数フレームワーク同士の相性を勉強する必要があるという重荷を軽くしてくれますし、一般的に、既存アーキテクチャワンタッチで装着できるようなモジュール化の実装が可能です。ユーザアプリ認証情報が盗まれる可能性をなくしてくれます。ややこしい CSPRNG を常に使用する必要もありません。このようなシステムOAuth の生まれるずっと前から存在しており、現在でも一般的です。OAuth は、ユーザ認証情報要求したり他に弱点があったりするような一部の劣悪な設計システムよりはセキュリティが良いかもしれませんが、既にある真の設計を置き換えるものではありません。OAuth が解決すると主張する問題点は実のところ、既存の良く設計されたシステムには存在していませんし、「普通実装における」OAuth は実のところ、解決すると主張する問題の多くを招き入れるばかりか、最初存在していなかった問題まで生じさせています宣伝文句と違って、OAuth にすれば自然と驚くほどセキュアになるというわけではなく、むしろ数々の短所実装の困難さを考えれば、他の考え抜かれた選択肢のほうがはるかに優れています

これからサービス設計をして API アクセス提供することになっている方はどうか、ご自分が実現しようとなさっているのが何なのかを本当に考えてください。他の人がやっていることをコピーするだけで済ませたり宣伝を丸呑みしたりしないでください。どうしてもコピーしなければいけないなら、Amazon (これが最善です) や Rackspace, IBM SoftLayer, Linode, VULTR, Zoho, Zoom ほか、API の素直で健全認証システムを構築する方法について現時点で多少なりとも理解のあるところをコピーするようにしてください。

2016 年 4月 Insane Coder

http://no-oauth.insanecoding.org/

ログイン ユーザー登録
ようこそ ゲスト さん