Flex Gateway新着情報
Governance新着情報
Monitoring API Managerカスタムルールセットを作成した後に、次の手順を実行します。
ルールセットを検証します。
ルールセットのドキュメントを生成します。
新しいアセットとして Exchange にカスタムルールセットをパブリッシュします。
ルールセットを検証およびパブリッシュするためのコマンドシーケンスの例については、検証およびパブリッシュするサンプルコマンドシーケンスを参照してください。
カスタムコードや設定と同様に、ルールセットはサポートされている MuleSoft 製品とはみなされません。これらのカスタムルールセットの問題については、 AMF Custom Validator の Github リポジトリに問題を投稿してください。 |
ガバナンスルールセットの作成時およびパブリッシュ前にガバナンスルールセットを検証するには、次のコマンドを使用します。
> governance:ruleset:validate [フラグ] <governance-ruleset>
このコマンドは、governance-ruleset
パラメーターを使用して渡されたルールセット定義を検証します。governance-ruleset
パラメーターとして、次のいずれかを渡すことができます。
ルールセット定義 YAML ファイル
ルールセットをメインファイルとして指定する exchange.json
ファイルを使用した API プロジェクトを含む ZIP ファイル
ルールセットをメインファイルとして指定する exchange.json
ファイルを使用する API プロジェクトを含むフォルダー
このコマンドでは、デフォルトのフラグのみを受け入れます。
コマンド例:
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
次のコマンドを使用して、ルールセット YAML ファイルのドキュメント ZIP ファイルを生成します。結果のドキュメント ZIP ファイルは、--files.docs.zip
オプションを使用して Exchange アセットのアップロードで使用できます。
> governance:document [フラグ] <ruleset> <doc-file>
このコマンドは、ruleset
で指定された API Governance ルールセット定義 ZIP ファイルのドキュメントを作成します。ドキュメントを doc-file
ZIP ファイルに含め、Exchange にアップロードしてパブリッシュできるようにします。
このコマンドでは、デフォルトのフラグのみを受け入れます。
コマンド例:
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
Anypoint CLI を使用して、ルールセットとそのドキュメントを Exchange にパブリッシュ (アップロード) できます。Exchange UI を使用してルールセットアセットをアップロードすることはできません。
次のコマンドを使用して、ルールセットとそのドキュメントを Exchange にアップロードします。
> exchange:asset:upload [flags] <assetIdentifier>
このコマンドでは、<assetIdentifier>
で渡される 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 がデフォルトに設定されます。
フラグ | 説明 |
---|---|
|
アセット名 (pom ファイルが指定されていない場合に必要) 次に例を示します。
|
|
アセットの説明 |
|
アセットプロパティ 次に例を示します。
|
|
アセットファイル ( 複数のファイルを送信するには通常、同じフラグを複数回使用します。
ルールセットを含むルールセットドキュメントをアップロードする場合は例外です。分類子とパッケージ化オプションの両方のセットを 1 つの
例: POM ファイルと RAML 仕様をアップロードする:
ルールセットとそのドキュメントをアップロードする:
|
|
アセットタイプ ファイルが指定されていない場合に必要です。 サポートされる値:
アップロードされると、タイプはファイルの分類子から推定されます。 アセットタイプに応じて、次のような分類子の値があります。
|
|
カテゴリ (値は JSON 形式の文字列である必要があります) '{"key": "value"}' 次に例を示します。 '{"Department": "IT"}' |
|
項目 (値は JSON 形式の文字列である必要があります) '{"key": "value"}' 次に例を示します。 '{"releaseDate": "2020-01-01T20:00:00.000Z"}' |
|
キーワード (カンマ区切り) 次に例を示します。
|
|
タグ (カンマ区切り) 次に例を示します。
|
|
アセットの連動関係 (カンマ区切り) 次に例を示します。
|
|
アセットの状況 サポートされる値:
デフォルト値:
|
次のサンプルシーケンスを使用して、ルールセットの検証、そのドキュメントの生成、および両方の Exchange へのアップロードを開始します。フォルダー名、ルールセットファイル名、ルールセットドキュメント ZIP ファイル名などの詳細を独自の詳細に置き換えます。
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/ フォルダー内にあります。 |