次のセクションでは、Microsoft Identity Manager (MIM) Privileged Access Management (PAM) REST API の詳細について説明します。
HTTP 要求ヘッダー
API に送信される HTTP 要求には、次のヘッダーを含める必要があります (この一覧は完全ではありません)。
| ヘッダ | 説明 |
|---|---|
| 認可 | 必須。 コンテンツは、WIA (Windows 統合認証) または ADFS に基づいて構成可能な認証方法に依存します。 |
| コンテンツタイプ | 要求本文が含まれる場合は必須。
application/jsonに設定する必要があります。 |
| Content-Length (コンテンツの長さ) | 要求本文が含まれる場合は必須。 |
| クッキー | セッション Cookie。 認証方法によっては必要になる場合があります。 |
HTTP 応答ヘッダー
HTTP 応答には、次のヘッダーを含める必要があります (この一覧は完全ではありません)。
| ヘッダ | 説明 |
|---|---|
| コンテンツタイプ | API は常に application/jsonを返します。 |
| Content-Length (コンテンツの長さ) | 要求本文の長さ (存在する場合) (バイト単位)。 |
バージョン管理
API の現在のバージョンは 1 です。
次の例のように、要求 URL のクエリ パラメーターを使用して API バージョンを指定できます。 http://localhost:8086/api/pamresources/pamrequests?v=1 要求でバージョンが指定されていない場合、要求は、最近リリースされたバージョンの API に対して実行されます。
セキュリティ
API へのアクセスには、統合 Windows 認証 (IWA) が必要です。 これは、Microsoft Identity Manager (MIM) のインストール前に IIS で手動で構成する必要があります。
HTTPS (TLS) はサポートされていますが、IIS で手動で構成する必要があります。 詳細については、「手順 9: FIM 2010 R2 テスト ラボ ガイドのインストールで FIM 2010 R2 のインストール後タスクを実行する」の「FIM ポータルの Secure Sockets Layer (SSL) を実装する」を参照してください。
Visual Studio コマンド プロンプトで次のコマンドを実行すると、新しい SSL サーバー証明書を生成できます。
Makecert -r -pe -n CN="test.cwap.com" -b 05/10/2014 -e 12/22/2048 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12
このコマンドは、URL が test.cwap.com Web サーバーで SSL を使用する Web アプリケーションをテストするために使用できる自己署名証明書を作成します。
-eku オプションによって定義された OID は、証明書を SSL サーバー証明書として識別します。 証明書は 自分 のストアに格納され、マシン レベルで使用できます。 mmc.exeの証明書スナップインから証明書をエクスポートできます。
クロス ドメイン アクセス (CORS)
CORS はサポートされていますが、IIS で手動で構成する必要があります。 デプロイされた API web.config ファイルに次の要素を追加して、クロス ドメイン呼び出しを許可するように API を構成します。
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Credentials" value="true" />
<add name="Access-Control-Allow-Headers" value="content-type" />
<add name="Access-Control-Allow-Origin" value="http://<hostname>:8090" />
</customHeaders>
</httpProtocol>
</system.webServer>
エラー処理
API は HTTP エラー応答を返し、エラー状態を示します。 エラーは、OData 準拠です。 次の表は、クライアントに返される可能性があるエラー コードを示しています。
| HTTP 状態コード | 説明 |
|---|---|
| 401 | 無許可 |
| 4:03 | 許可されていません |
| 408 | 要求のタイムアウト |
| 5:00 | 内部サーバー エラー |
| 503 | サービス利用不可 |
フィルタリング
PAM REST API 要求には、応答に含める必要があるプロパティを指定するフィルターを含めることができます。 フィルター構文は OData 式に基づいています。
フィルターでは、PAM 要求、PAM ロールのいずれかのプロパティを指定できます。 または保留中の PAM 要求の任意のプロパティを指定できます。 たとえば、PAM 要求、PAM ロール、保留中の要求のいずれかの有効なプロパティとして、ExpirationTime や DisplayName などがあります。
この API は、フィルター式で次の演算子をサポートしています: And、 Equal、 NotEqual、 GreaterThan、 LessThan、 GreaterThenOrEqueal、 LessThanOrEqual。
次のサンプル要求にはフィルターが含まれます。
この要求は、特定の日付間のすべての PAM 要求を返します。
http://localhost:8086/api/pamresources/pamrequests?$filter=ExpirationTime gt datetime'2015-01-09T08:26:49.721Z' and ExpirationTime lt datetime'2015-02-10T08:26:49.722Z'この要求は、"SQL ファイル アクセス" という表示名の Pam ロールを返します。
http://localhost:8086/api/pamresources/pamroles?$filter=DisplayName eq 'SQL File Access'