タグ

ブックマーク / thinkit.co.jp (182)

  • KeycloakによるAPIセキュリティの基本

    連載の1回目である今回は、Keyclooakの基および、API保護が必要とされる背景について解説します。 サービスがより活発に利用されることを狙って、企業や公的機関によるサービスのAPI(Application Programming Interface)公開が広がっています。また、自組織内でもモバイルアプリケーション開発やシステム間連携を行いやすくするために、システムがAPIを提供することが多くなってきています。その際、APIは限られた人やシステムにだけがアクセス可能にする必要があるため、認証・認可のようなセキュリティ技術が必須になってきます。 認証・認可は、OAuth 2.0の枠組みに基づくことが一般的ですが、OAuthは自由度が高い仕様であるため、誤って実装・構築してしまうとセキュリティホールが作りこまれてしまいます。記事では、近年急成長を遂げている認証・認可サーバOSSである「

    KeycloakによるAPIセキュリティの基本
  • BookinfoデモでIstioを体感する | Think IT(シンクイット)

    Bookinfoアプリケーション 今回はIstioが提供しているサンプル・アプリケーション「Bookinfo」を利用して、Istioの機能の一端を体験してみましょう。Bookinfoは、書籍の紹介とレビューを表示する参照系アプリケーションで、マイクロサービス・アーキテクチャー(Microservices Architecture、MSA)に基づき、4つのサービスから構成されています(図1)。MSAらしく各サービスはそれぞれ異なるプログラミング言語で実装されています(Polyglot)。 各サービスの概略は、以下の通りです。 productpage:Pythonで実装されたBackend for Frontendサービスです。ユーザーからのリクエストを受け取ると、detailsサービスとreviewsサービスを呼び出して、それぞれ書籍情報とレビュー情報を入手し、Webページを返します det

    BookinfoデモでIstioを体感する | Think IT(シンクイット)
  • ユニットテストをしよう

    【最新JavaScript開発~ES2017対応モダンプログラミング】 株式会社インプレスR&Dより発行された「最新JavaScript開発~ES2017対応モダンプログラミング」の立ち読みコーナー第5回です。 ユニットテストは、メソッドや関数など小さなユニット単位に絞り込んだ自動テストです。現代的なプログラミングに欠かせないものです1。 効能としてはコードの信頼性が向上するというのはもちろんですが、何より重要なことはテストのコストが下がることです。手動でテストを毎回行っていたらとても手間がかかりますが、ユニットテストならば勝手にテストをしてくれるので、コードを書き換えるたびにテストをするというような開発スタイルで効率が大幅に向上します。 副次的な効果としてより、良い設計をもたらすという点もあります。これはユニットテストをきちんと行おうとすると、設計もそれに合わせたものになるためです。自然

    ユニットテストをしよう
  • Linuxの認証を簡単にする「FreeIPA」とは

    はじめに 「Linuxの認証基盤をもうちょっと簡単に管理したい……」、そう思ったことはないでしょうか。「ない」という方でも、以下のような場合に便利なソリューションがあると嬉しいかと思います。 Kerberosを使ってユーザ、ホスト、サービスの認証を行い、シングルサインオンしたい ホストを登録するだけでDNSに登録し、ドメイン内のユーザが利用できるよう認証設定を完了させたい ポリシーを更新するたびにsudoersの設定を各マシンに導入・更新する ssh-copy-idをするためにパスワード認証を許可しているが当はパスワード認証を禁止したい 2要素認証を使いたい スマートカード認証を行いたい sshの秘密鍵が入ったノートPCを紛失した。あらゆるサーバのauthorized_keysに登録された鍵の登録を削除したい 「FreeIPA」は、これらの運用・管理を簡単にするLinuxの認証基盤です。

    Linuxの認証を簡単にする「FreeIPA」とは
  • 「FreeIPA」の機能を試してみよう

    はじめに 前回は、Linuxの認証基盤である「FreeIPA」について、IPAサーバ/クライアントの主なコンポーネントを紹介しました。今回は、実際にFreeIPAをインストールして、FreeIPAが持つ多くの機能のいくつかを見ていきましょう。 FreeIPAのインストール準備 まずは、FreeIPAをインストールする前準備として、手元のKVM環境にお試し用のipaサーバを構築します。 前回で解説したように、基的にFreeIPAが管理するドメインにはKerberosでログインするため、他のKerberosで管理されていないドメインでなくてはいけません。DNSで正引き・逆引きが可能な必要があるので、libvirtのネットワーク設定を変更して、あらかじめ仮想マシンに対してdnsmasqが提供するDNSipa.example.comとclient.example.comのエントリを定義しておき

    「FreeIPA」の機能を試してみよう
    okinaka
    okinaka 2018/01/31
    Linux の認証基盤
  • 構築とテストについて知ろう

    はじめに みなさん、こんにちは。連載では、これまでインフラエンジニアが扱う技術を一通り解説してきましたが、「実際に現場でどのようにシステムを作っているのか」をイメージするのは難しいかと思います。そこで今回はシステムを作る技術にスポットを当て、「構築とテスト」について解説していきます。最近話題になってきている構築やテストの自動化についても触れたいと思います。 また、構築とテストは新米インフラエンジニアが最初に関わることの多い業務です。今回の解説を通じて、構築とテストを行う上での全体的な知識を身に付けておきましょう。 構築とは? 構築とは、前段フェーズの「設計」を通して作成される設計書やパラメータシートに従ってハードウェアとソフトウェア(OS、ミドルウェア)の設定を行い、システムを実際に組み上げる作業です(図1)。

    構築とテストについて知ろう
  • 要件定義書の作成手順を学ぶ!アイデアを形にするプロセスとは

    okinaka
    okinaka 2017/05/24
  • React Nativeとネイティブアプリでの開発の違いとは | Think IT(シンクイット)

    稿は、Course Reportの ブログ記事 を了解を得て日語翻訳し掲載した記事になります。 記事は、TurnToTechのAditya Narayan氏によってに投稿されました。 AndroidとiOSの両方のモバイルアプリを構築したいとき、各OSのネイティブ言語(Androidの場合はJava、iOSの場合はSwift / Objective-C)を学ぶべきでしょうか?それとも、ハイブリッドフレームワークのReact Nativeを使用するためにJavaScriptを学ぶべきでしょうか? あなたがすでに持っているコーディングスキル、アプリを開発する目的、そしてプロジェクトの長寿など、考慮に入れるべきことは多くあります。 この記事では、ニューヨークのTurnToTechCEOでありモバイルブートキャンプを主催するAditya Narayan氏が、「React Nativeとネイ

  • Drupalにはビジネスチャンスがある - DrupalCamp Japan 2017 in Tokyo レポート

    ホワイトハウスやNASA、各国政府でも採用されているオープンソースのCMS(コンテンツ・マネジメント・システム)として知られるDrupal。そんなDrupalの国内における大規模イベントDrupalCampが二年ぶりに二回目、日橋のサイボウズ内にて行われた。約半数のセッションが海外からの登壇者となっており、国際色豊かなイベントとなっている。 イベントは実行委員会の太田垣氏の挨拶からはじまった。二年前に行われた第一回のイベントは京都のお寺で実施され、7時間以上も正座で行われたとのこと。今回は椅子に座っての形式ではあるものの、休憩を挟みつつも9時間以上にわたる非常に濃いイベントになったことを先に報告しておく。 今回はメインセッションが2つある。まず最初に内閣官房 政府CIO上席補佐官 平 健二氏による日政府におけるDrupalの取り組みに関して、もう一つはAmitai Burstein氏

    Drupalにはビジネスチャンスがある - DrupalCamp Japan 2017 in Tokyo レポート
  • 生産性向上を本気で考える

    はじめに みなさん、こんにちは。前回は「会社のコアコンピタンス作り」というテーマで、TTWやナレッジ・マネジメントによりコアコンピタンスを発掘して育てることを取り上げました。今回は「生産性向上」という聞き慣れた言葉について、もう一度真剣に考えてみることにします。 「会社の改革のためのその7」―生産性向上を全社で意識付ける VACD―価値分析とコストダウン 私は1980年に東芝へ就職したのですが、その頃は「VACD」というスローガンが盛んで、工場に行くとあちこちにVACDと書かれた看板やポスターが貼られていました。VAとは「Value Analysis」の略で「価値分析」と訳されています。もともとは“商品の改良やコストダウンを目的に知恵を出し合う”というものだったのですが、実質的にコストダウン(CD)が主体となり、いつの間にかVAがなくなってCDという言葉のみ残った感があります。 現代ではV

    生産性向上を本気で考える
    okinaka
    okinaka 2017/01/20
  • 独学で始める!初心者におすすめのLaravel学習サイト10選 | Think IT(シンクイット)

    PHPフレームワーク「Laravel」のインストール方法や基操作、応用の使い方などが学習できるサイトです。 サイトによってそれぞれ特徴が違うので、ぜひ自分に合った学習スタイルで学んでみてください。 なお記事は、TechAcademyの PHPオンライン講座 の内容をもとにしています。 Laravel公式マニュアル 学習スタイル:テキスト Laravelの公式サイトです。「クイックスタート」からインストール方法を詳しく参照できるほか、設定方法から基の使い方・パッケージの作成など大事な情報が揃っています。 これからLaravelを触ろうと思っている人は必要な情報がまとまっているので、ぜひ参考にしてみてください。 Laravel公式マニュアル ララ帳 学習スタイル:テキスト Laravelのインストール方法についてとても分かりやすく解説されています。 最初に基の操作を学びたいとき、初めて

    okinaka
    okinaka 2017/01/18
    広告記事
  • 多重請負構造とKPI管理の導入

    はじめに みなさん、こんにちは。前回は「常駐・派遣ビジネスの功罪を考える」というテーマで、日で常駐・派遣ビジネスが多い理由、その問題点、そこから変革する3通りの道しるべを示しました。 今回は、SIerの抱えるもう1つの問題である「ピラミッド構造(多重請負構造)」を取り上げ、どのようにピラミッド構造と向き合うかを考えてみます。また「会社の改革のためのその1」として、KPI管理の導入についても解説します。 ピラミッド型の業界構造の問題点 ソフトウェア業界の中でも、特にSIerを中心とした世界は、土木・建築業界と同じようなピラミッド構造で成り立っています。つまり、ユーザーが大手SIerに発注し、大手SIerは下請けSIerに発注し、下請けSIerは孫請けSIerに発注するという構造で開発プロジェクトをこなすケースが多いのです(図1)。 こうしたピラミッド構造(多重請負構造)は、常駐・派遣と並ん

    多重請負構造とKPI管理の導入
    okinaka
    okinaka 2016/10/12
  • 他サービス比較や活用事例にみるownCloudが選ばれる理由とは?

    サービス型オンラインストレージと比較したときの優位点 連載第1回は、ownCloudの歴史セキュリティについて解説してきました。第2回では、ownCloudが選ばれている理由をサービス型オンラインストレージと比較したときの優位点や活用事例をもとに説明していきたいと思います。 サービス型オンラインストレージと比べ、ownCloudはセキュリティ面でも優れているのですが、機能面やコスト面、運用/管理面でもメリットがあります。 サービス型オンラインストレージを利用する場合の注意点としては、サービスベンダーの規定に左右されるという言葉に尽きます。これはセキュリティに関わる話にもなるのですが、データの保管場所はベンダーが規定する領域に保管される、ファイルのアップロードサイズが制限されている、ユーザ毎に使えるファイル容量が制限されている、さらには予告なくサービスが終了になる、機能が変わるなど、自社の

    他サービス比較や活用事例にみるownCloudが選ばれる理由とは?
  • 事例から考えるDockerの本番利用に必要なこと

    Dockerを取り巻く最新の状況 2016年4月13日にDocker 1.11がリリースされた。PaaS基盤としてのDockerをより便利に利用するために、ネットワークの機能やセキュリティ対策や構成管理ツールの機能が強化されている。さらに2月24日には、クラウドプラットフォーム上でコンテナの統合管理を行うDocker Datacenterもリリースされている。 さらにDocker社は豊富な資金力により、SDN(Software Defined Networking)企業であるSocketPlane社や、ハイパーバイザ型でDockerコマンドとの連携を実現している軽量OSを開発したUnikernel Systems社、DockerコンテナをパブリッククラウドにデプロイするSaaSサービスを提供するtutum社など、多数の企業を買収している。Docker社は各社の製品を統合し、PaaSプラット

    事例から考えるDockerの本番利用に必要なこと
  • 構成管理ツールとしてAnsibleを選ぶべき理由

    話題の構成管理ツールAnsibleについて、注目を集める理由、類似のツールに対する優位性について解説します。 Ansibleは、多数のサーバーや複数のクラウドインフラを統一的に制御できる構成管理ツールです。構成管理ツールとして巷で人気のあるPuppetやChefなどの置き換えに利用できます。既に国内でも、大量の仮想サーバー環境を持つ大手金融機関や大規模製造業を中心に、多くのユーザー企業が使い始めています。この連載では、いま注目を浴びつつあるAnsibleについて、その特徴および魅力を紹介していきます。 Ansibleとは何か Ansibleは構成管理ツールとして取り上げられることが多いのですが、大きく分けて3つの役割が統合されています。 デプロイメントツール オーケストレーションツール 構成管理ツール Ansibleでは、PlaybookというYAML形式のテキストファイルに定型業務をタス

    構成管理ツールとしてAnsibleを選ぶべき理由
  • 開発環境の構築・共有を簡単にするVagrant入門

    フォルダの共有機能 Vagrantは、開発をスムーズにするためのフォルダ共有機能を備えています。これはVagrantで仮想マシンを起動すると、開発用PCと仮想マシン内のディレクトリを自動的に同期してくれるものです。これにより、PCで使っている自分の好きなエディタを使って、仮想マシン上のソースコードを編集できるだけでなく、手元のツールでテストや任意の処理ができます。仮想サーバ上で何か処理する際に、いちいちログインする必要がありませんので、開発作業に集中することができます。 それでは実際に共有することを確かめて見ましょう。「vagrant up」で仮想マシンを起動すると、Vagrantfileを実行したフォルダと仮想マシン内の「/vagrant」ディレクトリがリアルタイムで同期します。リスト7のように、仮想マシン内でディレクトリを移動して、ファイルを作成すると、手元のPC上にも同様のファイルが

    開発環境の構築・共有を簡単にするVagrant入門
  • モバイルアプリの継続的テストフレームワーク、配信後のユーザー体験を測定―Think IT Mobile Developer Seminar 2015レポート

    「実践現場から学ぶモバイル開発の勘所とビジネスへのインパクト」をテーマとしたセミナーが、2015年10月に開催された。後半の講演の概要を紹介する。 DevOps時代のモバイルアプリケーション継続的テストフレームワーク 石坂氏のセッションで明らかになった課題を解決するためのソリューションについて、日ヒューレット・パッカード株式会社 HPソフトウェア事業統括 ITマネジメントプリセールス部 テクニカルコンサルティング部 小宮山 晃氏が解説。モバイルアプリケーションの継続的テストを実践するために、自動テストだけではなく手動テスト、性能テスト、テスト管理、仮想化を利用したテスト環境までをCIツールと連携し実行していくためのフレームワークを紹介した。 計画と開発フェーズの課題を解決するツール モバイルアプリのデリバリ課題として、計画と開発、テスト、運用という3つのフェーズがある。石坂氏のセッショ

    モバイルアプリの継続的テストフレームワーク、配信後のユーザー体験を測定―Think IT Mobile Developer Seminar 2015レポート
    okinaka
    okinaka 2016/02/16
  • 開発から運用に至るフローを一体化するAtlas

    共通しているのは、いずれも何らかのワークフローの解決を目指すという点です。そのためにHashiCorpが提案しているのは、コード化を通した自動化です。それは、効率の向上だけでなく、人手による誤りを防ぐという役割も持ちます。そのため、来行いたい開発や運用に関する業務に集中するための仕組みを提供しています。 その一方で、実際の開発から運用に至る流れを見てみますと、各ツールを組みあわせる必要が出てきます。たとえば、次のようなケースが考えられます。 Vagrantで作った環境を、Packerでマシン・イメージ化したい Packerで作成したマシン・イメージを使ってTerraformで使いたい Terraformで作った環境を、Consulで監視・オーケストレーションしたい そこに登場するのがAtlasです。Atlasは、サイトの説明によると「開発から運用に一貫したフローを提供する」とあります。A

    開発から運用に至るフローを一体化するAtlas
  • Dockerの導入前の設計、CentOS 7.xとDockerのインストール

    いよいよ、Dockerの導入前のOSレベルでの設計、さらに具体的な導入に入ります。DockerLinux OSにインストールする手順自体は非常に簡単ですが、導入前の基設計を怠ってはいけません。Dockerを導入するにあたって、採用すべきOSのファイルシステムや、パーティションに関する基的な知識を習得しておく必要があります。ここでは、Dockerをインストールする前段階での、ハードウェアに関する様々な留意点を概要レベルで紹介します。また、Dockerをインストールする前段階で知っておくべき各種パラメータと初期設定、Dockerのインストール手順を紹介します。 物理サーバーのCPUに関する留意点 2015年8月下旬現在、最新のDockerでは、64ビットのx86アーキテクチャのサーバーシステムやPCで稼働させることができます。CPUの動作周波数などに特に制限事項はありませんが、まずは、D

    Dockerの導入前の設計、CentOS 7.xとDockerのインストール
  • サービス・ディスカバリのためのConsul入門

    Serfの足りない機能を補うConsul 前回の記事の復習になりますが、Serf(https://serfdom.io)の主要な役割は、オーケストレーション(自動的に複数のサーバなどのインフラ上で処理すること)と、クラスタ上のメンバ管理です。 Serfを単純なツールとして見た場合は、オーケストレーションを簡単に行える便利なツールと言えるでしょう。しかし、実際の運用シーンを考えますと、次のような弱点が浮かび上がります。 メンバ管理はSerfエージェント間の通信正常性が基準であり、アプリケーションやミドルウェアの状況に応じた自動処理が行えない(サーバは稼働しているが、ウェブサーバやデータベースが停止するような状況) 何らかの状態を保持する仕組みがないので、冗長化の仕組みは自分で考慮する必要がある Serfクラスタとの通信には独自のCLIかAPIを使う必要があり、他のツールとの親和性が低い これ

    サービス・ディスカバリのためのConsul入門