Skip to main content
24.02
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

新しいクレデンシャルを作成

POST /accounts/{account_id}/core/v1/credentials

作成する Credential API リソースの希望する値を指定します。

パラメータ

Name を入力します 入力 必須 説明

account_id

string

path(パス)

True

包含するアカウントリソースのID

  • 例:{{.Account}}

要求の本文

作成する Credential API リソースの希望する値を指定します。

Name を入力します 必須 説明

を入力します

string

True

リソースのメディアタイプ。定義された値は次のとおりです:

  • "application/astra-credential"

バージョン

string

True

リソースのバージョン。定義された値は次のとおりです:

  • "1.0"

  • "1.1"

名前

string

True

ユーザーが指定した名前を含むJSON文字列。ユーザーに対してクレデンシャルが作成されると、名前はそのユーザーのUUIDに設定されます。定義されている値は次のとおりです:

  • 最小長さ:1

  • 最大長さ:127

keyType

string

False

keyStoreの内容のオプションのユーザー指定データ検証タイプ記述子を含む JSON 文字列。拡張更新制約:

  • keyTypeがリソースに存在せず、更新でも指定されていない場合、keyTypeは更新されたリソースに存在し続けてはなりません。

  • keyTypeがリソースに存在せず、更新で指定されている場合、keyTypeをリソースに追加し、検証を実行する必要があります。検証に失敗した場合、更新は失敗します。

  • もしkeyTypeがリソース内に存在し、更新で指定されていない場合、keyTypeを保存しなければならない。

  • keyTypeがリソース内に存在し、更新で指定され、指定されたkeyTypeが既存のkeyTypeと一致する場合、keyTypeを保持する必要があります。

  • keyTypeがリソース内に存在し、更新で指定され、指定されたkeyTypeが既存のkeyTypeと異なる場合、更新は失敗します。定義された値は次のとおりです:

  • 「generic」 - 認証情報は汎用的なデータの集合です。これは、keyTypeを含めないことと同等です。

  • 拡張検証は以下のように実施されます:

  • 1つ以上の文字列がkeyStoreに存在する必要があります。

  • keyStore内のすべての文字列は、base64でエンコードされた値を持つ必要があります。

  • 「passwordHash」- 認証情報はパスワードハッシュです。

  • 拡張検証は以下のように実施されます:

  • 認証情報の名前は一意である必要があります。

  • 認証情報の名前は、有効なユーザーリソースIDと一致している必要があります。

  • クレデンシャルの名前は変更しないでください。

  • 対応するユーザーリソースには「authProvider」が「local」である必要があります。

  • 「平文」文字列が keyStore 内に存在する必要があります。値には base64 エンコードされた平文パスワードが含まれます:

  • パスワードの平文は、アカウントのパスワードポリシーに準拠する必要があります。

  • パスワードはハッシュ値として保存されます。

  • 「変更」文字列は、keyStore内に存在する必要があり、値にはbase64エンコードされた文字列「true」または「false」が含まれます。

  • passwordHashタイプのクレデンシャルは、名前で示されるユーザーIDが存在しない場合にのみ削除できます。

  • 「apikey」 - クレデンシャルはAPIキーです。

  • 拡張検証は以下のように実施されます:

  • 「apikey」文字列は、keyStore内に存在する必要があり、その値にはbase64エンコードされた任意の文字列が含まれます。

  • 「kubeconfig」 - クレデンシャルはkubeconfigです。

  • 拡張検証は以下のように実施されます:

  • 「base64」文字列は、keyStore内に存在する必要があり、その値にはbase64エンコードされたJSON kubeconfigファイルが含まれている必要があります。

  • kubeconfig ファイルには、単一のクラスターのみを記述する必要があります。

  • keyStore内に他のフィールドは存在できません。

  • 「certificate」 - 認証情報はPEMエンコードされた証明書です

  • 拡張検証は以下のように実施されます:

  • 「証明書」文字列は、keyStore内に存在する必要があり、値にはbase64エンコードされたPEM証明書が含まれます。

  • 「privkey」 - クレデンシャルはPEMエンコードされた秘密鍵です。

  • 拡張検証は以下のように実施されます:

  • 「privkey」文字列は、keyStore内に存在する必要があり、その値にはbase64エンコードされたPEM秘密鍵が含まれます。

  • 「s3」 - 認証情報が Simple Storage Service(S3)アクセス用であることを示します。

  • 拡張検証は以下のように実施されます:

  • 「accessKey」文字列は、Base64エンコードされたS3アクセスキーを含む値を持つkeyStore内に存在する必要があります。

  • 「accessSecret」文字列は、Base64エンコードされたS3アクセスシークレットを含む値を持つkeyStore内に存在する必要があります。

keyStore

"keyStore"

True

JSON文字列を含むJSONオブジェクト。keyStore内の各文字列は、クレデンシャルの一部を表します。各文字列の名前はクレデンシャルの一部を表し、対応するキー値には、そのクレデンシャルの一部の値がbase64形式で格納されます。定義された値は次のとおりです:

  • base64 Encoded Data Schemaに準拠しています。文字列の長さに制限はありません。

有効

string

False

認証情報が有効かどうかを示すJSON文字列。省略した場合のデフォルト値は「true」です。定義された値は次のとおりです:

  • 「true」 - この認証情報は使用可能です。

  • 「false」 - この認証情報は使用してはなりません。

validFromTimestamp

string

False

認証情報が有効になった日時を示すタイムスタンプを含むJSON文字列。これらは認証情報のローテーションに使用されます。定義された値は次のとおりです:

  • ISO-8601 Date Time Schemaに準拠

validUntilTimestamp

string

False

認証情報が無効になった日時を示すタイムスタンプを含むJSON文字列。これらは資格情報のローテーションに使用されます。定義された値は次のとおりです:

  • ISO-8601 Date Time Schemaに準拠

メタデータ

"type_astra_metadata_update"

False

リソースに関連付けられた、クライアントおよびサービス指定のメタデータ。定義された値は次のとおりです:

  • Astra メタデータスキーマに準拠します。作成時に指定しない場合、ラベルのないメタデータオブジェクトが作成されます。更新時に指定されていない場合、メタデータオブジェクトのラベル、creationTimestamp および createdBy は、変更なしで保持されます。

リクエスト例
{
  "type": "application/astra-credential",
  "version": "1.1",
  "name": "myCert",
  "keyStore": {
    "privKey": "SGkh",
    "pubKey": "VGhpcyBpcyBhbiBleGFtcGxlLg=="
  }
}

応答

Status: 201, Returns the newly created credential resource in the JSON response body.
Name を入力します 必須 説明

を入力します

string

True

リソースのメディアタイプ。定義された値は次のとおりです:

  • "application/astra-credential"

バージョン

string

True

リソースのバージョン。定義された値は次のとおりです:

  • "1.0"

  • "1.1"

ID

string

True

リソースのグローバル一意識別子。定義された値は次のとおりです:

  • UUIDv4スキーマに準拠

名前

string

True

ユーザーが指定した名前を含むJSON文字列。ユーザーに対してクレデンシャルが作成されると、名前はそのユーザーのUUIDに設定されます。定義されている値は次のとおりです:

  • 最小長さ:1

  • 最大長さ:127

keyType

string

False

keyStoreの内容のオプションのユーザー指定データ検証タイプ記述子を含む JSON 文字列。拡張更新制約:

  • keyTypeがリソースに存在せず、更新でも指定されていない場合、keyTypeは更新されたリソースに存在し続けてはなりません。

  • keyTypeがリソースに存在せず、更新で指定されている場合、keyTypeをリソースに追加し、検証を実行する必要があります。検証に失敗した場合、更新は失敗します。

  • もしkeyTypeがリソース内に存在し、更新で指定されていない場合、keyTypeを保存しなければならない。

  • keyTypeがリソース内に存在し、更新で指定され、指定されたkeyTypeが既存のkeyTypeと一致する場合、keyTypeを保持する必要があります。

  • keyTypeがリソース内に存在し、更新で指定され、指定されたkeyTypeが既存のkeyTypeと異なる場合、更新は失敗します。定義された値は次のとおりです:

  • 「generic」 - 認証情報は汎用的なデータの集合です。これは、keyTypeを含めないことと同等です。

  • 拡張検証は以下のように実施されます:

  • 1つ以上の文字列がkeyStoreに存在する必要があります。

  • keyStore内のすべての文字列は、base64でエンコードされた値を持つ必要があります。

  • 「passwordHash」- 認証情報はパスワードハッシュです。

  • 拡張検証は以下のように実施されます:

  • 認証情報の名前は一意である必要があります。

  • 認証情報の名前は、有効なユーザーリソースIDと一致している必要があります。

  • クレデンシャルの名前は変更しないでください。

  • 対応するユーザーリソースには「authProvider」が「local」である必要があります。

  • 「平文」文字列が keyStore 内に存在する必要があります。値には base64 エンコードされた平文パスワードが含まれます:

  • パスワードの平文は、アカウントのパスワードポリシーに準拠する必要があります。

  • パスワードはハッシュ値として保存されます。

  • 「変更」文字列は、keyStore内に存在する必要があり、値にはbase64エンコードされた文字列「true」または「false」が含まれます。

  • passwordHashタイプのクレデンシャルは、名前で示されるユーザーIDが存在しない場合にのみ削除できます。

  • 「apikey」 - クレデンシャルはAPIキーです。

  • 拡張検証は以下のように実施されます:

  • 「apikey」文字列は、keyStore内に存在する必要があり、その値にはbase64エンコードされた任意の文字列が含まれます。

  • 「kubeconfig」 - クレデンシャルはkubeconfigです。

  • 拡張検証は以下のように実施されます:

  • 「base64」文字列は、keyStore内に存在する必要があり、その値にはbase64エンコードされたJSON kubeconfigファイルが含まれている必要があります。

  • kubeconfig ファイルには、単一のクラスターのみを記述する必要があります。

  • keyStore内に他のフィールドは存在できません。

  • 「certificate」 - 認証情報はPEMエンコードされた証明書です

  • 拡張検証は以下のように実施されます:

  • 「証明書」文字列は、keyStore内に存在する必要があり、値にはbase64エンコードされたPEM証明書が含まれます。

  • 「privkey」 - クレデンシャルはPEMエンコードされた秘密鍵です。

  • 拡張検証は以下のように実施されます:

  • 「privkey」文字列は、keyStore内に存在する必要があり、その値にはbase64エンコードされたPEM秘密鍵が含まれます。

  • 「s3」 - 認証情報が Simple Storage Service(S3)アクセス用であることを示します。

  • 拡張検証は以下のように実施されます:

  • 「accessKey」文字列は、Base64エンコードされたS3アクセスキーを含む値を持つkeyStore内に存在する必要があります。

  • 「accessSecret」文字列は、Base64エンコードされたS3アクセスシークレットを含む値を持つkeyStore内に存在する必要があります。

有効

string

True

認証情報が有効かどうかを示すJSON文字列。省略した場合のデフォルト値は「true」です。定義された値は次のとおりです:

  • 「true」 - この認証情報は使用可能です。

  • 「false」 - この認証情報は使用してはなりません。

validFromTimestamp

string

False

認証情報が有効になった日時を示すタイムスタンプを含むJSON文字列。これらは認証情報のローテーションに使用されます。定義された値は次のとおりです:

  • ISO-8601 Date Time Schemaに準拠

validUntilTimestamp

string

False

認証情報が無効になった日時を示すタイムスタンプを含むJSON文字列。これらは資格情報のローテーションに使用されます。定義された値は次のとおりです:

  • ISO-8601 Date Time Schemaに準拠

メタデータ

"type_astra_metadata_update"

True

リソースに関連付けられた、クライアントおよびサービス指定のメタデータ。定義された値は次のとおりです:

  • Astra メタデータスキーマに準拠します。作成時に指定しない場合、ラベルのないメタデータオブジェクトが作成されます。更新時に指定されていない場合、メタデータオブジェクトのラベル、creationTimestamp および createdBy は、変更なしで保持されます。

回答例
{
  "type": "application/astra-credential",
  "version": "1.1",
  "id": "58e26f6a-a631-5122-8e0e-7afe306675c0",
  "name": "myCert",
  "valid": "true",
  "metadata": {
    "labels": [],
    "creationTimestamp": "2022-10-06T20:58:16.305662Z",
    "modificationTimestamp": "2022-10-06T20:58:16.305662Z",
    "createdBy": "8f84cf09-8036-51e4-b579-bd30cb07b269"
  }
}

応答

Status: 401, Unauthorized
Name を入力します 必須 説明

を入力します

string

True

タイトル

string

True

詳細

string

True

ステータス

string

True

correlationID

string

False

回答例
{
  "type": "https://astra.netapp.io/problems/3",
  "title": "Missing bearer token",
  "detail": "The request is missing the required bearer token.",
  "status": "401"
}

応答

Status: 400, Bad request
Name を入力します 必須 説明

を入力します

string

True

タイトル

string

True

詳細

string

True

ステータス

string

True

correlationID

string

False

invalidFields

配列["invalidFields"]

False

無効なリクエストボディフィールドのリスト

回答例
{
  "type": "https://astra.netapp.io/problems/5",
  "title": "Invalid query parameters",
  "detail": "The supplied query parameters are invalid.",
  "status": "400"
}

応答

Status: 409, Conflict
Name を入力します 必須 説明

を入力します

string

True

タイトル

string

True

詳細

string

True

ステータス

string

True

correlationID

string

False

invalidFields

配列["invalidFields"]

False

無効なリクエストボディフィールドのリスト

回答例
{
  "type": "https://astra.netapp.io/problems/10",
  "title": "JSON resource conflict",
  "detail": "The request body JSON contains a field that conflicts with an idempotent value.",
  "status": "409"
}

応答

Status: 403, Forbidden
Name を入力します 必須 説明

を入力します

string

True

タイトル

string

True

詳細

string

True

ステータス

string

True

correlationID

string

False

回答例
{
  "type": "https://astra.netapp.io/problems/11",
  "title": "Operation not permitted",
  "detail": "The requested operation isn't permitted.",
  "status": "403"
}

エラー

Status: 404, Not found
Name を入力します 必須 説明

を入力します

string

True

タイトル

string

True

詳細

string

True

ステータス

string

True

correlationID

string

False

エラー応答の例
{
  "type": "https://astra.netapp.io/problems/2",
  "title": "Collection not found",
  "detail": "The collection specified in the request URI wasn't found.",
  "status": "404"
}

用語の意味

定義を参照

keyStore

JSON文字列を含むJSONオブジェクト。keyStore内の各文字列は、クレデンシャルの一部を表します。各文字列の名前はクレデンシャルの一部を表し、対応するキー値には、そのクレデンシャルの一部の値がbase64形式で格納されます。定義された値は次のとおりです:

  • base64 Encoded Data Schemaに準拠しています。文字列の長さに制限はありません。

文字列から文字列へのハッシュマッピング

type_astra_label

Name を入力します 必須 説明

名前

string

True

Value

string

True

type_astra_metadata_update

リソースに関連付けられた、クライアントおよびサービス指定のメタデータ。定義された値は次のとおりです:

  • Astra メタデータスキーマに準拠します。作成時に指定しない場合、ラベルのないメタデータオブジェクトが作成されます。更新時に指定されていない場合、メタデータオブジェクトのラベル、creationTimestamp および createdBy は、変更なしで保持されます。

Name を入力します 必須 説明

ラベル

配列["type_astra_label"]

False

作成タイムスタンプ

string

False

modificationTimestamp

string

False

作成者

string

False

modifiedBy

string

False

invalidParams

Name を入力します 必須 説明

名前

string

True

無効なクエリパラメータの名前

理由

string

True

クエリパラメータが無効な理由

invalidFields

Name を入力します 必須 説明

名前

string

True

無効なリクエストボディフィールドの名前

理由

string

True

リクエスト本文フィールドが無効な理由