# mulesoft Api Governance - Full Documentation # Anypoint API Governance Release Notes The following release notes are provided for API Governance: - [Anypoint API Governance Release Notes](https://docs.mulesoft.com/jp/release-notes/api-governance/api-governance-release-notes) ## [](#see-also)See Also - [Anypoint API Governance Overview](https://docs.mulesoft.com/api-governance/) - [Known Issues](https://help.salesforce.com/s/issues) # Anypoint API Governance の概要 Anypoint API Governance は、API ライフサイクルの一部として API にガバナンスルールを適用できる、Anypoint Platform のコンポーネントです。 Anypoint API Governance では、次の作業を行うことができます。 - 組織の API 品質を改善する: 管理対象 API の準拠の問題を特定し、それらを解決するための手順を実行します。 - ガバナンスのベストプラクティスを共有および適用する: ガバナンスルールセットをカスタマイズしてパブリッシュし、組織固有のベストプラクティスを開発者と共有および適用します。 - 設計時からデプロイメントで一貫したルールを適用する: ガバナンスルールセットを使用して、設計時の仕様からデプロイメント時のインスタンスまで、API の複数のアスペクトに一元化されたガバナンスを適用します。 - DevOps 組織内でガバナンスを適用する: CI/CD パイプラインで CLI コマンドを使用して、API Governance を自動化します。 ## [](#anypoint-api-governance-の概要動画)Anypoint API Governance の概要動画 Anypoint API Governance の「Product Spotlight (製品スポットライト)」動画で Anypoint API Governance の概要を確認してください。 ![](https://play.vidyard.com/7WKYVy5YMWeXAXH7Gu1gMb.jpg) ## [](#governance-コンソール)Governance コンソール API Governance コンソールで、ガバナンス管理者は​[ガバナンスルールセット](#gov-rulesets)​を​[ガバナンスプロファイル](#gov-profiles)​に追加して、組織全体で複数の API にガバナンスルールセットを適用できます。API Governance コンソールには、検証されたすべての API の準拠の概要が表示されます。 API の準拠を監視し、準拠を改善するために開発者に通知します。 ![API Governance コンソールのスクリーンショット](/mulesoft/current/ja-jp/api-governance/_images/api-gov-console.png)
1ガバナンスプロファイル​、​ガバナンス状況​、​準拠状況​、​重大度別非準拠​の数値および視覚的な概要を確認します。
2ガバナンスプロファイルまたは管理対象 API の概要リストの確認、絞り込み、検索を行います。
3準拠レポートを CSV 形式でエクスポートします。
4新しいプロファイルを追加します。
5API の包括的なガバナンスレポートを確認します。
6その他のオプションメニューから選択して、関連するアクションを実行します。選択したプロファイルまたは API のレポートをエクスポートしたり、プロファイルを表示、編集、削除したり、API オーナーに通知したり、Exchange で API を開いたりすることができます。
## [](#anypoint-platform-全体のガバナンス)Anypoint Platform 全体のガバナンス Anypoint Platform コンソールで API 準拠情報を表示するだけでなく、開発者、アーキテクト、実装者は、次のツールを使用してガバナンス準拠情報を表示し、問題を修正するためのアクションを実行できます。 - Exchange - 開発者は、パブリッシュされた API 仕様の準拠状況の詳細を表示し、ルールセットを検出し、カスタムルールセットをパブリッシュできます。 - 実装者は、ルールセットを表示して、API インスタンスの準拠の問題を修正する方法を決定できます。 - Design Center API Designer: - 開発者やアーキテクトは、ガバナンスルールセットを連動関係として API 仕様に直接適用して、API 設計フェーズで API 準拠を確認できます。 - API Manager: - 実装者は、包括的なガバナンスレポートを表示して、API インスタンスの準拠を確認できます。 ## [](#anypoint-api-governance-の概念)Anypoint API Governance の概念 Anypoint API Governance を使用するために知っておく必要のある概念を次に示します。 ガバナンスプロファイル ガバナンスプロファイルは、選択したガバナンスルールセットを絞り込んだ API グループに適用します。その後、API Governance はルールセットに対して API を検証し、ガバナンス準拠を判断します。 ガバナンスルールセット ガバナンスルールセットは、Anypoint Platform の API から抽出されたメタデータに適用できる、ルールのコレクションまたはガイドラインです。ガバナンスルールセットを適用に使用できる例: - 命名規則などの内部および外部のベストプラクティスのガイドライン - 機密 API データ (HTTPS) の暗号化 (HTTPS) などの業界固有の政府標準 MuleSoft は、「Anypoint API Best Practices (Anypoint API ベストプラクティス)」、「OpenAPI Best Practices (OpenAPI ベストプラクティス)」、「Authentication Security Best Practices (認証セキュリティベストプラクティス)」、「Mule API Management Best Practices (Mule API 管理ベストプラクティス)」など、Exchange でいくつかのルールセットを提供しています。​**\[Rulesets (ルールセット)\]**​ 種別で検索を絞り込んで、Exchange のルールセットを発見できます。​[「アセットの検索」](https://docs.mulesoft.com/jp/exchange/to-find-info)​を参照してください。 管理対象 API API は、少なくとも 1 つのガバナンスプロファイルの選択条件によって識別された場合に管理されます。API が管理されている場合、その API のすべてのバージョンが 1 つの管理対象 API とみなされます。サブスクリプション制限は、組織の購入済みの容量に基づいて設定されます。UI には使用量に関する情報が表示され、サブスクリプション容量に近づいたり超えたりしたときにアラートが表示されます。 API 準拠 API 準拠は、検証済み API が 1 つ以上のガバナンスルールセット内のすべての必須ルールに合格するかどうかを示します。複数のプロファイルが API を対象とする場合、その API が準拠するは、それらすべてのプロファイルのすべてのルールセットに合格する必要があります。 API 準拠は、REST API や AsyncAPI など、API Governance によってサポートされる API 種別のみに適用されます。 API すべての側面を含む API 全体。Anypoint Platform では、管理する製品のコンテキストでは API の側面が単に API と呼ばれることもあります。たとえば、Exchange では、API が API の仕様、ドキュメント、カタログを指す場合があります。API Designer では、API が API 仕様を指す場合があります。API カタログでは、API が API のインスタンス、ポリシー、コントラクトを指す場合があります。 API の側面 API の各部。API の側面の例としては、仕様、インスタンス、カタログ情報、ドキュメントなどがあります。 API 仕様 API の機能と予期される動作、そして設計の基本理念やサポートされるデータ型などの詳細を定義します。API 仕様にはドキュメントと API 定義が含まれ、人間とソフトウェアが読むことのできるコントラクトを作成します。 API 実装 API を機能させるための API 仕様の具現化。 API インスタンス API 実装のインスタンス化。API にはさまざまな環境やゲートウェイの複数のインスタンスを含めることができ、クライアントはこれらを使用して API コールを行うことができます。設定されていてもデプロイされていないインスタンスもこの側面の一部として取得されます。 インスタンスは、アップストリーム用の API のプロキシ、またはアプリケーションエンドポイントのいずれかです。 API ドキュメント コンシューマーが API について理解して使用するのに役立ち、例、ユースケース、チュートリアルなどのコンテンツが含まれています。 API カタログ情報 名前、バージョン、オーナー (コンタクト)、タグ、カテゴリなど、API カタログの API のエントリに関連したプロパティ。 Anypoint Exchange では、これらのプロパティはアセットポータル情報で API アセットに関連付けられています。 ## [](#関連情報)関連情報 - [Anypoint API Governance 入門](https://docs.mulesoft.com/jp/api-governance/get-started) - [Anypoint Platform 用語集](https://docs.mulesoft.com/jp/general/glossary) # Anypoint API Governance 入門 UI、および​[「Anypoint API Governance の概要」](https://docs.mulesoft.com/jp/api-governance/)​で説明されている概念を把握したら、API の管理を開始できます。 ## [](#始める前に)始める前に API Governance の使用を開始する前に、次のセクションを参照してください。 - [権限を確認する](#verify-permissions) - [追加機能にオプトインする](#opt-in) ### [](#verify-permissions)権限を確認する 次のいずれかの権限で API Governance にアクセスできることを確認します。 - **\[API Governance\]**​ > ​**\[Governance Viewer (ガバナンス閲覧者)\]** この権限により、API 開発者やアーキテクトなどの API Governance ユーザーが次の操作を実行できます。 - API Governance コンソールの準拠の概要を表示する。 - 参照権限のある管理対象 API のリストを含む ​**\[Governed APIs (管理対象 API)\]**​ を表示する。 - API の詳細なガバナンスレポートを CSV 形式でダウンロードする。 - **\[API Governance\]**​ > ​**\[Governance Administrator (ガバナンス管理者)\]** この権限により、API Governance やセキュリティ担当者などの API Governance ユーザーに API Governance へのフルアクセス権が付与されます。 API Governance の権限設定に関係なく、Anypoint Platform 組織のシステム管理者には API Governance へのフルアクセス権が付与されます。 より高いレベルの権限により、​**\[Governance Viewer (ガバナンス閲覧者)\]**​ 権限が上書きされます。ユーザーが ​**\[Governance Administrator (ガバナンス管理者)\]**​ 権限を持っている場合、または組織のシステム管理者である場合、そのユーザーに ​**\[Governance Viewer (ガバナンス閲覧者)\]**​ 権限を設定しても、権限は制限されません。 ### [](#opt-in)追加機能にオプトインする システム管理者であり、API Governance コンソールにオプトインバナーが表示されている場合、ビジネスグループ (組織) の追加機能を取得するにはオプトインします。​[2023 年 10 月 17 日の API Governance リリースノートエントリ](https://docs.mulesoft.com/jp/release-notes/api-governance/api-governance-release-notes##oct-17-2023)​を参照してください。 このドキュメントは、オプトイン後に使用できる製品の全機能を対象として記述されています。 ## [](#api-を管理する)API を管理する 次の手順を使用して API を管理します。 1. 管理する API を​[識別します](https://docs.mulesoft.com/jp/api-governance/add-tags)​。 2. [ガバナンスプロファイルを設定](https://docs.mulesoft.com/jp/api-governance/create-profiles)​して、どの API にどのルールセットを適用するかを識別します。 3. API Governance コンソールで​[ガバナンス準拠状況を監視します](https://docs.mulesoft.com/jp/api-governance/monitor-api-conformance)​。 4. API を設計するときに、API Designer および Exchange で​[仕様の準拠の問題を検出して修正](https://docs.mulesoft.com/jp/api-governance/find-conformance-issues)​します。 5. デプロイメント時に API Manager で​[インスタンスの準拠の問題を検出して修正](https://docs.mulesoft.com/jp/api-governance/find-conformance-issues)​します。 6. [(省略可能) カスタムルールセットを作成](https://docs.mulesoft.com/jp/api-governance/create-custom-rulesets)​して、ビジネスグループ (組織) の API をより効果的に管理します。 7. [(省略可能) CLI コマンドをインストールして実行](https://docs.mulesoft.com/jp/api-governance/cli-command-list)​して、CI/CD パイプラインの一部としてガバナンスを自動化し、カスタムルールセットをより簡単に作成できます。 ## [](#関連情報)関連情報 - [権限を管理する](https://docs.mulesoft.com/jp/access-management/managing-permissions) - [API Governance の CLI コマンド](https://docs.mulesoft.com/jp/api-governance/cli-command-list) - [Anypoint API Governance の概要](https://docs.mulesoft.com/jp/api-governance/) # Anypoint CLI のトラブルシューティング Anypoint CLI コマンドを実行しようとしたときにエラーが発生した場合は、次の方法でトラブルシューティングします。 ## [](#トラブルシューティングを始める前に)トラブルシューティングを始める前に `anypoint-cli-v4`​ の最新バージョンを使用していることを確認します。使用していない場合、続行する前に最新バージョンをインストールします。[Anypoint CLI 4.x のインストール](https://docs.mulesoft.com/jp/anypoint-cli/latest/install)を参照してください。 ## [](#cli-upload-dupl-error)アップロード時の状況コード 409 エラー 重複するアセットをアップロードしようとするときに、​`exchange asset upload`​ コマンドを使用してルールセットをパブリッシュすると、​`Request failed with status code 409`​ (状況コード 409 で要求が失敗しました) というエラーが発生する可能性があります。 この問題を解決する手順は、次のとおりです。 - 次のいずれかを実行して、コマンドを変更し、一意のルールセットアセット ID を指定します。 - アセット識別子のバージョン部分を変更して、ルールセットの新しいバージョンをパブリッシュする。たとえば、​`1.0.0`​ を ​`1.0.1`​ に変更します。 更新されたコマンドの例を次に示します。 anypoint-cli-v4 exchange asset upload my-auth-best-practices/1.0.1 --name "My Best Practices Ruleset" --description "This ruleset enforces my best practices for APIs." --files='{"ruleset.yaml":"/myRulesetFolder/mynewruleset.yaml","docs.zip":"/myRulesetFolder/ruleset.doc.zip"}' - アセット識別子のアセット ID 部分を変更して、新しいアセットをパブリッシュする。たとえば、​`my-auth-best-practices`​ を ​`my-new-auth-best-practices`​ に変更します。 更新されたコマンドの例を次に示します。 anypoint-cli-v4 exchange asset upload my-new-auth-best-practices/1.0.0 --name "My Best Practices Ruleset" --description "This ruleset enforces my best practices for APIs." --files='{"ruleset.yaml":"/myRulesetFolder/mynewruleset.yaml","docs.zip":"/myRulesetFolder/ruleset.doc.zip"}' ## [](#asset-type-error)アセットタイプの判別エラー `exchange asset upload`​ コマンドを使用してルールセットまたはその他のアセットをパブリッシュするときに、次の操作を実行すると ​`Could not determine asset type, step: Publishing asset`​ (アセットタイプを判別できませんでした。ステップ: アセットのパブリッシュ) というエラーが発生する可能性があります。 - `--type`​ フラグと、1 つ以上の ​`--files`​ フラグ内の複数のファイルの種類を指定する。 複数のファイルをアップロードする場合は、​`--type`​ フラグを省略して、Anypoint CLI が各 ​`--files`​ フラグの ​`classifier.packaging`​ から正しいファイルの種類を推定できるようにします。 - Anypoint CLI が推定するアセットタイプと競合する ​`--type`​ フラグを指定する。 `--files`​ フラグオプションの ​`classifier.packaging`​ 値とファイル名が正しいこと、および ​`--type`​ で指定したアセットタイプと一致していることを確認します。 - `exchange.json`​ または ​`--properties`​ で正しくないプロパティを含める。 CLI はパラメーター、フラグ、オプションから必要なプロパティを含めるか推定するため、アセットをアップロードするときに ​`exchange.json`​ ファイルは省略可能です。カスタムルールセットのベースとなるルールセットプロジェクトをダウンロードする場合は、カスタムルールセットをアップロードする前に、次のいずれかを実行します。 - 作業フォルダーまたはプロジェクトから ​`exchange.json`​ ファイルを削除する。 - `exchange.json`​ ファイル内のプロパティを更新して、カスタムルールセットのアセット ID、名前、メインファイルなどと一致させます。 ## [](#generic-publish-error)パブリッシュできない `exchange asset upload`​ コマンドを使用してカスタムルールセットとそのドキュメントをアップロードするときに、​`unable to publish`​ (パブリッシュできません) などの具体的でないパブリッシュエラーが発生する可能性があります。 正しくないコマンド構文を使用してアセットをアップロードしようとすると、誤って正しくないアセットタイプとしてパブリッシュしてしまう可能性があります。アセット ID が同じアセットを別のアセットタイプとして再パブリッシュすることはできません。 このような状況でルールセットを再パブリッシュするには、構文を修正し、アセット ID を変更して、アップロードを再試行します。たとえば、​`my-auth-best-practices`​ を ​`my-new-auth-best-practices`​ に変更します。 更新されたコマンドの例を次に示します。 anypoint-cli-v4 exchange asset upload my-new-auth-best-practices/1.0.0 --name "My Best Practices Ruleset" --description "This ruleset enforces my best practices for APIs." --files='{"ruleset.yaml":"/myRulesetFolder/mynewruleset.yaml","docs.zip":"/myRulesetFolder/ruleset.doc.zip"}' ## [](#parse-properties-error)プロパティの解析エラー Microsoft Windows から JSON プロパティを渡す Anypoint CLI コマンドを使用しているときに、次のようなエラーが発生する場合があります。 » Error: Parsing --properties » Unexpected token ' in JSON at position 0 この問題を解決する手順は、次のとおりです。 バックスラッシュ文字 (​`\`​) を使用して JSON テキストをエスケープします。たとえば、​`"`​ と ​`/`​ を ​`\"`​ と ​`\/`​ に変更します。 更新されたコマンドの例を次に示します。 anypoint-cli-v4 exchange asset upload my-auth-best-practices/1.0.0 --name "My Best Practices Ruleset" --description "This ruleset enforces my best practices for APIs." --files='{\\"ruleset.yaml\\":\\"\\/myRulesetFolder\\/mynewruleset.yaml\\",\\"docs.zip\\":\\"\\/myRulesetFolder\\/ruleset.doc.zip\\"}' ## [](#misc-errors)その他のエラー Anypoint CLI は特定の情報を得るためにコマンドを解析します。コマンドを認識しない場合や正しく解釈しなかった場合、エラーメッセージが誤解を招いたり曖昧になったりする可能性があります。 これらのエラーをトラブルシューティングするには、次の操作を実行します。 - ドキュメントに記載されているとおりにコマンドフラグとオプションを入力していることを確認する。 - コマンド自体、フラグ、分類子、オプション、フォルダー名、ファイル名など、コマンド内のすべてが適切な大文字と小文字を使用して指定されていることを確認する。コマンドでは大文字と小文字が区別されます。 - コマンドに曲線引用符やスマート引用符が含まれていないことを確認する。曲線引用符を直線引用符 (​`'`​ または ​`"`​) に置き換えます。 - オプション値に情報を入力していることを確認する。ほとんどのコマンドの例はそのまま実行することはできません。組織 ID、環境 ID、ホスト ID、アセット識別子 GAV (グループ ID/アセット ID/バージョン)、フォルダー名、ファイル名などのパラメーターとオプションには、独自の値を使用する必要があります。 - コマンドでファイルの適切なフォルダーを指定していること、またはファイルが配置されている作業ディレクトリに変更していることを確認する。 - 同様のエラーについて [MuleSoft ヘルプセンター](https://help.mulesoft.com)​を検索する。 ## [](#関連情報)関連情報 - [API Governance の CLI コマンド](https://docs.mulesoft.com/jp/api-governance/cli-command-list) - [Anypoint CLI 4.x のインストール](https://docs.mulesoft.com/jp/anypoint-cli/latest/install) - [コマンドおよびフラグの一般的な使用](https://docs.mulesoft.com/jp/anypoint-cli/latest/intro) # API Governance の CLI コマンド Anypoint CLI コマンドを使用して、API Governance プロセスを自動化し、カスタムルールセットを操作できます。
コマンド 説明

カスタムルールセットアセットをそのドキュメントと共に Exchange にアップロードする (アセットをパブリッシュする)

検索条件を評価して、その条件を満たす API に適用されるルールセットを決定する

API 仕様を調べ、そのスキーマをリストする

指定されたガバナンスルールセットに対して API 仕様を検証する

ガバナンスルールセット定義のドキュメントファイルを作成する

ガバナンスプロファイルを作成する

ガバナンスプロファイルを削除する

特定のガバナンスプロファイル ID の情報をリストする

組織内のすべてのガバナンスプロファイルをリストする

ガバナンスプロファイルを更新する

ガバナンスルールセットをコピーし、指定された更新をルールに適用する

ルールセットルールをリストする

データスキーマに基づいてガバナンスルールセット定義を初期化する

ガバナンスルールセット仕様の形式を検証する

# [](#install-anypoint-cli)Anypoint Platform CLI をインストールする API Governance CLI コマンドを使用する予定がある場合は、コマンドを実行する場所に Anypoint Platform CLI をインストールします。Anypoint CLI のインストールには、API Governance プラグインが含まれています。前提条件となるソフトウェア要件を含むインストール手順についての詳細は、[Anypoint CLI 4.x のインストール](https://docs.mulesoft.com/jp/anypoint-cli/latest/install)を参照してください。 ## [](#permissions-anypoint-cli)Anypoint CLI ガバナンスコマンドの権限 Anypoint Platform の機能にアクセスする Anypoint CLI コマンドを正常に実行するには、適切な権限が必要です。 `governance`​ コマンドには次の権限が必要です。 - なし: Anypoint Platform にアクセスせずにローカルで実行されるコマンド (​`ruleset validate`​、​`ruleset document`​、​`api validate`​ など) - Governance Administrator (ガバナンス管理者): API Governance エンティティを更新するコマンド (​`profile create`​、​`profile update`​、​`profile delete`​ など) - Governance Viewer (ガバナンス閲覧者): API Governance 情報のみをリストするコマンド (​`api inspect`​、​`profile list`​ など) ## [](#ruleset-dev-cli)ルールセット開発 CLI カスタムルールセットの作成には、オープンソース CLI、​`ruleset-development-cli`​ を使用することもできます。​[「ルールセット開発 CLI を使用してルールセットを作成する」](https://docs.mulesoft.com/jp/api-governance/custom-rulesets-new#create-rulesets-using-cli)​を参照してください。 ## [](#関連情報)関連情報 - [Anypoint API Governance 入門](https://docs.mulesoft.com/jp/api-governance/get-started) # API インスタンスでの準拠の問題の検出と修正 Anypoint API Governance によって API インスタンスでの準拠の問題が特定されたら、ガバナンス検証レポートの詳細を表示して、問題を修正するために必要な情報を取得できます。修正する必要があるものを特定したら、API Manager でインスタンスに移動して問題を修正します。問題が仕様のインスタンス関連の問題である場合は、API Designer などの API エディターを使用して仕様を修正します。 ![API Governance のガバナンスレポートページのスクリーンショット](/mulesoft/current/ja-jp/api-governance/_images/api-gov-apim-governance-report.png)
1API が検証されるルールセットの概要を確認します。
2Exchange でルールセットを確認します。
3タブを選択して、特定の API アスペクトの準拠情報を確認します。
4Exchange で API を確認します。
5特定のルールセットに対して特定された準拠の詳細を確認します。
6Design Center で API コードを確認します。
## [](#ガバナンスレポートで準拠の問題の詳細を表示する)ガバナンスレポートで準拠の問題の詳細を表示する ガバナンス検証レポートでインスタンスの準拠の問題を表示する手順は、次のとおりです。 1. レポートに移動します。 - Anypoint API Governance で、次の操作を実行します。 1. API Governance コンソールで、​**\[Governed APIs (管理対象 API)\]**​ タブを選択します。 2. **\[Instances (インスタンス)\]**​ 列に ​**\[Nonconformant (非準拠)\]**​ バッジが表示されている場合、​**\[View Report (レポートの表示)\]**​ をクリックして準拠の問題に関する情報を確認します。 - API Manager で、次の操作を実行します。 1. 非準拠としてマークされているインスタンスの ​**\[Conformance Report (準拠レポート)\]**​ ページを選択します。 2. 各ルールセットの非準拠の詳細を表示します。 - 非準拠の重要度のアイコンをクリックすると、その重要度の問題の詳細が表示されます。 - **\[View Details (詳細を表示)\]**​ をクリックすると、準拠の問題の完全な詳細が表示されます。 ## [](#ルールセット内のルールの詳細を表示する)ルールセット内のルールの詳細を表示する ガバナンス検証レポートと準拠の問題の詳細が問題の解決に役立たない場合は、Exchange でルールセットを開いて、API が準拠していないルールの説明とメッセージを表示します。 ### [](#サンプルルールと推奨される修正)サンプルルールと推奨される修正 次の表は、いくつかのサンプルルールと、それらのルールへの準拠を修正するために実行するアクションを示しています。
ルール アスペクト 推奨される修正

<policy-name-a> ポリシーは <policy-name-b> ポリシーの前に設定する必要がある

インスタンス ID

API Manager で、ルールで提案されているようにインスタンスのポリシーを再配置します。

API インスタンスに適用される <policy-name> ポリシーがない

インスタンス ID

API Manager で、指定されたポリシーをインスタンスに追加します。

すべての API インスタンスのサーバー URL は API 仕様に記述されている必要がある

仕様

仕様を編集し、そのすべての API インスタンス URL の説明を追加します。

## [](#関連情報)関連情報 - [API インスタンスの管理](https://docs.mulesoft.com/jp/api-manager/latest/api-instance-landing-page) - [API 準拠の監視](https://docs.mulesoft.com/jp/api-governance/monitor-api-conformance) # API 準拠の監視 API のガバナンスプロファイルを設定し、結果のガバナンスデータが使用可能になったら、組織の API 仕様の準拠の成功と失敗を監視およびレポートできます。 ## [](#コンソールの状況情報)コンソールの状況情報 コンソールで最新の状況情報を確認できます。 ![API Governance コンソールのスクリーンショット](/mulesoft/current/ja-jp/api-governance/_images/api-gov-console.png)
1ガバナンスプロファイル​、​ガバナンス状況​、​準拠状況​、​重大度別非準拠​の数値および視覚的な概要を確認します。
2ガバナンスプロファイルまたは管理対象 API の概要リストの確認、絞り込み、検索を行います。
3準拠レポートを CSV 形式でエクスポートします。
4新しいプロファイルを追加します。
5API の包括的なガバナンスレポートを確認します。
6その他のオプションメニューから選択して、関連するアクションを実行します。選択したプロファイルまたは API のレポートをエクスポートしたり、プロファイルを表示、編集、削除したり、API オーナーに通知したり、Exchange で API を開いたりすることができます。
API Governance 管理者と組織のシステム管理者のみがプロファイルを作成、編集、削除できます。
ガバナンスプロファイル ガバナンスプロファイルは、選択したガバナンスルールセットを絞り込んだ API グループに適用します。その後、API Governance はルールセットに対して API を検証し、ガバナンス準拠を判断します。 管理対象 API API は、少なくとも 1 つのガバナンスプロファイルの選択条件によって識別された場合に管理されます。API が管理されている場合、その API のすべてのバージョンが 1 つの管理対象 API とみなされます。サブスクリプション制限は、組織の購入済みの容量に基づいて設定されます。UI には使用量に関する情報が表示され、サブスクリプション容量に近づいたり超えたりしたときにアラートが表示されます。 API 準拠 API 準拠は、検証済み API が 1 つ以上のガバナンスルールセット内のすべての必須ルールに合格するかどうかを示します。複数のプロファイルが API を対象とする場合、その API が準拠するは、それらすべてのプロファイルのすべてのルールセットに合格する必要があります。 API 準拠は、REST API や AsyncAPI など、API Governance によってサポートされる API 種別のみに適用されます。 ## [](#gov-conf-report)ガバナンス準拠レポート API Governance コンソールと API Manager のガバナンス検証レポートで、管理対象 API の準拠の詳細を表示できます。[準拠の問題の検出と修正](https://docs.mulesoft.com/jp/api-governance/find-and-fix-conformance-issues)を参照してください。 ## [](#準拠情報をエクスポートする)準拠情報をエクスポートする API Governance コンソールのさまざまな場所から準拠情報を CSV 形式でエクスポートできます。 - [ガバナンスプロファイルのエクスポート](#gov-profile-export) - [管理対象 API のエクスポート](#gov-api-export) - [特定のプロファイルのエクスポート](#gov-spec-profile-export) ### [](#gov-profile-export)ガバナンスプロファイルのエクスポート API Governance コンソールのメインページで、​**\[Profiles (プロファイル)\]**​ タブを選択し、​**\[Export Report (レポートのエクスポート)\]**​ ボタンをクリックして、次のようなガバナンスプロファイル情報をエクスポートします。 - Organization ID (組織 ID) - Profile IDs (プロファイル ID) - Profile name (プロファイル名) - Status (状況) - Total APIs validated (検証済み API 総数) - Number of conformant APIs (pass) (準拠 API (合格) の数) - Number of nonconformant APIs (fail) (非準拠 API (失敗) の数) - Timestamps (タイムスタンプ) - Associated ruleset tags (関連ルールセットタグ) ### [](#gov-api-export)管理対象 API のエクスポート API Governance コンソールのメインページで、​**\[Governed APIs (管理対象 API)\]**​ タブを選択し、​**\[Export Report (レポートのエクスポート)\]**​ をクリックして、次のような管理対象 API 情報のレポートをエクスポートします。 - Organization ID (組織 ID) - API IDs (API ID) - Versions (バージョン) - Total number of APIs (API の総数) - Number of conformant APIs (pass) (準拠 API (合格) の数) - Number of nonconformant APIs (fail) (非準拠 API (失敗) の数) - Timestamps (タイムスタンプ) ### [](#gov-spec-profile-export)特定のプロファイルのエクスポート 選択したガバナンスプロファイルページで、その他のオプションメニューアイコン (​![overflow menu icon](/mulesoft/current/ja-jp/api-governance/_images/overflow-menu-icon.png)​) をクリックし、​**\[Export Reports (レポートのエクスポート)\]**​ を選択して、次のような選択したガバナンスプロファイルの情報を表示するレポートをエクスポートします。 - Organization ID (組織 ID) - API IDs (API ID) - Versions (バージョン) - Total number of APIs (API の総数) - Number of conformant APIs (pass) (準拠 API (合格) の数) - Number of nonconformant APIs (fail) (非準拠 API (失敗) の数) - Timestamps (タイムスタンプ) ## [](#eval-api-conf-cli)CLI を使用した API 準拠の評価 コマンドを使用して API プロジェクトの潜在的なルールセットを評価するには、​`governance:api:evaluate`​ コマンドを使用します。 API Governance へのアクセス権のない開発者などのユーザーは、CLI を使用して、指定した検索条件に基づいて API の検証の対象となる可能性のあるルールセットを評価できます。これにより、開発者は API が管理対象になる前にルールセットへの API の潜在的な準拠を前もって把握できます。 また、API Governance へのアクセス権のないガバナンスオフィサーなどのユーザーは、このコマンドを使用してプロファイル設定を計画またはデバッグできます。 ### [](#governance-api-evaluate)governance:api:evaluate `> governance:api:evaluate [フラグ]` このコマンドは、指定された検索条件を評価して、その条件を満たす API に適用されるルールセットを決定します。 このコマンドでは、デフォルトのフラグ以外に次のフラグも受け入れます。
フラグ 説明

--api=<api>

評価する API プロジェクト。このコマンドは、プロジェクトの ​exchange.json​ ファイルの条件を使用します。

--criteria <filtertype:filtervalue>,…​

ルールセットを識別するために評価する検索条件を適用できます。カンマ区切りの検索条件のリストを指定します。各検索条件の種別と値は、​filtertype:filtervalue​ の形式です。

次のような検索条件を使用できます。

  • scope​: API 種別、​rest-api​ または ​async-api​

  • tag​: Exchange で API に対して定義されたタグ

  • category​: Exchange で API に対して定義されたカテゴリ。検索条件値は ​categoryName:value​ として 2 つの部分で指定されます。

  • env-type​: 環境種別 (すべて、本番、または Sandbox)

  • env-id​: API Manager の環境名の ID。​[API Manager]​ > ​[Environment information (環境情報)]​ を使用してこの値を取得できます。​「環境の概念の確認」​を参照してください。

    env-type​ または ​env-id​ が使用されている場合、プロファイルに ​[API Instance (API インスタンス)]​ 検索条件が設定されるため、インスタンスが設定された API のみが絞り込まれます。

    CLI を使用してプロファイルの ​[API Instance (API インスタンス)]​ を選択解除するには、​env-type​ も ​env-id​ も含まれない ​--criteria​ フラグを使用してプロファイルを更新します。

例: tag:tag1,category:category1:value,category:category2:value2,scope:rest-api,scope:async-api,env-type:production

このコマンドは、​--criteria​ または ​--api​ フラグを使用して実行する必要があります。
**コマンド例:** `anypoint-cli-v4 governance:api:evaluate --criteria "tag:best,category:API Type:Experience API,scope:rest-api"` `anypoint-cli-v4 governance:api:evaluate --api order-api-1.0.0-raml.zip` ここで、​`order-api-1.0.0-raml.zip`​ には API とその ​`exchange.json`​ ファイルが含まれています。 **出力例:** ╔════════════════════════════════════════════════════════════════════╗ ║ Ruleset GAV ║ ╟────────────────────────────────────────────────────────────────────╢ ║ 68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/1.5.1 ║ ╟────────────────────────────────────────────────────────────────────╢ ║ 68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/1.0.1 ║ ╚════════════════════════════════════════════════════════════════════╝ ## [](#関連情報)関連情報 - [準拠の問題の検出と修正](https://docs.mulesoft.com/jp/api-governance/find-and-fix-conformance-issues) # カスタムガバナンスルールセットの作成 MuleSoft は、「Anypoint API Best Practices (Anypoint API ベストプラクティス)」、「OpenAPI Best Practices (OpenAPI ベストプラクティス)」、「Authentication Security Best Practices (認証セキュリティベストプラクティス)」、「Mule API Management Best Practices (Mule API 管理ベストプラクティス)」など、Exchange でいくつかのルールセットを提供しています。​**\[Rulesets (ルールセット)\]**​ 種別で検索を絞り込んで、Exchange のルールセットを発見できます。​[「アセットの検索」](https://docs.mulesoft.com/jp/exchange/to-find-info)​を参照してください。 ルールセットは、メタデータドキュメントを管理するためのオープンソースフレームワークである AMF を使用して実装されます。AMF は、API モデルの組み込み機能を備えた任意のメタデータモデルの解析、変換、検証、表示に使用されます。Anypoint Platform は AMF を使用して、RAML、OAS、AsyncAPI、GraphQL API 仕様を解析します。 提供されているルールセット以外のルールセットが必要な場合は、独自のカスタムルールセットを作成できます。 ## [](#始める前に)始める前に 独自のルールを作成することで、組織固有の規制や標準に従って API を管理できます。ルールセットのカスタマイズを開始する前に、時間をかけてルールセット開発 CLI コマンドとルールセット言語の概念を理解します。 今後のリリースで MuleSoft による提供を希望するルールセットのアイデアを [MuleSoft アイデアポータル](https://help.mulesoft.com/s/ideas)​に登録することもできます。 始める準備ができたら、次の手順を実行します。 1. ルールセットで API を検証する方法の簡単な概要について、 [「Custom Validation (カスタム検証)」](https://a.ml/docs/amf/using-amf/amf_custom_validation/)​を参照します。 2. 既存のルールセットに基づかない完全に新しいカスタムルールセットを作成する場合は、 [「AMF Rulesets (AMF ルールセット)」チュートリアル](https://github.com/aml-org/amf-custom-validator/blob/develop/docs/validation_tutorial/validation.md)​に従ってルールセット開発 CLI をインストールします。 3. Anypoint CLI をインストールします。これは、カスタムルールセットを検証し、そのドキュメントを生成し、Exchange にパブリッシュするために必要になります。 ## [](#カスタムルールセットを作成する)カスタムルールセットを作成する カスタムルールセットを作成するには、次のいずれかのアプローチを使用します。 - [パブリッシュされたルールセットの変更によるカスタムルールセットの作成](https://docs.mulesoft.com/jp/api-governance/custom-rulesets-modify) - [完全に新しいカスタムルールセットの作成](https://docs.mulesoft.com/jp/api-governance/custom-rulesets-new) カスタムルールセットを変更または作成したら、ルールセットが正しくコーディングされていることを検証し、ドキュメントを生成して、Exchange にパブリッシュする必要があります。[カスタムルールセットの検証とパブリッシュ](https://docs.mulesoft.com/jp/api-governance/custom-rulesets-validate-and-publish)を参照してください。 ## [](#関連情報)関連情報 - [Anypoint API Governance の概要](https://docs.mulesoft.com/jp/api-governance/) # カスタムルールセットの検証とパブリッシュ カスタムルールセットを作成した後に、次の手順を実行します。 1. ルールセットを​[検証します](#validate-ruleset)​。 2. ルールセットの​[ドキュメントを生成します](#generate-ruleset-doc)​。 3. 新しいアセットとして Exchange に​[カスタムルールセットをパブリッシュします](#publish-ruleset)​。 ルールセットを検証およびパブリッシュするためのコマンドシーケンスの例については、​[検証およびパブリッシュするサンプルコマンドシーケンス](#example-publish-sequence)​を参照してください。
カスタムコードや設定と同様に、ルールセットはサポートされている MuleSoft 製品とはみなされません。これらのカスタムルールセットの問題については、 AMF Custom Validator の Github リポジトリ​に問題を投稿してください。
## [](#validate-ruleset)ルールセットを検証する ガバナンスルールセットの作成時およびパブリッシュ前にガバナンスルールセットを検証するには、次のコマンドを使用します。 ### [](#governance-ruleset-validate)governance:ruleset:validate `> governance:ruleset:validate [フラグ] ` このコマンドは、​`governance-ruleset`​ パラメーターを使用して渡されたルールセット定義を検証します。​`governance-ruleset`​ パラメーターとして、次のいずれかを渡すことができます。 - ルールセット定義 YAML ファイル - ルールセットをメインファイルとして指定する ​`exchange.json`​ ファイルを使用した API プロジェクトを含む ZIP ファイル - ルールセットをメインファイルとして指定する ​`exchange.json`​ ファイルを使用する API プロジェクトを含むフォルダー このコマンドでは、デフォルトのフラグのみを受け入れます。 **コマンド例:** ```copy anypoint-cli-v4 governance:ruleset:validate ~/myrulesetfolder/myruleset.yaml anypoint-cli-v4 governance:ruleset:validate ~/myrulesetfolder/myruleset.zip anypoint-cli-v4 governance:ruleset:validate ~/myrulesetfolder/myrulesetfolder ``` **有効なルールセットの出力例:** Ruleset User/myuser/myrulesetfolder/myruleset.yaml Ruleset conforms with Dialect **無効なルールセットの出力例:** Ruleset does not conform with Dialect ModelId: file:///Users/myuser/myrulesetfolder/prof-1-bad.yaml Profile: Validation Profile 1.0 Conforms: false Number of results: 1 Level: Violation - Constraint: http://a.ml/amf/default\_document#/declarations/profileNode\_profile\_required\_validation Message: Property 'profile' is mandatory Severity: Violation Target: file:///Users/myuser/myrulesetfolder/prof-1-bad.yaml#/encodes Property: http://schema.org/name Range: \[(3,0)-(11,19)\] Location: file:///Users/myuser/myrulesetfolder/prof-1-bad.yaml ## [](#generate-ruleset-doc)ルールセットドキュメントを生成する 次のコマンドを使用して、ルールセット YAML ファイルのドキュメント ZIP ファイルを生成します。結果のドキュメント ZIP ファイルは、​`--files.docs.zip`​ オプションを使用して Exchange アセットのアップロードで使用できます。 ### [](#governance-document)governance:document `> governance:document [フラグ] ` このコマンドは、​`ruleset`​ で指定された API Governance ルールセット定義 ZIP ファイルのドキュメントを作成します。ドキュメントを ​`doc-file`​ ZIP ファイルに含め、Exchange にアップロードしてパブリッシュできるようにします。 このコマンドでは、デフォルトのフラグのみを受け入れます。 **コマンド例:** ```copy anypoint-cli-v4 governance:document /myrulesetfolder/mynewruleset.yaml /myrulesetfolder/ruleset.doc.zip ``` **出力例:** validation name \[ 'security-fields-operation-empty' \] validation name \[ 'access-tokens-oauth2-cleartext' \] validation name \[ 'insecure-oauth2-grants' \] validation name \[ 'api-keys-in-cookie' \] validation name \[ 'api-keys-in-query' \] validation name \[ 'api-keys-in-header' \] validation name \[ 'api-negotiates-authentication' \] validation name \[ 'insecure-basic-auth' \] validation name \[ 'bearer-token-cleartext' \] validation name \[ 'http-token-cleartext' \] validation name \[ 'oauth1-deprecated' \] validation name \[ 'oauth2-redirections-non-encrypted' \] validation name \[ 'unknown-security-scheme' \] validation name \[ 'valid-server-urltemplate' \] validation name \[ 'valid-oauth2-redirection-urls' \] Saving to myRulesetFolder/ruleset.doc.zip ## [](#publish-ruleset)カスタムルールセットをパブリッシュする Anypoint CLI を使用して、ルールセットとそのドキュメントを Exchange にパブリッシュ (アップロード) できます。Exchange UI を使用してルールセットアセットをアップロードすることはできません。 次のコマンドを使用して、ルールセットとそのドキュメントを Exchange にアップロードします。 ### [](#exchange-asset-upload)exchange:asset:upload \> exchange:asset:upload \[flags\] このコマンドでは、​``​ で渡される ID を使用して、rest-api、soap-api、http-api、raml-fragment、custom、app、template、example、policy、extension、external-library、connector アセット、または ruleset をアップロードします。 _assetIdentifier_​ 引数には次の形式を使用します。 `([​_groupID_​]/)​_assetID_​/_version_` _group\_id_ が指定されていない場合、現在選択されている組織 ID がデフォルトに設定されます。
フラグ 説明

--name

アセット名 (pom ファイルが指定されていない場合に必要)

次に例を示します。

exchange:asset:upload --name "Raml Asset" --description "RAML" --properties='{"apiVersion":"v1", "mainFile": "api.raml"}' --files='{"raml.zip":"​/file-path/raml.zip"}'

--description

アセットの説明

--properties

アセットプロパティ

次に例を示します。

  • --properties='{"mainFile":"main.raml"}'

  • --properties='{"apiVersion":"v1"}'

  • --properties='{"assetLink":"http://api.com"}'

  • --properties='{"mainFile":"main.raml","apiVersion":"v1","assetLink":"http://api.com","contactEmail":"api@mulesoft.com","contactName":"Marc"}'

--files

アセットファイル (​classifier.packaging​ または ​packaging​ とそのファイルパスとして識別される。) 例: --files='{"oas.zip":"​/my-api.raml"}'

複数のファイルを送信するには通常、同じフラグを複数回使用します。

--files='{"oas.zip": "my-demo-oas.zip"}' --files='{"custom.zip": "~/my-custom-file.zip"}'​

ルールセットを含むルールセットドキュメントをアップロードする場合は例外です。分類子とパッケージ化オプションの両方のセットを 1 つの ​--files​ フラグに入力する必要があります。

--files='{"ruleset.yaml":"/myRulesetFolder/mynewruleset.yaml","docs.zip":"/myRulesetFolder/ruleset.doc.zip"}'

例:

POM ファイルと RAML 仕様をアップロードする:

exchange:asset:upload --files'{"pom.xml": "directory/pom-file.xml"}' --files='{"raml.raml": "./my-api.raml"}'​

ルールセットとそのドキュメントをアップロードする:

anypoint-cli-v4 exchange asset upload my-auth-best-practices/1.0.0 --name "My Best Practices Ruleset" --description "This ruleset enforces my best practices for APIs." --files='{"ruleset.yaml":"/myRulesetFolder/mynewruleset.yaml","docs.zip":"/myRulesetFolder/ruleset.doc.zip"}'

--type

アセットタイプ

ファイルが指定されていない場合に必要です。

サポートされる値:

  • rest-api​

  • soap-api​

  • http-api​

  • raml-fragment​

  • custom​

  • connector​

  • template​

  • example​

  • policy​

  • app​

  • extension​

  • external-library​

  • ruleset​

アップロードされると、タイプはファイルの分類子から推定されます。

アセットタイプに応じて、次のような分類子の値があります。

  • REST API

    • oas​ (​zip​、​yaml​、または ​json​ をパッケージとして使用)

    • raml​ (​zip​ または ​raml​ をパッケージとして使用)

  • RAML フラグメント

    • raml-fragment​ (​zip​ または ​raml​ をパッケージとして使用)

  • SOAP API

    • wsdl​ (​zip​、​wsld​、または ​xml​ をパッケージとして使用)

  • Custom (カスタム)

    • custom​

    • docs​ (​doc.zip​ をパッケージとして使用)

  • アプリケーション

    • mule-application​ (​jar​ をパッケージとして使用)

  • ポリシー

    • mule-policy​ (​jar​ をパッケージとして使用) + ​policy-definition​ (​yaml​ をパッケージとして使用)

  • 例

    • mule-application-example​ (​jar​ をパッケージとして使用)

  • Template (テンプレート)

    • mule-application-template​ (​jar​ をパッケージとして使用)

  • Extension (拡張子)

    • mule-plugin​ (​jar​ をパッケージとして使用)

  • Connector (コネクタ)

    • studio-plugin​ (​zip​ をパッケージとして使用) + 分類子がなくパッケージ ​jar​ を使用するファイル

  • 外部ライブラリ

    • external-library​ (​jar​ をパッケージとして使用)

  • ルールセット

    • ruleset​ (​zip​ または ​yaml​ をパッケージとして使用)

--categories

カテゴリ (値は JSON 形式の文字列である必要があります)

'{"key": "value"}'

次に例を示します。

'{"Department": "IT"}'

--fields

項目 (値は JSON 形式の文字列である必要があります)

'{"key": "value"}'

次に例を示します。

'{"releaseDate": "2020-01-01T20:00:00.000Z"}'

--keywords

キーワード (カンマ区切り)

次に例を示します。

raml,rest-api,someKeyword​

--tags

タグ (カンマ区切り)

次に例を示します。

api,tag1,tag2​

--dependencies

アセットの連動関係 (カンマ区切り)

次に例を示します。

groupID:assetID:version,groupID2:assetID:version​

--status

アセットの状況

サポートされる値:

  • development​

  • published​

デフォルト値:

  • published​

## [](#example-publish-sequence)検証およびパブリッシュするサンプルコマンドシーケンス 次のサンプルシーケンスを使用して、ルールセットの検証、そのドキュメントの生成、および両方の Exchange へのアップロードを開始します。フォルダー名、ルールセットファイル名、ルールセットドキュメント ZIP ファイル名などの詳細を独自の詳細に置き換えます。 ```console anypoint-cli-v4 governance:ruleset:validate /myRulesetFolder/mynewruleset.yaml (1) anypoint-cli-v4 governance:document /myRulesetFolder/mynewruleset.yaml /myRulesetFolder/ruleset.doc.zip (2) anypoint-cli-v4 exchange asset upload my-auth-best-practices/1.0.0 --name "My Best Practices Ruleset" --description "This ruleset enforces my best practices for APIs." --files='{"ruleset.yaml":"/myRulesetFolder/mynewruleset.yaml", "docs.zip": "/myRulesetFolder/ruleset.doc.zip"}' (3) ```
1ルールセットをローカルで検証します。ルールセットファイルは、​/myRulesetFolder/​ フォルダー内にある ​mynewruleset.yaml​ です。
2ルールセット ​myruleset.yaml​ のドキュメント ZIP ファイル ​ruleset.doc.zip​ を生成します。両方のファイルは ​/myRulesetFolder/​ フォルダー内にあります。
3ルールセット ​mynewruleset.yaml​ とそのドキュメント ​ruleset.doc.zip​ をアップロードします。両方のファイルは ​/myRulesetFolder/​ フォルダー内にあります。
## [](#関連情報)関連情報 - [Exchange アセットの CLI](https://docs.mulesoft.com/jp/anypoint-cli/latest/exchange-assets) # パブリッシュされたルールセットの変更によるカスタムルールセットの作成 パブリッシュされたルールセットがほとんどのニーズを満たしている場合は、それをカスタムルールセットのベースとなる例として使用することを検討します。 パブリッシュされたルールセットを変更することでカスタムルールセットを作成する手順は、次のとおりです。 1. Anypoint Platform UI を使用して、パブリッシュされたルールセット (「前の」ルールセット) を Exchange からダウンロードします。 2. 必要に応じて、Anypoint CLI を使用して「前の」ルールセット内の​[ルールをリストします](#list-rules)​。 3. ルールセットをコピーし、​[Anypoint CLI を使用](#use-clone-cli)​するか手動でルール (「後の」ルールセット) を変更します。 4. 必要に応じて、Anypoint CLI を使用して「後の」ルールセット内の​[ルールを](#list-rules)​リストします。 5. Anypoint CLI を使用して、カスタムルールセットを検証し、ドキュメントを生成し、パブリッシュします。[カスタムルールセットの検証とパブリッシュ](https://docs.mulesoft.com/jp/api-governance/custom-rulesets-validate-and-publish)を参照してください。 ## [](#use-clone-cli)Anypoint CLI を使用したルールの重要度の変更またはルールの有効化/無効化 Anypoint CLI を使用してサンプルルールセットをコピーおよびカスタマイズする方法について、この動画をご覧ください。この動画とドキュメントを使用して、サンプルルールセットのダウンロード、Anypoint CLI を使用したルールの変更、カスタマイズしたルールセットのパブリッシュを開始します。 ![](https://play.vidyard.com/mFNbKRLD4Gsm8LK434oXYG.jpg) ## [](#clone-and-modify)Anypoint CLI を使用したルールセットのコピーと変更 Anypoint CLI を使用してカスタムルールセットを作成するには、​`governance:ruleset:clone`​ コマンドを使用します。 #### [](#governance-ruleset-clone)governance:ruleset:clone `> governance:ruleset:clone [フラグ] ` このコマンドは、ガバナンスルールセットをコピーして新しいカスタムルールセットを作成し、フラグに基づいて指定された更新をルールに適用します。新しいルールセットが標準出力に書き込まれます。 `new-title`​ パラメーターでは、新しいルールセットのタイトルを指定します。 `new description`​ パラメーターでは、新しいルールセットのタイトルを指定します。
このコマンドを実行する前に、​governance:ruleset:info​ コマンドを実行して、このコマンドで使用するルール ID 情報を取得します。
このコマンドでは、デフォルトのフラグ以外に次のフラグも受け入れます。
フラグ 説明

--remote

コピーするルールセットが Exchange でパブリッシュされていること、および ​ruleset​ パラメーターがルールセットのアセット識別子であることを示します。アセット識別子は、Exchange 内の各アセットを一意に識別するグループ ID、アセット ID、およびバージョン (GAV) です。例: <group_id>/<asset_id>/<version>​

Exchange アセット識別子 (GAV) を取得する​を参照してください。

--error=<list_rules_to_move_to_error>

error​ フラグの後には、ルールセット YAML のエラーの重要度レベルセクションに移動するルールのルール ID が続きます。

--warning=<list_rules_to_move_to_warning>

warning​ フラグの後には、ルールセット YAML の警告の重要度レベルセクションに移動するルールのルール ID が続きます。

--info=<list_rules_to_move_to_info>

info​ フラグの後には、ルールセット YAML の情報の重要度レベルセクションに移動するルールのルール ID が続きます。

--remove=<list_rules_to_disable>

remove​ フラグの後には、ルールセット YAML でコメントアウトして実質的に無効にするルールのルール ID が続きます。

**コマンド例:** ```copy anypoint-cli-v4 governance:ruleset:clone ~/Downloads/ruleset.yaml 'New Ruleset from Clone' 'Cloned from ruleset.yaml' --warning=operation-default-response,operation-operationId > mynewruleset.yaml anypoint-cli-v4 governance:ruleset:clone 68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/1.0.2 'Custom Anypoint Best Practices' 'Cloned from MuleSoft Anypoint Best Practices' --remote --remove=openapi-tags,operation-tags > my-anypoint-best-practices.yaml ``` ## [](#list-rules)Anypoint CLI を使用したルールセットルールのリスト 必要に応じて、次のタイミングで Anypoint CLI を使用してルールをリストします。 - ルールセットの変更前。何を変更するかを決定するのに役立ちます (「前の」リスト)。 - ルールセットの変更後 (「後」のリスト)。「前」のリストと比較して変更すべきものが変更されたことを確認します。
リダイレクト演算子 (上書きするには ​>​、追加するには ​>>​) を使用して、​info​ コマンドの出力をファイルに書き込み、比較を容易にします。
ルールセットのルールをリストするには、​`governance:ruleset:info`​ コマンドを使用します。 #### [](#governance-ruleset-info)governance:ruleset:info `> governance:ruleset:info [フラグ]` このコマンドは、​`governance-ruleset`​ パラメーターで渡されたルールセット定義のルールセットルールをリストします。
このコマンドには複数オプションのフラグがあります。コマンドで複数オプションのフラグを使用する場合は、フラグの前にパラメーターを置くか、パラメーターの前に「-- 」(2 つのダッシュの後にスペース) を使用します。
このコマンドでは、デフォルトのフラグ以外に次のフラグも受け入れます。
フラグ 説明

--remote

情報を取得するルールセットが Exchange でパブリッシュされていること、および ​ruleset​ パラメーターがルールセットのアセット識別子であることを示します。アセット識別子は、Exchange 内のアセットを一意に識別するグループ ID、アセット ID、およびバージョン (GAV) です。例: <group_id>/<asset_id>/<version>​。ここで、​<version>​ は ​latest​ の特定のバージョンです。バージョンとして ​latest​ を使用する場合、プロファイルの作成後にバージョンがパブリッシュされると、プロファイルはルールセットの最新バージョンを自動的に使用します。

Exchange アセット識別子 (GAV) を取得する​を参照してください。

**コマンド例:** ```copy anypoint-cli-v4 governance:ruleset:info myrulesetfolder/myruleset.yaml anypoint-cli-v4 governance:ruleset:info 68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/1.0.2 --remote anypoint-cli-v4 governance:ruleset:info 68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/latest --remote ``` **出力例:** Ruleset myrulesetfolder/myruleset.yaml Ruleset conforms with Dialect ╔═══════════╤═══════════════════════════════════╗ ║ Violation │ security-fields-operation-empty ║ ╟───────────┼───────────────────────────────────╢ ║ Violation │ access-tokens-oauth2-cleartext ║ ╟───────────┼───────────────────────────────────╢ ║ Violation │ insecure-oauth2-grants ║ ╟───────────┼───────────────────────────────────╢ ║ Violation │ api-keys-in-cookie ║ ╟───────────┼───────────────────────────────────╢ ║ Violation │ api-keys-in-query ║ ╟───────────┼───────────────────────────────────╢ ║ Violation │ api-keys-in-header ║ ╟───────────┼───────────────────────────────────╢ ║ Violation │ api-negotiates-authentication ║ ╟───────────┼───────────────────────────────────╢ ║ Violation │ insecure-basic-auth ║ ╟───────────┼───────────────────────────────────╢ ║ Violation │ bearer-token-cleartext ║ ╟───────────┼───────────────────────────────────╢ ║ Violation │ http-token-cleartext ║ ╟───────────┼───────────────────────────────────╢ ║ Violation │ oauth2-redirections-non-encrypted ║ ╟───────────┼───────────────────────────────────╢ ║ Violation │ unknown-security-scheme ║ ╟───────────┼───────────────────────────────────╢ ║ Violation │ valid-server-urltemplate ║ ╟───────────┼───────────────────────────────────╢ ║ Violation │ valid-oauth2-redirection-urls ║ ╟───────────┼───────────────────────────────────╢ ║ Warning │ unknown-security-scheme ║ ╟───────────┼───────────────────────────────────╢ ║ Warning │ oauth1-deprecated ║ ╚═══════════╧═══════════════════════════════════╝ ## [](#exchange-asset-identifiers)Exchange アセット識別子 (GAV) を取得する Exchange アセットの GAV を取得するには、次の操作を実行します。 - Exchange CLI を使用している場合、​`exchange:asset:list`​ コマンドを実行します。 - Exchange Web UI を使用している場合、Exchange でアセットを選択し、URL からグループ ID とアセット ID をコピーします。次に、表示しているバージョンのバージョンノードを追加します。たとえば、Exchange の「OpenAPI Best Practices (OpenAPI ベストプラクティス)」ルールセットの GAV は ​`68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1`​ です。 ## [](#example-modify-sequence)ルールセットを変更するサンプルコマンドシーケンス 次のサンプルシーケンスを使用して、ルールセットの変更を開始します。フォルダー名、ルールセットファイル名、ルールセットドキュメント ZIP ファイル名などの詳細を独自の詳細に置き換えます。 ```console anypoint-cli-v4 governance ruleset info 68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/1.0.2 --remote > before-rules-list (1) anypoint-cli-v4 governance ruleset clone ~/MyRulesetFolder/myruleset.yaml 'New Ruleset from Clone' 'Cloned from myruleset.yaml' --warning=operation-default-response,operation-operationId > mynewruleset.yaml (2) anypoint-cli-v4 governance ruleset info ~/MyRulesetFolder/mynewruleset.yaml > after-rules-list (3) ```
1カスタムバージョンを作成するために変更する、パブリッシュされたルールセットのパブリッシュされたバージョンでのルールをリストします。
2ダウンロードしたルールセット ​myruleset.yaml​ をコピーし、新しいカスタムルールセット ​mynewruleset​ を作成します。​mynewruleset​ の警告セクションに ​operation-default-response​ ルールと ​operation-operationId​ ルールを配置します。
3変更されたバージョンのルールセット ​mynewruleset.yaml​ のルールをリストし、ルールが希望どおりであることを確認します。
## [](#次のステップ)次のステップ ルールセットを変更したら、[カスタムルールセットの検証とパブリッシュ](https://docs.mulesoft.com/jp/api-governance/custom-rulesets-validate-and-publish)を参照してください。 ## [](#関連情報)関連情報 - [アセットのダウンロード](https://docs.mulesoft.com/jp/exchange/to-download-an-asset) - [Exchange アセットの CLI](https://docs.mulesoft.com/jp/anypoint-cli/latest/exchange-assets) # 仕様での準拠の問題の検出と修正 API Governance コンソールにアクセスできない場合でも、Design Center やガバナンス CLI を使用して、ガバナンスルールセットに対して個々の API 仕様を検証できます。仕様の準拠の問題は API Designer で直接修正できます。 ## [](#validate-in-design-center)Design Center で API 仕様を検証する ガバナンスルールセットに対して API を検証するには、Design Center API Designer テキストエディターで API 仕様にルールセットを連動関係として追加します。ルールセットを追加したら、​**\[Project Errors (プロジェクトエラー)\]**​ セクションを展開して、準拠メッセージを表示します。 Unresolved include directive in modules/ROOT/pages/find-conformance-issues.adoc - include::\_partials/api-gov-apid-scap-callouts.adoc\[\] ### [](#add-rulesets)プロジェクトへのルールセットの追加 API Designer で、API プロジェクトに Exchange 連動関係としてガバナンスルールセットを追加できます。 Unresolved include directive in modules/ROOT/pages/find-conformance-issues.adoc - include::design-center::partial$design-add-ruleset-dependencies.adoc\[\] [「API 仕様プロジェクトへの連動関係の追加」](https://docs.mulesoft.com/design-center/design-add-api-dependency)​を参照してください。 ### [](#project-errors)準拠プロジェクトエラーを修正する API Designer テキストエディターを使用して準拠プロジェクトエラーを修正するには、​[「テキストエディターでの API 仕様の作成」](https://docs.mulesoft.com/design-center/design-create-publish-api-raml-editor#the-editor)​を参照してください。 ## [](#api-governance-cli-を使用してガバナンスルールセットに対して-api-仕様を検証する)API Governance CLI を使用してガバナンスルールセットに対して API 仕様を検証する コマンドを使用してガバナンスルールセットに対して API 仕様を検証する場合は、​`governance:api:validate`​ コマンドを使用します。 ### [](#governance-api-validate)governance:api:validate `> governance:api:validate [フラグ]` このコマンドは、指定されたルールセットに対して ​`api-specification`​ で渡された API 仕様を検証します。
このコマンドには複数オプションのフラグがあります。コマンドで複数オプションのフラグを使用する場合は、フラグの前にパラメーターを置くか、パラメーターの前に「-- 」(2 つのダッシュの後にスペース) を使用します。
`api-specification`​ は次のいずれかとして指定できます。 - API プロジェクト ZIP ファイル - API プロジェクトフォルダー - `--remote`​ フラグが指定されている場合は、API プロジェクトのアセット識別子。アセット識別子は、Exchange 内の各アセットを一意に識別するグループ ID、アセット ID、およびバージョン (GAV) です。 検証するルールセットを次のように指定できます。 - API プロジェクトのルールセットの連動関係を定義する既存の ​`exchange.json`​ ファイルを使用するには、​`api-specification`​ で指定したフォルダーまたは ZIP ファイルに ​`exchange.json`​ ファイルが含まれていることを確認してください。​`exchange.json`​ ファイルが存在する場合、このコマンドはすべてのルールセット連動関係をダウンロードし、それらのルールセットに対して検証します。ルールセットの連動関係は、API Designer でその API プロジェクトに連動関係が定義されている場合にのみ、​`exchange.json`​ ファイルに存在します。​[「プロジェクトへのルールセットの追加」](https://docs.mulesoft.com/api-governance/find-conformance-issues#add-rulesets)​を参照してください。 - Exchange でパブリッシュされているルールセットに対して直接検証するには、​`--remote-rulesets`​ フラグを使用します。 - ローカルルールセットに対して検証するには、​`---rulesets`​ フラグを使用します。
重複するルールセットは検出されないため、同じコマンドの実行でルールセットを特定する前述の方法を複数使用すると、一部のルールセットが複数回検証される場合があります。
このコマンドでは、デフォルトのフラグ以外に次のフラグも受け入れます。
フラグ 説明

--rulesets <ruleset-yaml-file1> <ruleset-yaml-file2> …​

ローカルルールセット定義。​rulesets​ フラグの後には、カンマで区切られたルールセット YAML ファイルのリストが続きます。

--remote-rulesets <ruleset-asset-identifier> <ruleset-asset-identifier> …​

リモートルールセット定義。​remote-rulesets​ フラグの後には、カンマで区切られたルールセットアセット識別子のリストが続きます。アセット識別子は、Exchange 内の各アセットを一意に識別するグループ ID、アセット ID、およびバージョン (GAV) です。例: <group_id>/<asset_id>/<version>,<group_id>/<asset_id>/<version>​

Exchange アセット識別子 (GAV) を取得する​を参照してください。

--remote

パブリッシュされた API に対して検証を行う必要があることを示すフラグ。​api-specification​ で渡される値は、API のアセット識別子です。アセット識別子は、Exchange 内の各アセットを一意に識別するグループ ID、アセット ID、およびバージョン (GAV) です。例: <group_id>/<asset_id>/<version>​

Exchange アセット識別子 (GAV) を取得する​を参照してください。

**コマンド例:** ```copy anypoint-cli-v4 governance:api:validate /MyApis/order-api-1.0.0-raml.zip anypoint-cli-v4 governance:api:validate /MyApis/order-api-1.0.0-raml anypoint-cli-v4 governance:api:validate /MyApis/order-api-1.0.0-raml.zip --rulesets /MyRulesets/ruleset1.yaml /MyRulesets/ruleset2.yaml anypoint-cli-v4 governance:api:validate /MyApis/order-api-1.0.0-raml.zip --remote-rulesets 68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1 anypoint-cli-v4 governance:api:validate 8a840abd-e63a-4f8b-87ab-24052eda2017/order-api/1.0.0 --remote-rulesets 68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1 --remote ``` **出力例:** ルールセットに適合する仕様の場合: Spec conforms with Ruleset ルールセットに適合しない仕様の場合: Conforms: false Number of results: 3 **(1)** Functional Validations ---------------------- Constraint: http://a.ml/vocabularies/amf/core#declaration-not-found Severity: Violation Message: not supported scalar for documentation Target: null Range: \[(6,3)-(6,3)\] Location: file:///Users/myuser/Downloads/order-api-1.0.0-raml/order-api-1.0.0-raml Conformance Validations **(2)** ----------------------- Constraint: file:///exchange\_modules/68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/1.0.0/ruleset.yaml#/encodes/validations/api-must-have-documentation **(3)** Severity: Warning **(4)** Message: Provide the documentation for the API. **(5)** Target: amf://id#2 **(6)** Range: \[(2,0)-(6,4)\] **(7)** Location: file:///Users/myuser/Downloads/order-api-1.0.0-raml/order-api-1.0.0-raml **(8)** Constraint: file:///exchange\_modules/8a840abd-e63a-4f8b-87ab-24052eda2017/best-practices-ruleset/1.0.0/bestpractices.yaml#/encodes/validations/api-must-have-documentation Severity: Violation Message: Provide the documentation for the API Target: amf://id#2 Range: \[(2,0)-(6,4)\] Location: file:///Users/myuser/Downloads/order-api-1.0.0-raml/order-api-1.0.0-raml
1見つかった機能および準拠検証の問題の合計
2準拠の問題セクション
3この一連の問題が適用されるルールセットとルール
4問題の重要度
5問題の説明
6AMF モデルノード ID。AMF モデルについての詳細は、​「カスタムガバナンスルールセットの作成」​を参照
7問題が発生した API 仕様の開始行番号と列および終了行番号と列。ここで、列は行の先頭からのオフセットであり、オフセットの番号は 0 で開始
8問題が発生したファイル (メインファイルまたはその連動関係のいずれか)
#### [](#exchange-asset-identifiers)Exchange アセット識別子 (GAV) を取得する Exchange アセットの GAV を取得するには、次の操作を実行します。 - Exchange CLI を使用している場合、​`exchange:asset:list`​ コマンドを実行します。 - Exchange Web UI を使用している場合、Exchange でアセットを選択し、URL からグループ ID とアセット ID をコピーします。次に、表示しているバージョンのバージョンノードを追加します。たとえば、Exchange の「OpenAPI Best Practices (OpenAPI ベストプラクティス)」ルールセットの GAV は ​`68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1`​ です。 ## [](#関連情報)関連情報 - [Adding Dependencies to an API-Specification Project](https://docs.mulesoft.com/design-center/design-add-api-dependency) - [API 準拠の監視](https://docs.mulesoft.com/jp/api-governance/monitor-api-conformance) # 完全に新しいカスタムルールセットの作成 提供されたルールセットのいずれを変更しても作成できないカスタムルールセットが必要な場合、次のいいずれかのアプローチを使用します。 - [MuleSoft アイデアポータル](https://help.mulesoft.com/s/ideas)​ですでに登録されている新しいルールセットのアイデアを検索する。そこでアイデアが見つからない場合は、MuleSoft アイデアポータルにアイデアを登録することを検討します。 - Anypoint CLI コマンドを使用して、仕様のデータスキーマからルールセットをスキャフォールディングしてルールセットを生成する。​[仕様からルールセットを生成する](#scaffold-rulesets)​を参照してください。 - ルールセット開発 CLI コマンドを使用してルールセットを作成する。​[ルールセット開発 CLI を使用してルールセットを作成する](#create-rulesets-using-cli)​を参照してください。 - ルールセットモデリング言語を使用してルールセットを作成する。​[モデリング言語を使用してルールセットを作成する](#create-rulesets-using-code)​を参照してください。 ルールセットを作成したら、[カスタムルールセットの検証とパブリッシュ](https://docs.mulesoft.com/jp/api-governance/custom-rulesets-validate-and-publish)を参照してください。
カスタムコードや設定と同様に、ルールセットはサポートされている MuleSoft 製品とはみなされません。これらのカスタムルールセットの問題については、 AMF Custom Validator の Github リポジトリ​に問題を投稿してください。
## [](#scaffold-rulesets)仕様からルールセットを生成する 次のコマンドシーケンスを使用して、仕様のデータスキーマからスタータールールセットを生成できます。 1. [API 種別の API 仕様を調査する](#inspect-for-api-type) 2. [データスキーマのルールセットの初期化](#initialize-ruleset-from-dataschema) ### [](#inspect-for-api-type)API 種別の API 仕様を調査する 次のコマンドを使用して、API 種別の API 仕様を調査します。これは、使用するデータスキーマを判断するのに役立ちます。 ### [](#governance-api-inspect)governance:api:inspect `> governance:api:inspect [フラグ] ` このコマンドは、​`api-specification`​ で渡された API 仕様を調べ、ヘッダー、要求、応答ペイロードなどのすべてのスキーマをリストします。このスキーマ情報は、​`governance:ruleset:init`​ コマンドで使用できます。​[governance:ruleset:init](#governance-ruleset-init)​を参照してください。 このコマンドでは、デフォルトのフラグのみを受け入れます。 **コマンド例:** ```copy anypoint-cli-v4 governance:api:inspect my-healthcare-api.yaml ``` **スキーマの例** ```copy types: patientmultipleBirthBoolean: properties: multipleBirthBoolean: description: Whether patient is part of a multiple birth type: boolean patientmultipleBirthInteger: properties: multipleBirthInteger: description: Whether patient is part of a multiple birth type: integer . . . PatientEntry: type: FHIR_commons.Entry properties: resource: Patient PatientBundle: type: FHIR_commons.Bundle properties: entry?: PatientEntry[] ``` **出力例:** 'patientmultipleBirthBoolean', 'PatientBundle', 'patientmultipleBirthInteger', 'PatientEntry' ### [](#initialize-ruleset-from-dataschema)データスキーマのルールセットの初期化 次のコマンドを使用して、データスキーマのルールセットを初期化します。 ### [](#governance-ruleset-init)governance:ruleset:init `> governance:ruleset:init [フラグ] ` このコマンドは、​`schema`​ パラメーターで渡されたデータスキーマに基づいてルールセットを初期化します。 このコマンドでは、デフォルトのフラグ以外に次のフラグも受け入れます。
フラグ 説明

--types <types>

types​ フラグは、ルールとしてエクスポートする対象種別を指定します。​governance:api:inspect​ コマンドを使用して、このフラグで指定する種別を特定できます。​governance:api:inspect​を参照してください。

--name <name>

name​ フラグはルールセットの名前です。デフォルトは ​GeneratedRuleset​ です。

**コマンド例:** ```copy anypoint-cli-v4 governance:ruleset:init --types patientmultipleBirthBoolean,patientBundle,patientmultipleBirthInteger --name=my-ruleset mydataschema ``` ## [](#create-rulesets-using-cli)ルールセット開発 CLI を使用してルールセットを作成する ルールセット開発 CLI のオープンソースバージョンは、npm で入手できます。これは、Anypoint CLI の ​`governance`​ コマンドとは別に提供され、ドキュメント化されています。 ルールセット開発 CLI を使用してルールセットを作成する手順は、次のとおりです。 1. [npmjs.com](https://www.npmjs.com/package/@aml-org/ruleset-development-cli)​ から ​`ruleset-development-cli`​ をインストールします。 2. [「AMF Rulesets (AMF ルールセット)」チュートリアル](https://github.com/aml-org/amf-custom-validator/blob/develop/docs/validation_tutorial/validation.md)​に従ってルールセットを作成します。 ## [](#create-rulesets-using-code)モデリング言語を使用してルールセットを作成する モデリング言語を使用してルールセットを作成するには、AML Open Source プロジェクトの [「AMF Custom Validation (AMF カスタム検証)」セクション](https://a.ml/docs/amf/using-amf/amf_custom_validation)​を読み、モデリング言語を使用してルールセットを作成する方法を学習します。 # 指定された API へのガバナンスルールセットの適用 管理する API を Exchange で識別したら、ガバナンスプロファイルを追加します。ガバナンスプロファイルを使用すれば、各セットのルールセットで管理する特定の API のセットを絞り込むことができます。
API Governance 管理者と組織のシステム管理者のみがプロファイルを作成、編集、削除できます。
## [](#create-profile-in-console)API Governance コンソールを使用してガバナンスプロファイルを作成する API Governance コンソール UI の手順に従って、プロファイルを作成します。
検索条件を選択しない場合、ガバナンスプロファイルは Exchange の​すべて​の API に適用されます。
  • より少ないルールセットを選択し、検索条件を追加して、単一プロファイルのスコープを絞り込みます。

  • メンテナンスを容易にするために、関連する API セットを管理するように各プロファイルを設定します。

  • API Governance に慣れ、組織にガバナンスプロセスを確立する前に、いくつかの API の管理から始めます。

API Governance コンソールを使用してガバナンスプロファイルを作成する手順は、次のとおりです。 1. **API Governance**​ で、​**\[New Profile (新規プロファイル)\]**​ をクリックします。 2. UI プロンプトに従って、次の情報を入力します。

Select Rulesets (ルールセットの選択)

API の管理に使用する 1 つ以上のルールセットを選択します。

検索ボックスと検索条件を使用して、使用するルールセットを検索します。次の要素でルールセットを絞り込むことができます。

  • 組織

  • Tag (タグ)

  • Category (カテゴリ)

使用する各ルールセットのバージョンを選択するか、​[Latest (最新)]​ オプションを選択できます。デフォルトは ​[Latest (最新)]​ です。

  • [Latest (最新)]​ を選択した場合、プロファイルの保存後に何らかのバージョンがパブリッシュされると、プロファイルで自動的にそのルールセットの最新バージョンが使用されます。これにより、このプロファイルで選択された API が常に最新バージョンのルールセットに対して検証され、手動でプロファイルを更新する必要がなくなります。

  • 特定のバージョンを選択した場合、プロファイルの保存後にルールセットの新しいバージョンがパブリッシュされても、プロファイルでそのバージョンが引き続き使用されます。これにより、特定のルールセットのバージョンに準拠する、このプロファイルで選択した API が、新しくパブリッシュされたバージョンのルールセットによって誤って準拠しなくなることを回避できます。ルールセットの新しいバージョンを使用する準備ができたら、プロファイルを更新して新しいバージョンを選択できます。

Define Filter Criteria (検索条件の定義)

選択したルールセットを特定の API に適用するには、検索条件を選択します。検索条件は、Exchange にある組織の API と、Exchange に追加したときの新規 API に適用されます。

検索条件を適用すると、絞り込まれた API のプレビューが ​[Define Filter Criteria (検索条件の定義)]​ ページに表示されます。これはいくつかの API に制限され、検索できません。プロファイルを保存したら、そのプロファイルの管理された API のリストを表示および検索できます。

[General (一般)]​ 検索条件:

  • API Types (API 種別)

  • タグ

    Exchange で最もよく使用されるタグとプロファイルに追加したタグが ​[Tags (タグ)]​ セクションにリストされます。​「ガバナンスプロファイルでのタグの選択および追加」​を参照してください。

  • カテゴリ

    選択コンテンツは、Exchange の API にカテゴリが含まれる場合にのみ、​[Categories (カテゴリ)]​ セクションに表示されます。

    複数のタグやカテゴリで絞り込む場合、API が条件に一致するには選択したすべてのタグやカテゴリが含まれている必要があります。​「管理する API の識別」​を参照してください。

    カテゴリで絞り込むと、各 API のカテゴリ数が表示され、これは ​[Categories (カテゴリ)]​ に続いて括弧に入った数で示されます。​[Categories (カテゴリ)]​ にマウスポインターを置くと、詳細が表示されます。

[API Instance (API インスタンス)]​ 検索条件:

  • Include only APIs with instances (インスタンスを含む API のみを含める)

    • Environment Type (環境種別)

    • Environment Name (環境名)

[API Instance (API インスタンス)]​ 検索条件の ​[Include only APIs with instances (インスタンスを含む API のみを含める)]​ を選択した場合、API Manager にインスタンスがある仕様のみが含まれます。その後、必要に応じて環境種別と環境名で絞り込むことができます。

Set Notifications (通知の設定)

: このプロファイルの自動通知を有効または無効にします。デフォルトは有効です。​「準拠通知の送信」​を参照してください。

Specify General Information (一般情報の指定)

プロファイル名と説明を入力して、他のユーザーがこのプロファイルに含まれているガバナンスルールセットの種類、およびこのプロファイルで検証されている API の種類を理解できるようにします。

Review (確認)

: プロファイルを確認して ​[Create (作成)]​ をクリックします。

## [](#api-governance-コンソールを使用してガバナンスプロファイルを更新する)API Governance コンソールを使用してガバナンスプロファイルを更新する API Governance コンソールの手順に従って、プロファイルを更新します。 API Governance コンソールを使用してガバナンスプロファイル情報を更新する手順は、次のとおりです。 1. **API Governance**​ コンソールの ​**\[Profiles (プロファイル)\]**​ タブを選択します。 2. 更新するプロファイルで、その他のオプションメニューアイコン (​![overflow menu icon](/mulesoft/current/ja-jp/api-governance/_images/overflow-menu-icon.png)​) をクリックし、​**\[Edit (編集)\]**​ を選択します。 3. **\[Next (次へ)\]**​ ボタンと ​**\[Previous (前へ)\]**​ ボタンを使用して UI を移動し、必要に応じてプロファイル情報を更新します。オプションについての詳細は、「​[API Governance コンソールを使用してガバナンスプロファイルを作成する](#create-profile-in-console)​」を参照してください。 4. 変更を確認して、​**\[Update Profile (プロファイルを更新)\]**​ をクリックします。
編集を適用すると、API 総数が更新され、更新された検索条件に基づいてガバナンスプロファイルに含まれる API の数が示されます。
## [](#api-governance-コンソールを使用してガバナンスプロファイルを削除する)API Governance コンソールを使用してガバナンスプロファイルを削除する API Governance コンソールの手順に従って、プロファイルを削除します。 ガバナンスプロファイルを削除する手順は、次のとおりです。 1. **API Governance**​ コンソールの ​**\[Profiles (プロファイル)\]**​ タブで、更新するプロファイルの最後にあるその他のオプションメニューアイコン (​![overflow menu icon](/mulesoft/current/ja-jp/api-governance/_images/overflow-menu-icon.png)​) をクリックし、​**\[Delete (削除)\]**​ を選択します。 2. **\[Yes, Delete (はい、削除します)\]**​ をクリックします。 ## [](#create-profile-cli)API Governance CLI を使用してガバナンスプロファイルを作成する コマンドを使用して API Governance プロファイルを作成するには、次のコマンドを使用します。 ### [](#governance-profile-create)governance:profile:create `> governance:profile:create [フラグ] ` このコマンドは、​`profile-name`​ で指定された新しいガバナンスプロファイル名の文字列値を使用して、ガバナンスプロファイルを作成します。 `ruleset-asset-identifiers`​ を含める必要があります。これは、ルールセットアセット識別子のカンマ区切りのリストであり、それぞれが Exchange 内の各アセットを一意に識別するグループ ID、アセット ID、およびバージョン (GAV) です。例: `//,//`​。ここで、​``​ は ​`latest`​ の特定のバージョンです。バージョンとして ​`latest`​ を使用する場合、プロファイルの作成後にバージョンがパブリッシュされると、プロファイルはルールセットの最新バージョンを自動的に使用します。​[Exchange アセット識別子 (GAV) を取得する](#exchange-asset-identifiers)​を参照してください。 `notify`​ フラグの 1 つを使用して、作成中のプロファイルの通知を設定できます。​`notify`​ フラグを使用しない場合、コマンドによって通知は設定されません。通知はデフォルトでオフになっています。 このコマンドでは、デフォルトのフラグ以外に次のフラグも受け入れます。
フラグ 説明

--criteria <filtertype:filtervalue>,…​

検索条件を適用して、プロファイルルールセットが適用される API のリストを選択できます。カンマ区切りの検索条件のリストを指定します。各検索条件の種別と値は、​filtertype:filtervalue​ の形式です。

次のような検索条件を使用できます。

  • scope​: API 種別、​rest-api​ または ​async-api​

  • tag​: Exchange で API に対して定義されたタグ

  • category​: Exchange で API に対して定義されたカテゴリ。検索条件値は ​categoryName:value​ として 2 つの部分で指定されます。

  • env-type​: 環境種別 (すべて、本番、または Sandbox)

  • env-id​: API Manager の環境名の ID。​[API Manager]​ > ​[Environment information (環境情報)]​ を使用してこの値を取得できます。​「環境の概念の確認」​を参照してください。

    env-type​ または ​env-id​ が使用されている場合、プロファイルに ​[API Instance (API インスタンス)]​ 検索条件が設定されるため、インスタンスが設定された API のみが絞り込まれます。

    CLI を使用してプロファイルの ​[API Instance (API インスタンス)]​ を選択解除するには、​env-type​ も ​env-id​ も含まれない ​--criteria​ フラグを使用してプロファイルを更新します。

例: tag:tag1,category:category1:value,category:category2:value2,scope:rest-api,scope:async-api,env-type:production

--description <description>

description​ フラグの後には、新しいガバナンスプロファイルの説明である文字列が続きます。

--notify-contact

通知を有効にし、受信者を API に設定された取引先責任者に設定します。

--notify-publisher

通知を有効にし、受信者を API パブリッシャーに設定します。

--notify-others <email ID,email ID,…​>

通知を有効にし、受信者を指定されたメール ID のリストに設定します。

**コマンド例:** ```copy anypoint-cli-v4 governance:profile:create "OAS Best Practices" 68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1 --criteria "tag:oas,category:API Type:Experience API,scope:rest-api" --description "Profile for OAS Best Practices" anypoint-cli-v4 governance:profile:create "Open API Best Practices" 68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1 --criteria "tag:oas,category:API Type:Experience API,scope:rest-api" --description "Profile for OAS Best Practices" anypoint-cli-v4 governance:profile:create "Anypoint Best Practices" 68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-api-best-practices/1.0.1 --criteria "tag:raml tag:oas category:API Type:Experience API,scope:rest-api" --description "Profile for REST API Best Practices" --notify-publisher --notify-contact --notify-others a@a.a,b@b.com anypoint-cli-v4 governance:profile:create "Primary API Standards" 68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/latest,68ef9520-24e9-4cf2-b2f5-620025690913/myorg-best-practices/1.0.2 --criteria "tag:prim,category:API Type:Experience API,scope:rest-api" --description "Profile for Primary API Standards" ``` **出力例:** Profile Added Id 4f98e59d-8efb-420f-ac95-9cd0af15bd45 Name OAS Best Practices Description Profile for OAS Best Practices Rulesets gav://68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1 Filter tag:best ## [](#api-governance-cli-を使用してガバナンスプロファイル情報をリストする)API Governance CLI を使用してガバナンスプロファイル情報をリストする コマンドを使用してすべてのガバナンスプロファイルのガバナンスプロファイル情報をリストするには、次のコマンドを使用します。 ### [](#governance-profile-list)governance:profile:list `> governance:profile:list [フラグ]` このコマンドは、組織のすべてのガバナンスプロファイルの情報をリストします。ガバナンスプロファイルを更新するときに、この情報が必要です。 このコマンドでは、デフォルトのフラグ以外に次のフラグも受け入れます。
フラグ 説明

--output <output-format>

コマンド出力の形式。サポートされている値は、​table​ (デフォルト) および ​json​ です。

**コマンド例:** ```copy anypoint-cli-v4 governance:profile:list ``` **出力例:** Profile Name Profile Id Minimum Security Requirements 1f418cf4-b870-4b31-8734-f55f28d45f8f Best Practices 19fb211b-8775-43cc-865a-46228921d6ed New Best Practices 4eaf9176-3ef9-4021-a67c-6e4bc10d3763 OAS Standards 51ae8795-2278-407e-942f-becba29af986 ## [](#api-governance-cli-を使用して特定のガバナンスプロファイル情報をリストする)API Governance CLI を使用して特定のガバナンスプロファイル情報をリストする コマンドを使用して特定のガバナンスプロファイル ID のガバナンスプロファイル情報をリストするには、次のコマンドを使用します。 ### [](#governance-profile-info)governance:profile:info `> governance:profile:info [フラグ] ` このコマンドは、ガバナンスプロファイル ID のすべての情報をリストします。 このコマンドでは、デフォルトのフラグ以外に次のフラグも受け入れます。
フラグ 説明

--output <output-format>

コマンド出力の形式。サポートされている値は、​table​ (デフォルト) および ​json​ です。

**コマンド例:** ```copy anypoint-cli-v4 governance:profile:info 19fb211b-8775-43cc-865a-46228921d6ed ``` **出力例:** Id 19fb211b-8775-43cc-865a-46228921d6ed Name Best Practices Description Best Practices Profile Rulesets 68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/1.0.0 8a840abd-e63a-4f8b-87ab-24052eda2017/best-practices-ruleset/1.0.0 68ef9520-24e9-4cf2-b2f5-620025690913/required-examples/1.0.0 Criteria tag:best,category:API Type:Experience API,scope:rest-api NotificationConfig Contact,Publisher ## [](#update-profile-cli)API Governance CLI を使用してガバナンスプロファイルを更新する コマンドを使用してガバナンスプロファイルを更新するには、次のコマンドを使用します。 ### [](#governance-profile-update)governance:profile:update `> governance:profile:update [フラグ] ` このコマンドは、​`profile-id`​ で指定されるガバナンスプロファイルを更新します。 この ID を取得するには、​`governance:profile:info`​ または ​`governance:profile:list`​ コマンドを実行します。 ガバナンスプロファイルの一般情報、ルールセット、検索条件、および通知設定を更新できます。​`notify`​ フラグの 1 つを使用して、通知設定を更新したり、通知を無効にしたりできます。すべての変更で、既存の通知設定が上書きされます。​`notify`​ フラグを使用しない場合、通知設定は変更されません。 このコマンドでは、デフォルトのフラグ以外に次のフラグも受け入れます。
フラグ 説明

--profile-name <profile-name>

profile-name​ フラグの後には、新しいガバナンスプロファイル名である文字列が続きます。

--ruleset-gavs <ruleset-gavs>

ruleset-gavs​ フラグの後には、各ルールセットのアセット識別子の ​<group_id>/<asset_id>/<version>,<group_id>/<asset_id>/<version>​ 形式のリストが続きます。ここで、​<version>​ は特定のバージョンまたは ​latest​ です。アセット識別子は、Exchange 内の各アセットを識別する一意のグループ ID、アセット ID、およびバージョン (GAV) です。バージョンとして ​latest​ を使用する場合、プロファイルの作成後にバージョンがパブリッシュされると、プロファイルはルールセットの最新バージョンを自動的に使用します。

Exchange アセット識別子 (GAV) を取得する​を参照してください。

--criteria <filtertype:filtervalue>,…​

検索条件を適用して、プロファイルルールセットが適用される API のリストを選択できます。カンマ区切りの検索条件のリストを指定します。各検索条件の種別と値は、​filtertype:filtervalue​ の形式です。

次のような検索条件を使用できます。

  • scope​: API 種別、​rest-api​ または ​async-api​

  • tag​: Exchange で API に対して定義されたタグ

  • category​: Exchange で API に対して定義されたカテゴリ。検索条件値は ​categoryName:value​ として 2 つの部分で指定されます。

  • env-type​: 環境種別 (すべて、本番、または Sandbox)

  • env-id​: API Manager の環境名の ID。​[API Manager]​ > ​[Environment information (環境情報)]​ を使用してこの値を取得できます。​「環境の概念の確認」​を参照してください。

    env-type​ または ​env-id​ が使用されている場合、プロファイルに ​[API Instance (API インスタンス)]​ 検索条件が設定されるため、インスタンスが設定された API のみが絞り込まれます。

    CLI を使用してプロファイルの ​[API Instance (API インスタンス)]​ を選択解除するには、​env-type​ も ​env-id​ も含まれない ​--criteria​ フラグを使用してプロファイルを更新します。

例: tag:tag1,category:category1:value,category:category2:value2,scope:rest-api,scope:async-api,env-type:production

--description <description>

description​ フラグの後には、新しいガバナンスプロファイルの説明である文字列が続きます。

--notify-off

通知を無効にします。

--notify-contact

通知を有効にし、受信者を API に設定された取引先責任者に設定します。

--notify-publisher

通知を有効にし、受信者を API パブリッシャーに設定します。

--notify-others <email ID,email ID,…​>

通知を有効にし、受信者を指定されたメール ID のリストに設定します。

**コマンド例:** ```copy anypoint-cli-v4 governance:profile:update 4eaf9176-3ef9-4021-a67c-6e4bc10d3763 --profile-name "MyOrg Best Practices" anypoint-cli-v4 governance:profile:update 19fb211b-8775-43cc-865a-46228921d6ed --criteria `tag:best,category:API Type:Experience API,scope:rest-api` anypoint-cli-v4 governance profile update 67eff44a-28a3-43d4-93d9-bddedb92c711 --notify-publisher --notify-contact --notify-others a@a.a,b@b.com anypoint-cli-v4 governance profile update 67eff44a-28a3-43d4-93d9-bddedb92c711 --notify-off anypoint-cli-v4 governance profile update 19fb211b-8775-43cc-865a-46228921d6ed --criteria `tag:best,category:API Type:Experience API,scope:rest-api,env-type:production` --ruleset-gavs 68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/latest,68ef9520-24e9-4cf2-b2f5-620025690913/myorg-best-practices/latest ``` **出力例:** Profile updated 51f9f94c-fb0c-43d4-9895-22c9e64f1537 #### [](#exchange-asset-identifiers)Exchange アセット識別子 (GAV) を取得する Exchange アセットの GAV を取得するには、次の操作を実行します。 - Exchange CLI を使用している場合、​`exchange:asset:list`​ コマンドを実行します。 - Exchange Web UI を使用している場合、Exchange でアセットを選択し、URL からグループ ID とアセット ID をコピーします。次に、表示しているバージョンのバージョンノードを追加します。たとえば、Exchange の「OpenAPI Best Practices (OpenAPI ベストプラクティス)」ルールセットの GAV は ​`68ef9520-24e9-4cf2-b2f5-620025690913/open-api-best-practices/1.0.1`​ です。 ## [](#api-governance-cli-を使用してガバナンスプロファイルを削除する)API Governance CLI を使用してガバナンスプロファイルを削除する CLI を使用してガバナンスプロファイルを削除するには、次のコマンドを使用します。 ### [](#governance-profile-delete)governance:profile:delete `> governance:profile:delete [フラグ] ` このコマンドは、​`profile-id`​ によって指定された特定のガバナンスプロファイルを削除します。 この ID を取得するには、​`governance:profile:info`​ または ​`governance:profile:list`​ コマンドを実行します。 `governance:profile:delete`​ コマンドでは、デフォルトのフラグのみを受け入れます。 **コマンド例:** ```copy anypoint-cli-v4 governance:profile:delete 8ffd463f-86b2-4132-afc6-44d179209362 ``` **出力例:** Profile with id 8ffd463f-86b2-4132-afc6-44d179209362 removed ## [](#関連情報)関連情報 - [管理する API の識別](https://docs.mulesoft.com/jp/api-governance/add-tags) - [カスタムガバナンスルールセットの作成](https://docs.mulesoft.com/jp/api-governance/create-custom-rulesets) - [API Governance の CLI コマンド](https://docs.mulesoft.com/jp/api-governance/cli-command-list) # 準拠の問題の検出と修正 準拠の問題を検出するには、API Governance プロファイルまたは CLI コマンドを使用して、API が準拠する必要があるルールセットのセットに対して API を検証します。API を検証したら、API Governance、Exchange、API Manager に準拠バッジが表示され、API Governance と API Manager で詳細なガバナンスレポートを表示できるようになります。 API Governance コンソールまたは準拠レポートのリンクをクリックすると、準拠の問題を修正する最適な場所を見つけることができます。たとえば、仕様を修正するには Design Center へのリンクをたどり、インスタンスを修正するには API Manager へのリンクをたどります。 準拠の修正についての詳細は、次のリソースを参照してください。 - [仕様での準拠の問題の検出と修正](https://docs.mulesoft.com/jp/api-governance/find-conformance-issues) - [API インスタンスでの準拠の問題の検出と修正](https://docs.mulesoft.com/jp/api-governance/fix-instance-conformance-issues) # 準拠通知の送信 API Governance コンソールまたは Anypoint CLI を使用して通知を設定することで、通知を自動的に送信できます。API Governance コンソールからメールを手動で送信することもできます。 各メール通知には次のコンテンツが含まれます。 - 準拠していない API の名前 - API が失敗したガバナンスルールセット - Exchange で API を開いたり、Design Center でコードを表示したりするためのリンク ## [](#send-auto-notifs)自動準拠通知を送信する API の最新バージョンが非準拠になったときにメールを自動的に送信するように、通知を有効にして設定します。
通知は、選択した受信者で設定されている有効な連絡先メールアドレスがある場合にのみ送信されます。
検証中に準拠状況が変化すると、新しい準拠エラーが発生した各ルールセットに対して自動通知が送信されます。API のそのバージョンが初めて特定のルールセットに準拠しなかった API についてのみ通知が送信されます。 通知が送信される可能性がある変更は次のとおりです。 1. ルールセットの追加または削除を含む、ガバナンスプロファイルの更新 2. API の新しいバージョンのパブリッシュ 3. API のタグの変更 4. ガバナンスルールセットの更新 ### [](#コンソールで通知を有効にして設定する)コンソールで通知を有効にして設定する コンソールで準拠通知を有効にして設定する手順は、次のとおりです。 1. API Governance コンソールで、プロファイルの作成または更新中に、​**\[Next (次へ)\]**​ ボタンと ​**\[前へ\]**​ ボタンを使用して、通知を有効にするプロファイルの ​**\[Notifications (通知)\]**​ ページに移動します。 2. まだ選択していない場合は、​**\[Nonconformance notification (非準拠通知)\]**​ の ​**\[Enabled (有効)\]**​ を選択します。 3. 受信者を選択します。 - **API Publisher (API パブリッシャー)**​: リストされている Anypoint Platform アカウントで指定されたメールアドレスを使用して、API パブリッシャーにメールを送信 - **API Contact (API 連絡先)**​: Exchange のアセットで指定された連絡先にメールを送信 - **Others (その他)**​: メールアドレスのカンマ区切りのリストにメールを送信 ### [](#cli-を使用した通知の有効化および設定)CLI を使用した通知の有効化および設定 CLI を使用して準拠通知を有効にして設定するには、​`governance create profile`​ または ​`governance update profile`​ コマンドを使用してプロファイルを作成または更新するときに次のオプションを使用します。 \--notify-publisher --notify-contact --notify-others a@a.a,b@b.com `--notify-off`​ オプションと共に ​`governance update profile`​ コマンドを使用して通知を無効にできます。 [「API Governance CLI を使用してガバナンスプロファイルを作成する」](https://docs.mulesoft.com/jp/api-governance/create-profiles#create-profile-cli)​または​[「API Governance CLI を使用してガバナンスプロファイルを更新する」](https://docs.mulesoft.com/jp/api-governance/create-profiles#update-profile-cli)​を参照してください。 ## [](#send-manual-notifs)API オーナーに手動で通知を送信する 何らかの理由で API オーナーに手動で通知する場合 (API が準拠していない場合や、プロファイルを変更した場合など)、直接メール通知を送信できます。 API オーナーに通知メールを手動で送信する手順は、次のとおりです。 1. API Governance コンソールで、次の操作を実行します。 - プロファイルから API オーナーに通知メールを送信するには、ガバナンスプロファイルを選択する。 - 特定の API の準拠に関する通知メールを送信するには、​**\[APIs (API)\]**​ タブを選択し、その API の概要行でアクションを表示する。 2. **\[Notify Owner (オーナーに通知)\]**​ アイコンをクリックします。 3. 受信者を選択します。 - **API Publisher (API パブリッシャー)**​: リストされている Anypoint Platform アカウントで指定されたメールアドレスを使用して、API パブリッシャーにメールを送信 - **API Contact (API 連絡先)**​: Exchange のアセットで指定された連絡先にメールを送信 - **Others (その他)**​: メールアドレスのカンマ区切りのリストにメールを送信 4. メールのテキストを確認し、​**\[Notify Owner (オーナーに通知)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [指定された API へのガバナンスルールセットの適用](https://docs.mulesoft.com/jp/api-governance/create-profiles) # 管理する API の識別 API Governance プロファイルの検索条件を満たす API は​_管理対象 API_​ になります。 ガバナンスプロファイルを作成する前に、管理する API を特定して、次のことを確認します。 - 管理する必要がある API のみを管理している。 - API オーナーは準拠通知の受信を開始する前にガバナンスの準備ができている。 ## [](#exchange-の-api-へのタグとカテゴリの追加)Exchange の API へのタグとカテゴリの追加 管理する API のセットを識別するには、Exchange で API アセットにタグとカテゴリを適用します。その後、ガバナンスプロファイルを作成するときにタグとカテゴリを検索条件として選択できます。 - アセットタグを追加するには、​[「Exchange でのアセットタグの追加と削除」](https://docs.mulesoft.com/jp/exchange/to-describe-an-asset#add-and-remove-asset-tags)​を参照してください。 - カテゴリを追加するには​[、「Exchange でのカテゴリの追加と削除」](https://docs.mulesoft.com/jp/exchange/to-describe-an-asset#add-and-remove-categories)​を参照してください。 ## [](#select-and-add-tags)ガバナンスプロファイルでのタグの選択および追加 プロファイルを作成または更新する場合、タグのリストを絞り込み、ページに最初に表示されていないタグを見つけて選択できます。Exchange の API にまだ追加していないタグの名前をガバナンスプロファイルに追加することもできます。 プロファイルでタグを選択および追加する手順は、次のとおりです。 1. プロファイルを作成または更新するときに、​**\[Define Filter Criteria (検索条件の定義)\]**​ ページに移動します。 2. **\[General (一般)\] > \[Tags (タグ)\]**​ セクションを展開します。 最もよく使用されるタグがデフォルトで表示されます。 3. 検索項目でタグ名の入力を開始して、タグのリストを絞り込みます。 4. 使用する必要があるタグが表示されない場合は、検索項目でタグ名を入力し、Enter キーを押してタグを追加します。 ## [](#関連情報)関連情報 - [指定された API へのガバナンスルールセットの適用](https://docs.mulesoft.com/jp/api-governance/create-profiles) - [API Governance の概要](https://docs.mulesoft.com/jp/api-governance/)