# APIセキュリティをデザイン

APIデザインプロセスの一環として、API(認証)にアクセスできるコンシューマーと、許可されるオペレーション(承認)を指定する必要があります。

API全体に共通のセキュリティを定義するか、重要なリソースに対して特定のセキュリティを使用して詳細なポリシーを選択できます。

また、認証なしで特定のオペレーションを自由にアクセスできるように指定することもできます。

API Contracts では、次の主なセキュリティ タイプですべてのケースを扱えます。

* 基本認証
* ベアラー認証
* ダイジェスト認証
* OAuth1.0
* OAuth2.0
* OpenID Connect
* カスタム/APIキー
* パススルー

Cookie認証はサポートされていません。

## セキュリティスキームの作成

APIバージョンで、または個々のエレメントでグローバルに使用されるセキュリティスキームを作成します。

1. APIの一般情報ページに移動します。
2. [Security schemes] (セキュリティスキーム) セクションまでスクロールし、[Add] (追加) をクリックして新しいスキームを作成します。
3. ドロップダウンリストで[Name] (名前)を入力して[Type] (タイプ)を選択します。
4. オプション: 説明を入力します。
5. 選択したタイプに固有のその他のパラメーターを入力します。

   ![セキュリティスキームの定義例。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/shows_OAuth2_security_scheme.png)

これで、セキュリティスキームが作成され、APIのグローバル設定または特定のリソースと操作で使用できるようになります。

## APIセキュリティの定義

API、リソース、オペレーションのセキュリティスキームを定義します。

1. APIの一般情報ページに移動します。
2. [Global security] (グローバルセキュリティ)セクションでセキュリティスキームを追加し、APIバージョンに対してグローバルに適用するものを選択します。

   ![この例では、Petstore APIはpetstore_authによってwrite:petsというスコープで保護されています。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/designer_security.png)
3. リソースを選択し、リソースのすべてのオペレーションに適用するセキュリティスキームを選択します。

   または、特定のセキュリティを定義するオペレーションを選択することもできます。![この例では、Find Pets by tagsメソッドはpetstore_authを使って保護されています。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/designer_security_2.png)