ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
タグおよびOCIファンクションを使用したOCI IAMアイデンティティ・ドメイン・ユーザーの機能管理の自動化
イントロダクション
セキュリティのベスト・プラクティスとして、お客様はOracle Cloud Infrastructure Identity and Access Management (OCI IAM)ユーザーの未使用機能を無効にすることを検討しています。これにより、APIキー、認証トークンなどの非標準資格証明を介した攻撃を回避できます。
ユーザー機能は、管理者がユーザーの詳細で管理します。各ユーザーはそれぞれの機能を表示できますが、これらを有効または無効にできるのは管理者のみです。フェデレーテッド・ユーザーが使用できるユーザー機能は:
- コンソールのパスワード
- API署名キー
- 認証トークン
- Simple Mail Transfer Protocol (SMTP) credentials
- 顧客秘密キー
- OAuth 2.0クライアント資格証明
ノート: コンソール・パスワード機能はフェデレーション・ユーザーには使用できません。フェデレーテッド・ユーザーは、サインイン時のパスワードが管理されるアイデンティティ・プロバイダ(IdP)を介してコンソールで認証します。
デフォルトでは、これらの機能は新規ユーザーをプロビジョニングすると有効化されるため、ユーザーは自分のこれらの資格証明を作成できます。これらのユーザー資格証明の詳細は、ユーザー資格証明の使用を参照してください。
このソリューションは、タグを使用して、既存または新規ユーザーの機能管理を自動化するのに役立ちます。この自動化には次の2つのモードがあります。
-
一括モード:入力ペイロードなしで、ドメイン内のすべてのユーザーを処理します。これは、OCIリソース・スケジューラで実行または起動するか、手動で実行できます。
-
単一モード:構成済のイベント・ルールで生成された作成イベント(ユーザー作成イベント)に基づいて、単一のユーザーに対してファンクションを自動的に実行します。
OCI Events Serviceとの統合により、作成時に提供されたタグに基づいて、新規ユーザーの機能を適切に管理できます。
目的
- タグと機能に基づいてOCI IAMアイデンティティ・ドメイン・ユーザーの機能を管理するネイティブ・ソリューションを実装します。
前提条件
-
OCIテナンシへのアクセス。
-
OCI Events Serviceルール、Oracle Applications、OCI FunctionsおよびOCI Taggingを管理するための権限。
タスク1: 必要なポリシーとOCI IAM権限の設定
このソリューションの各コンポーネントは、相互作用するOCIリソースにアクセスできる必要があります。このチュートリアルに従うには、次の権限が必要です。
-
ユーザー・ポリシー: OCIイベント・サービス・ルールおよびOCIファンクションを管理します。
-
サービス・ポリシー:ユーザー機能を管理するためのファンクション権限を付与します。動的グループが必要です。
詳細なポリシーの詳細は、イベント・サービスの詳細およびファンクションの詳細を参照してください。
タスク2: タグ・ネームスペース、タグ・キーおよびタグ値の定義
タグはこのソリューションのベースであるため、必要なタグ・ネームスペースおよびタグ・キーを配置する必要があります。
タスク2.1: タグ・ネームスペースの作成
-
OCIコンソールに移動し、「ガバナンスと管理」、「テナンシ管理」に移動して、「タグ・ネームスペース」をクリックします。
-
現在のコンパートメントのタグ・ネームスペースのリストが表示されます。「タグ・ネームスペースの作成」をクリックします。
-
タグ・ネームスペースの作成ページで、次の情報を入力します。
- コンパートメントに作成:ネームスペース定義を作成するコンパートメントを選択します。
- ネームスペース定義名:このタグの一意の名前を入力します。名前は、テナンシ内で一意にする必要があります。タグ・ネームスペースは、大文字と小文字が区別されません。この値は後で変更できません。機密情報を入力しないでください。
- 説明:簡単な説明を入力します。この値は、必要に応じて後で変更できます。
-
「タグ・ネームスペースの作成」をクリックします。

タスク2.2: タグ・キー定義の作成
-
「タグ・ネームスペース」ページで、タグ・キー定義を追加するタグ・ネームスペースをクリックします。
-
「タグ・ネームスペースの詳細」ページで、「タグ・キー定義の作成」をクリックします。
-
タグ・キー定義の作成ページで、次の情報を入力します。
- タグ・キー:キーを入力します。値は、api_keys、console_password、auth_tokens、customer_secret_keys、db_credentials、o_auth2_client_credentialsおよびsmtp_credentialsのいずれかである必要があります。
- 説明:簡単な説明を入力します。
- コスト・トラッキング:選択すると、このタグがコスト・トラッキングに対して有効になります。テナンシでは最大10個のコスト・トラッキング・タグを使用できます。
-
「タグ値タイプ」で、「値リスト」を選択し、「値」に「はい」と入力します。そうしないと、これらの機能はユーザーに対して無効になります。
-
「タグ・キー定義の作成」をクリックします。

タスク2.3: ユーザーへのタグの追加
-
既存のユーザーにタグを追加します。
-
OCIコンソールに移動し、「アイデンティティとセキュリティ」、「アイデンティティ」に移動して、「ドメイン」をクリックします。
-
現在のコンパートメント内のドメインのリストが表示されます。ドメインを選択して「ユーザー」をクリックします。タグを追加するユーザーを検索してクリックします。
-
「他のアクション」ドロップダウン・メニューから、「タグの追加」をクリックします。
-
「タグの追加」ページで、次の情報を入力します。
- 「タグ・ネームスペース」を選択します。
- 「タグ・キー」を選択します。
- 「値」で、リストからいずれかを選択します。
- 別のタグを適用するには、「タグの追加」をクリックします。
-
タグの追加が完了したら、「タグの追加」をクリックします。
-
-
新しいユーザーに追加します。新規ユーザーの作成時に、「拡張オプションの表示」からタグを追加します。

ノート:有効にするすべての機能のタグを追加します。
タスク3: OCI関数の開発とデプロイ
この関数は、ユーザーのタグを読み取り、その機能に対してアクションを実行します。そのためには、次の操作を実行します。
-
ファンクション構成からタグ・ネームスペース(
tag_namespace)を読み取ります。 -
機能構成から管理する機能(
manage_capability)を読み取ります。 -
関数構成から関数機能入力(
function_feature)を読み取ります。 -
ファンクション構成からターゲット・ドメイン(
domain_ocids)を読み取ります(バルク・モードの場合)。 -
ユーザーのタグを確認します。
-
欠落しているタグに従って、ユーザーの機能を無効化または有効化します。
GitHubからファンクション・コードをダウンロードし、コードをカスタマイズしてデプロイします。
-
iam-user-capability-managementからGitHubリポジトリをダウンロードします。
-
OCIファンクションの作成およびデプロイに記載されている手順に従います。
詳細は、ファンクションの作成を参照してください。
タスク4: OCIリソース・スケジューラでのスケジュールの作成
-
OCIコンソールに移動し、「ガバナンスと管理」、「リソース・スケジューラ」に移動して「スケジュール」をクリックします。
-
スケジュールの作成をクリックします。
-
「基本情報」に、「スケジュール名」、「スケジュールの説明」および「開始」として実行するアクションを入力し、「次へ」をクリックします。
-
「リソース」で、ファンクション・コンパートメントとファンクションを選択し、「次」をクリックします。
-
「スケジュール」で、「日次」を選択し、要件に従って他のパラメータを構成します。
-
繰返し間隔:スケジュールを実行する頻度を入力するか、メニューを使用して間隔を選択します。最小値は1です。最大値は99です。
-
開始時間:時間および分を24時間形式で入力します。
-
-
「次へ」をクリックし、情報を確認します。スケジュールの作成をクリックします。
これにより、スケジュールされた間隔で関数が実行されます。詳細は、スケジュールの作成を参照してください。
タスク5: OCIイベント・サービスでのイベント・ルールの設定
-
OCIコンソールに移動し、「監視および管理」、「イベント・サービス」に移動して、「ルール」をクリックします。
-
ルート・コンパートメントを選択して、「ルールの作成」をクリックします。
-
「表示名」および「説明」を入力します。
-
「ルール条件」セクションに、次の情報を入力します。
- 条件: 「イベント・タイプ」を選択します。
- サービス名: 「アイデンティティ」を選択します。
- イベント・タイプ: 「ユーザー作成」を選択します。
-
「処理」セクションに、次の情報を入力します。
- アクション・タイプ: 「ファンクション」を選択します。
- 「ファンクション・アプリケーション」および「ファンクション」を選択します。
-
「ルールの作成」をクリックします。
これにより、新しいユーザーが作成されたときにファンクションが起動されます。詳細は、イベント・ルールの作成を参照してください。

ノート:イベント・ルールおよびファンクション・アプリケーションのログを有効にすると、追加の監視機能が提供されます。
関連リンク
承認
- 作成者 - Bhanu Prakash Lohumi
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントは、Oracle Help Centerを参照してください。
Automate OCI IAM Identity Domain Users Capability Management using Tags and OCI Functions
G24406-01
January 2025