Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OCI ユーザー作成・権限管理手順

OCI ユーザー作成・権限管理手順

Oracle Cloud Infrastructure (OCI) にてユーザーやグループ、ポリシーを作成・設定する際のステップバイステップの手順書です。

OCIの認証、認可、ID管理などを司るコア・コンポーネントである OCI IAM (Identity and Access Management) についての解説資料については、以下もご参照ください。
https://speakerdeck.com/ocise/ociji-shu-zi-liao-idoyobiakusesuguan-li-iam-gai-yao

More Decks by Oracle Cloud Infrastructure ソリューション・エンジニア

Other Decks in Technology

Transcript

  1. Oracle Cloud Infrastructure ユーザー作成・権限管理 手順 Identity and Access Management 2020/11

    テクノロジー事業戦略統括 テクノロジー・クラウド・エンジニアリング本部 OCI ソリューション部
  2. Oracle Cloud Infrastructure 前提知識 Copyright © 2020, Oracle and/or its

    affiliates, Confidential: Internal/Restricted/Highly Restricted 3
  3. OCIの認証・ID管理機能の位置付け Copyright © 2020, Oracle and/or its affiliates, Confidential: Internal/Restricted/Highly

    Restricted 4 OCIを使用するにあたって、主に使用する認証およびID管理サービスは下記の2つ A) Oracle Identity Cloud Service (IDCS) • Oracle Cloudの全てのサービスで使用される統合的な認証・ID管理サービス B) OCI Identity and Access Management (IAM) • Oracle Cloud Infrastructure 単独の環境でネイティブに使用される認証・ID管理サービス  テナント開設時に登録した初期ユーザーは、IDCS・IAM それぞれの認証基盤で ユーザーが作成される Oracle Identity Cloud Service OCI Identity and Access Management Oracle PaaS サービス群 Oracle SaaS サービス群
  4. Identity and Access Management (IAM) サービス概要 Copyright © 2020, Oracle

    and/or its affiliates, Confidential: Internal/Restricted/Highly Restricted 5 Identity and Access Management (IAM) サービスは、OCIの リソース に対するアクセス権を制御する仕組み • リソース は、OCIの各種サービスで作成、利用するオブジェクトの総称 (例 : インスタンス、ブロック・ボリューム、VCN、ルート・テーブル・・・) • すべてのOCIリソースは一意な識別子 OCID (Oracle Cloud ID) を持つ • IAM は以下のようなID管理の概念を利用 • プリンシパル (Principals) • ユーザー (IAM Users) • グループ (Groups) • ポリシー (Policies) • コンパートメント (Compartments) : OCI独自の概念
  5. フェデレーション (Federation) Copyright © 2020, Oracle and/or its affiliates, Confidential:

    Internal/Restricted/Highly Restricted 6 フェデレーション とは、OCIと、他に存在するアイデンティティ・プロバイダ (IdP) と間で認証やアイ デンティティ(ID) をシステム間連携する仕組み • フェデレーションで実現できること • 認証の連携 - OCIコンソールにアクセスする際、IdP が提供するユーザ名/パスワードでのログイン = シング ル・サインオン(SSO) • アイデンティティ(ID)の連携 - 一部のIdPとの間では、SCIM(System for Cross-domain Identity Management) を利用した、ユーザー情報の同期 • 対応するアイデンティティ・プロバイダー • Oracle Identity Cloud Service (IDCS) – SCIMによるユーザー同期にも対応、デフォルトで連携設定済 • Okta – SCIMによるユーザー同期にも対応 • Microsoft Azure Active Directory • Microsoft Active Directory Federation Service • その他 Security Assertion Markup Language (SAML) 2.0 プロトコルをサポートするIDP
  6. IDCS – OCI 間でのユーザ連携・動作例 Copyright © 2020, Oracle and/or its

    affiliates, Confidential: Internal/Restricted/Highly Restricted 7 IDCS (My Service) 認証プロバイダー(IdP) OCI IAM サービスプロバイダー(SP) IDCSユーザー Sato IDCSグループ OCI_Administrator OCIグループ Administrators グループ マッピング 同期済 ユーザー idcs/Sato ユーザー同期 (SCIM) IDCS - OCI(IAM)間で以下が構成済 • IDCSユーザーによるOCIの認証 • SCIMによるユーザー同期 • Administratorsのグループマッピング 動作の例 • SatoをIDCS/OCI(*)どちらかで作成すると、 もう一方に同期される • Sato(IDCSユーザー)は、My Service と OCI の 両方が利用可能 • Tanaka(OCIローカル・ユーザー)は OCI コン ソールのみ 利用可能 • Sato, TanakaはOCIでは共に管理者権限を持つ (*) OCI コンソールのフェデレーションメニューより作成した場合 ローカル・ ユーザー Tanaka  テナント開設時、上記のIDCS - IAM 間のグループマッピングは設定済みとなっている (Administratorsグループのみ)  テナント開設時に登録したユーザーは、IDCS・IAM それぞれの認証基盤で ユーザーが作成されている
  7. OCI コンソールへのサインイン Copyright © 2020, Oracle and/or its affiliates, Confidential:

    Internal/Restricted/Highly Restricted 8 IDCSで管理しているユーザー にてログインする場合 IAMで管理しているユーザー にてログインする場合 • OCI IAM or IDCS どちらからでもサインインは可能、ただしユーザー/パスワードは管理が異なる • IDCSで管理しているユーザーでは、「My Service」にアクセスでき、OCI以外のサービスにもアクセスができる • IDCSで管理しているユーザーにてOCIを利用する事もでき、その場合は IDフェデレーション にてIDCSとOCIのユーザーを統合する • OCIで管理しているユーザーでは、oracle.com からはログインできず、「My Service」にもアクセスできない。 https://console.us-ashburn-1.oraclecloud.com/ のようなダイレクトURLからOCIにログインが可能。
  8. Oracle Cloud Infrastructure コンソール画面へのログイン Copyright © 2020, Oracle and/or its

    affiliates, Confidential: Internal/Restricted/Highly Restricted 9 1
  9. コンソール画面へのログイン Copyright © 2020, Oracle and/or its affiliates, Confidential: Internal/Restricted/Highly

    Restricted 10 1.ログインURLへアクセス > https://www.oracle.com/jp/cloud/sign-in.html(テナント管理者の場合) > https://console.ap-tokyo-1.oraclecloud.com/?tenant=テナント名 ・IAMユーザーの場合:画面右側のフォームよりログイン ・IDCSユーザーの場合:画面左側のフォームよりログイン 2.アカウント名・ユーザー名・パスワードを入力 3.コンソール画面が表示 テナント管理者以外のログインURLは、リージョンごとに異なります。 サブスクライブしていないリージョンのURLにアクセスした場合、 リダイレクトの画面を挟みます。 各リージョンのURLについては下記を参照してください。 https://docs.cloud.oracle.com/ja-jp/iaas/Content/GSG/Tasks/signingin.htm#one
  10. Oracle Cloud Infrastructure コンパートメントの作成 Copyright © 2020, Oracle and/or its

    affiliates, Confidential: Internal/Restricted/Highly Restricted 11 2
  11. コンパートメントの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential: Internal/Restricted/Highly

    Restricted 12 1.メニューの表示( ) 2.アイデンティティ → コンパートメント を選択
  12. コンパートメントの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential: Internal/Restricted/Highly

    Restricted 13 1.「コンパートメントの作成」押下 2.任意のコンパートメント名、及び、説明を 入力し、親コンパートメントを指定 参考例: 名前:pj-XXX(許容文字 a-zA-Z0-9.-_ のみ) 説明:XXXプロジェクト用コンパートメント 親コンパートメント:root 3. 「コンパートメントの作成」押下 4.コンパートメントの一覧に作成した名称のコン パートメントが表示されていることを確認
  13. Oracle Cloud Infrastructure グループの作成 Copyright © 2020, Oracle and/or its

    affiliates, Confidential: Internal/Restricted/Highly Restricted 14 3
  14. グループの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential: Internal/Restricted/Highly

    Restricted 15 1.メニューの表示( ) 2.アイデンティティ → グループ を選択
  15. グループの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential: Internal/Restricted/Highly

    Restricted 16 1.「グループの作成」押下 2.任意のグループ名、及び、説明を入力 参考例: 名前:dev-member(許容文字 a-zA-Z0-9.-_ のみ) 説明:開発者用グループ 3. 「作成」押下 4.グループの一覧に作成した名称のグループが 表示されていることを確認 複数のグループを作成する場合、 必要に応じて本手順を繰り返してください。 ※少なくとも権限を分ける単位で作成することをオススメします。
  16. Oracle Cloud Infrastructure ポリシー の作成 Copyright © 2020, Oracle and/or

    its affiliates, Confidential: Internal/Restricted/Highly Restricted 17 4
  17. ポリシーの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential: Internal/Restricted/Highly

    Restricted 18 1.メニューの表示( ) 2.アイデンティティ → ポリシー を選択
  18. ポリシーの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential: Internal/Restricted/Highly

    Restricted 19 1.「ポリシーの作成」押下 2.任意のポリシー名、及び、説明を入力 参考例: 名前:dev-member-policy(許容文字 a-zA-Z0-9.-_ のみ) 説明:開発者グループ用ポリシー コンパートメント:xxxx ※ポリシーを子コンパートメントに配置した場合、 当該コンパートメントよりも上位のコンパートメント範囲を 指定したポリシー・ステートメントは設定できません
  19. ポリシー・ビルダーで設定する場合 ポリシーの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential:

    Internal/Restricted/Highly Restricted 20 3.ポリシー・ユースケースのリストから 管理・操作の対象を選択します。選択した内容に 従って、共通ポリシー・テンプレートの内容が 絞り込まれます。 参考例: ポリシー・ユースケース:ネットワーク管理 4.共通ポリシー・テンプレートのリストから、 具体的な管理・操作の内容を選択します。 参考例: 共通ポリシー・テンプレート: ネットワーク管理者がクラウド・ネットワークを 管理できるようにします。
  20. ポリシー・ビルダーで設定する場合 ポリシーの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential:

    Internal/Restricted/Highly Restricted 21 5.共通ポリシー・テンプレートを設定すると、選 択した内容に応じた設定フォームが下部に表示され ます。権限を与えたいグループ、及び、権限を与え たい範囲 (コンパートメント) を設定します。 参考例: グループ:network-admins 場所:pj-xxx ※ポリシー・ビルダーにないユースケース/権限設 定を行いたい場合は、カスタマイズ(拡張) をクリッ クし、個別にポリシー・ステートメントをテキスト 入力していきます。 設定するステートメントに関する参考例は、 本資料の「ポリシーの記載例」を参考に 必要に応じた設定を行ってください。
  21. Oracle Cloud Infrastructure IAM ユーザー の作成 Copyright © 2020, Oracle

    and/or its affiliates, Confidential: Internal/Restricted/Highly Restricted 22 5-A
  22. IAMユーザーの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential: Internal/Restricted/Highly

    Restricted 23 1.メニューの表示( ) 2.アイデンティティ → ユーザー を選択
  23. IAMユーザーの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential: Internal/Restricted/Highly

    Restricted 24 1.「ユーザーの作成」押下 2.任意のユーザー名、及び、説明を入力 参考例: 名前:ユーザーのメールアドレス (許容文字 a-zA-Z0-9.-_+@ のみ) 説明:xxxプロジェクト開発者△△ 電子メール:ユーザーのメールアドレス (確認も同様) 3.「作成」を押下 ・IDCSユーザーでコンソールにログインしている場合は、この画面を通じてIDCSユーザー の作成を選択することも可能です。ここでは、IAMユーザーの作成手順を紹介しています。 ・ユーザー名は、ユーザーの管理権限を持つユーザーであれば閲覧可能です。ユーザー名 を参照させたくない場合、ユーザー管理権限を与えないようにしてください。 ・メールアドレスの登録はオプションとなりますが、ユーザーがパスワードリセットする 際に必要となりますので登録を推奨します。
  24. パスワードの発行 IAMユーザーの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential:

    Internal/Restricted/Highly Restricted 25 1.対象のユーザーの詳細画面より、「パスワード の作成/リセット」を押下 2.「パスワードの作成/リセット」を押下 3.表示された新規パスワードを「コピー」のうえ、 「閉じる」を選択 4.コピーしたパスワードを対象のユーザーへ共有
  25. グループへの追加 IAMユーザーの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential:

    Internal/Restricted/Highly Restricted 26 <ユーザーの詳細画面から行う場合> 1.ユーザーの詳細画面の左下「リソース」→ 「グループ」を選択し、「ユーザーをグループに 追加」押下 2.対象のグループ名を選択し、「追加」 <グループの詳細画面から行う場合> 1.グループの詳細画面の左下「リソース」→ 「グループ・メンバー」を選択し、「ユーザーを グループに追加」を押下 2.対象のユーザーを選択し、「追加」
  26. Oracle Cloud Infrastructure IDCS ユーザー の作成 Copyright © 2020, Oracle

    and/or its affiliates, Confidential: Internal/Restricted/Highly Restricted 27 5-B
  27. IDCSユーザーの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential: Internal/Restricted/Highly

    Restricted 28 1.プロファイルの表示( ) 2.サービス・ユーザー・コンソールを選択 ※テナントの管理者で実施してください 3. Oracle Identity Cloud Service の 管理コンソール を起動
  28. IDCSユーザーの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential: Internal/Restricted/Highly

    Restricted 29 1.IDCSユーザーを追加するため、[Add a user.] ( )アイコンをクリック 2.ユーザの姓名、メールアドレスを設定し、 [Finish] ボタンを押下 3.ユーザ作成が完了した旨が通知される ・[Import users.]( )アイコンから、 複数ユーザーをcsvからインポートすることも 可能です
  29. 作成したユーザーのアクティベーション IDCSユーザーの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential:

    Internal/Restricted/Highly Restricted 30 ユーザーを作成すると、作成時に指定したWork Email宛に アクティベーション用のメールが配信されます。 メール内の ボタンをクリックするか、 http Linkを使用して、ユーザーのアクティベーションを実 行します。(このリンクは24時間後に無効になります。) ※パスワードのリセットが必須です。 パスワードの設定ルールに注意してください。 ユーザの追加は完了です。
  30. IDCSグループの作成 Copyright © 2020, Oracle and/or its affiliates, Confidential: Internal/Restricted/Highly

    Restricted 31 1.IDCSグループを追加するため、[Add a group.] ( )アイコンをクリック 2.グループ名等を設定し、[Next] ボタンを押下 3.追加したい IDCS ユーザーにチェックを入れ、 [Finish] ボタンを押下 4.グループ作成が完了した旨が通知される ・[Import groups.]( )アイコンから、複数グループ をcsvからインポートすることも可能です ・既存のグループに追加する場合はグループメニューか ら追加します。
  31. IDCSグループとOCI グループのマッピング Copyright © 2020, Oracle and/or its affiliates, Confidential:

    Internal/Restricted/Highly Restricted 32 1.メニューの表示( ) 2.アイデンティティ → フェデレーション を選択 3.[OracleIdentityCloudService] をクリック
  32. IDCSグループとOCI グループのマッピング Copyright © 2020, Oracle and/or its affiliates, Confidential:

    Internal/Restricted/Highly Restricted 33 1.リソース欄から グループ・マッピング を選択 2.マッピングの追加 ボタンをクリック 3.アイデンティティ・プロバイダ・グループ のリスト ボックスより、IDCS グループを選択し、OCI グループ の リストボックスより、マッピングさせるOCI グループを 設定の上、[マッピングの追加] ボタンを押下
  33. Oracle Cloud Infrastructure ポリシーの記載例 Copyright © 2020, Oracle and/or its

    affiliates, Confidential: Internal/Restricted/Highly Restricted 34 6
  34. 開発者へ与えることを検討してもよい権限 ポリシーの記載例1/4 Copyright © 2020, Oracle and/or its affiliates, Confidential:

    Internal/Restricted/Highly Restricted 35 例1)開発者へ あるコンパートメントにおける自由な権限を与える(ただし、データ転送ジョブ等の作成は不可) ※最小権限の原則に則り、設計段階などで より詳細な権限を検討することを推奨 例2)テナント内のサービス制限を閲覧する権限を与える 例3)通知の閲覧権限を与える (メンテナンス情報などの閲覧に必要) 例4)動的グループの作成権限 (インスタンス・プリンシパルの作成に必要) Allow group <group_name> to manage all-resources in compartment <compartment_name> where all{request.permission != ‘TRANSFER_JOB_CREATE’, request.permission != ‘TAG_NAMESPACE_CREATE’} Allow any-user to inspect limits in tenancy Allow any-user to read announcements in tenancy Allow any-user to manage dynamic-groups in tenancy コンパートメントの作成も不可にする場合、 条件に「request.permission != ‘COMPARTMENT_CREATE’」を追加
  35. 開発者へ与えることを検討してもよい権限 ポリシーの記載例2/4 Copyright © 2020, Oracle and/or its affiliates, Confidential:

    Internal/Restricted/Highly Restricted 36 例5)ユーザーの管理権限(作成・更新・削除含む) 例6)グループの管理権限(作成・更新・削除含む) 例7)ポリシーの管理権限(作成・更新・削除含む) Allow group <group_name> to manage users in tenancy Allow group <group_name> to manage groups in tenancy Allow group <group_name> to manage policies in tenancy
  36. 下記サービスを利用する場合に与える必要がある権限 ポリシーの記載例3/4 Copyright © 2020, Oracle and/or its affiliates, Confidential:

    Internal/Restricted/Highly Restricted 37 例1)Object Storage のリモートコピーの利用 例2) OKE の利用 例3)Functions の利用 例4) Events の利用 Allow service objectstorage to manage object-family in tenancy Allow service OKE to manage all-resources in tenancy Allow service FaaS to read repos in tenancy Allow any-user to manage repos in tenancy Allow service cloudEvents to use ons-topic in tenancy Allow service cloudEvents to use functions-family in tenancy Allow service cloudEvents to read streams in tenancy Allow service cloudEvents to use stream-push in tenancy
  37. コストに関連する権限(開発者・協働者などへ与えるべきでない権限) ポリシーの記載例4/4 Copyright © 2020, Oracle and/or its affiliates, Confidential:

    Internal/Restricted/Highly Restricted 38 例1)予算に関する権限 例2)使用状況のレポート に関する権限 ※付与する場合、ポリシーの先頭に定義する必要あり 例3)コスト分析 に関する権限 その他)下記を付与すると 請求書、支払い方法 などに関する権限も得る ・初期標準で作成されている管理者グループ(Administrators) にユーザーを追加しない ・ を与えない Allow group <group_name> to <verb> usage-budgets in tenancy define tenancy usage-report as ocid1.tenancy.oc1..aaaaaaaaned4fkpkisbwjlr56u7cj63lf3wffbilvqknstgtvzub7vhqkggq endorse group <group_name> to read objects in tenancy usage-report Allow group <group_name> to read usage-reports in tenancy Allow group <group_name> to manage all-resources in tenancy 「usage-administrator」といった使用状 況を管理するグループを個別で用意し、 必要最小限のユーザーに権限を付与す るなども推奨されます
  38. 参考)ポリシーに関するドキュメント Copyright © 2020, Oracle and/or its affiliates, Confidential: Internal/Restricted/Highly

    Restricted 39 共通ポリシー: 組織内で使用する可能性がある一般的なポリシーに関するリファレンス https://docs.oracle.com/cd/E97706_01/Content/Identity/Concepts/commonpolicies.htm ポリシーリファレンス: verb や resource type に関する詳細なリファレンス https://docs.cloud.oracle.com/ja-jp/iaas/Content/Identity/Reference/policyreference.htm コンパートメント割当て: サービス別の使用可能な割当て制限に関するリファレンス https://docs.oracle.com/cd/E97706_01/Content/General/Concepts/resourcequotas.htm#four
  39. ログイン方法やパスワード管理で混乱を避けるため、基本的には どちらかで統一する 参考)IDCS/IAM をどのように利用していくべきか Copyright © 2020, Oracle and/or its

    affiliates, Confidential: Internal/Restricted/Highly Restricted 40 IDCS で管理していく場合 IAM で管理していく場合 ・すべて無償の範囲で行える(IDCSほど高機能で はないもののIPホワイトリストや多要素認証は可 能) ・OCIの権限管理は IAMのみを考慮すれば良い ・ユーザー作成は逐次、または、CLIやAPIを経由 ・IAMユーザーで 利用可能なサービスは、OCI に 閉じたもののみ。 ・多要素認証や IP ホワイトリストなどIAMと比 較して高機能だが有償の範囲となる ・IAMでの権限管理だけでなく、IDCS側での管 理についても考慮が必要 ・IDCSで作成したグループは、IAM側のグルー プとマッピングしなければならない ・ユーザーやグループの一括インポートが可能 ・OCI以外のOracle Cloudサービスの利用も可能