OCI 雑記

Oracle Cloud Infrastructure(OCI)について書くブログです。

【OCI】認証・認可について

この記事で伝えたいこと

  • OCIにおける認証と認可について説明しているよ

認証・認可とは

今回はOCIにおける認証認可について学習していきたいと思いますが、そもそも認証・認可とはなんでしょうか。 簡単に説明すると認証は承認を受けた本人であるかどうかの確認、認可は利用しても良いかの許可です。

ITの分野においてはログイン・サインインは認証、利用のポリシーのチェックは認可になります。

OCIにおける認証

OCIにおいて認証は2つのパターンがあります。IDで認証することには変わりがないです。

  • Oracle Cloud Infrastructure Identity and Access Managment(OCI IAM)
  • Oracle Identity Cloud Service(IDCS)

どちらに対しても認証してしまえば、OCIの環境を利用できるような状態になることには変わりがないですが、実際はサインインの経路が異なるなどの違いがあります。なお、両者のIDパスワードは共有されることはないため、Oracle IAMの認証情報がIDCSの認証情報に共有されることはありません。

2つの認証基盤の違い

主な違いとしてはIDCSはOracle全体のサービスに対して利用できるものに対してOCI IAMはOCIに利用できるものです。 OCIで細かい権限管理をしたい場合はOCI IAMを利用します。 ただし、IDCSでOCIを操作する場合においても認証はOCI IAMのIAMグループを利用するため、IAMグループの設定が必要です。 いずれにしてもIAMの設定が必要であることには変わりありません。

OCI IAMの概要

OCIに対して何かしらの操作を実行する場合はOCI IAMが必要だと説明しました。ではどのようなことをすれば良いのか確認していきます。

IAMの基本コンポーネント

基本的なコンポーネントは主に3つです。

プリンシパル

OCI上で実際にアクセスを実行する主役となるものを指します。 主役が個人の場合はIAMユーザー、インスタンスの場合はインスタンスプリンシパルと呼びます。

IAMユーザーとインスタンスプリンシパルを総称してプリンシパルと呼びます。

グループ

前述のプリンシパルに対して後述のポリシーを付与していくわけですが、実は直接プリンシパルにポリシーを付与することはできません。 プリンシパルにポリシーを付与するためにはグループを作成してプリンシパルをグループに所属させたあと、ポリシーをグループに付与します。 グループはポリシー(アクセス権限)ををまとめた権限のセットという捉え方で良いです。

ポリシー

簡単に説明するとアクセス権限です。認証・認可のうちの認可に該当します。ポリシーを定義することでリソースへのアクセスを定義します。 定義についてはまた違う記事で書こうと思いますが、ポリシーには最小権限の原則があることと何も定義していない状態ではすべてのリソースに対して拒否状態であることを覚えておくと良いでしょう。

IAMユーザーの概要

最後にIAMユーザーについて確認します。 OCIを利用する個人をIAMユーザーと説明しましたが、実際には3つほど種類があります。

APIキー

これは読んで字の如く、プログラム等でOCIが提供しているAPIを呼び出す時に使うアクセスキーのようなものです。

認証トーク

Swiftと互換性のあるAPIを使用する場合に利用可能な認証情報です。署名ベース認証をサポートしないサードパーティAPIで認証するために使用できます。なお、以前はSwiftパスワードとも言われていたそうです。

「認証トークン」は以前に「Swiftパスワード」と呼ばれていました。作成したSwiftパスワードは、コンソールに認証トークンとしてリストされます。既存のパスワードは引き続き使用できます。

docs.oracle.com

顧客秘密キー

Amazon S3と互換性のあるAPIを使用する場合に利用可能な認証法です。まだあまり触ったことがないためにイメージがつきにくですが、以前はAmazon S3 互換APIキーと呼ばれていました。

オブジェクト・ストレージは、Amazon S3との相互運用性を有効にするAPIを提供します。このAmazon S3互換APIを使用するには、Amazon S3を使用した認証に必要な署名キーを生成する必要があります。この特別な署名キーは、アクセス・キー/秘密キーのペアです。Oracleでは、コンソール・ユーザー・ログインに関連付けられているアクセス・キーが提供されます。ユーザーまたは管理者は、アクセス・キーとペアにする顧客秘密キーを生成します。

docs.oracle.com

まとめ

今回はOCIの認証・認可について確認しました。まだよくわからない部分も多いのであとは実際に触って確認しようと思います。