tomy_125: Note

tomy_125 の個人的なメモ

OCI コンソールの接続元IPアドレスの制限とCLIからの解除

目次

やること

  • OCIコンソールにログインを許可する接続元のIPアドレスを制限
  • 接続元IP制限で誤ってコンソールログインできなくなってしまった場合の制限解除

接続元の制限

ネットワーク・ソースの作成

  • ネットワーク・ソースに遷移 f:id:tomy_125:20220214225319p:plain

  • ネットワーク・ソースの作成 f:id:tomy_125:20220214225705p:plain

  • 項目を入力して作成を押下します。

  • OCI以外からのアクセスを許可する場合は、接続元のCIDRブロックを指定します。(パブリックIP)

f:id:tomy_125:20220214230033p:plain

認証設定

  • 「認証設定」に遷移します。

f:id:tomy_125:20220214230319p:plain

  • 認証設定の編集

f:id:tomy_125:20220214230534p:plain

  • 作成したネットワーク・ソースを選択し保存します。

f:id:tomy_125:20220214230655p:plain

接続確認

一度ログアウトし、ネットワークを切り替えてログインを試みます。

  • 認証設定の管理 ネットワーク・ソース制限に対する変更が有効になるタイミング

ネットワーク・ソース制限が定義されると、コンソールにサインインしているユーザーは現在のセッションを続行できますが、サインアウト後、次回サインインしようとしたときにネットワーク制限が適用されます。

f:id:tomy_125:20220215093448p:plain

制限解除

  • 「事前設定」、「事前確認」については「接続元の制限」を行う前にやっておきましょう。

環境変数$tenant_idも事前に設定しています。

事前設定

  • APIキーの設定が行われていることを確認します。
  • OCICLIの初期設定時に設定されているはずです。

  • 「プロファイル」メニュー から「ユーザー設定」→「APIキー」タブを選択し、
    OCICLIの初期設定で設定したキーが表示されていれば問題ありません。

f:id:tomy_125:20220214223326p:plain

事前確認

  • ネットワーク・リソースを設定する前の設定を確認しておきます。
$ oci iam authentication-policy get --compartment-id $tenant_id
{
  "data": {
    "compartment-id": "ocid1.tenancy.oc1.****",
    "network-policy": {
      "network-source-ids": []
    },
    "password-policy": {
      "is-lowercase-characters-required": true,
      "is-numeric-characters-required": true,
      "is-special-characters-required": true,
      "is-uppercase-characters-required": true,
      "is-username-containment-allowed": false,
      "minimum-password-length": 8
    }
  },
  "etag": "bea7c39e38d4ee6176c31bcbdae9b955e97fdc68"
}

OCICLIから制限解除

  • では実際に解除します。

input.json で使用するフォーマットを確認します。

$ oci iam authentication-policy update --compartment-id $tenant_id --generate-full-command-json-input
{
  "compartmentId": "string",
  "force": true,
  "ifMatch": "string",
  "networkPolicy": {
    "networkSourceIds": [
      "string",
      "string"
    ]
  },
  "passwordPolicy": {
    "isLowercaseCharactersRequired": true,
    "isNumericCharactersRequired": true,
    "isSpecialCharactersRequired": true,
    "isUppercaseCharactersRequired": true,
    "isUsernameContainmentAllowed": true,
    "minimumPasswordLength": 0
  }
}
  • 上記をもとにinput.jsonを作成します。今回は以下の様にします。
$ cat input.json 
{
  "compartmentId": "ocid1.tenancy.oc1..****",
  "force": true,
  "networkPolicy": {
    "networkSourceIds": []
  },
  "passwordPolicy": {
    "isLowercaseCharactersRequired": true,
    "isNumericCharactersRequired": true,
    "isSpecialCharactersRequired": true,
    "isUppercaseCharactersRequired": true,
    "isUsernameContainmentAllowed": false,
    "minimumPasswordLength": 8
  }
}
  • 以下を実行し、ネットワーク・ソースの設定を解除します
$ oci iam authentication-policy update --compartment-id $tenant_id --from-json file://input.json


$ oci iam authentication-policy get --compartment-id $tenant_id

参考