SCIMグループAPIリファレンス

SCIMグループAPIを使用して、ロールにアクセス、作成、および変更できます。

Snowflakeは、SCIMを使用してOkta、Azure AD 、およびカスタムビルドアプリケーションからロールをインポートすることをサポートしています。これらのIDプロバイダーのロールは、Snowflakeのロールと1対1でマッピングされます。

ロール(グループと呼ばれることもあります)は、アクセス権限の集まりです。Snowflakeでセキュリティで保護されたオブジェクトにアクセスするには、権限をロールに割り当てる必要があり、ロールは他のロールまたはユーザーに割り当てられます。

ロールに付与されたアクセス許可と権限は、ロールのすべてのメンバー(ユーザーなど)によって自動的に継承されます。詳細については、 アクセス制御の概要 をご参照ください。

ユーザーのSnowflakeへのアクセス要件は変更される可能性があります。例えば、ユーザーが組織内の個々のコントリビューターからマネージャーに変更することで、Snowflakeでのロールの変更が必要になったり、マネージャーのみが利用できるデータセットへのアクセスが必要になったりすることがあります。

IDプロバイダーでユーザーのロールが変更されると、組織ロールが対応するSnowflakeのロールにマッピングされ、Snowflakeへのアクセスも自動的に変更されます。

HTTPヘッダー

Snowflake SCIM API は、 HTTP 認証にベアラートークンを使用します。

Snowflake SCIM API への各 HTTP リクエストは、以下の HTTP ヘッダーを許可します。

ヘッダー

Authorization (必須)

Bearer <access_token>

Content-Type

application/scim+json

Accept-Encoding

utf-8

Accept-Charset

utf-8

グループ属性

JSONフォーマットのキーと値のペアとして、APIリクエストの本文でグループ(つまりロール)属性を指定できます。これらのペアには、グループの表示名など、グループに関する情報が含まれています。IDプロバイダーは、各属性に独自のキー名を指定できます。

Snowflakeは、ロールライフサイクル管理のために次の SCIM 属性をサポートしています。特に明記しない限り、属性は書き込み可能です。

SCIM グループ属性

Snowflakeグループ属性

説明

id

id

String

Snowflakeにあるロールの不変で一意の識別子(GUID)。

Snowflakeはこの値を返しません。

この値は、Information Schemaテーブル関数 REST_EVENT_HISTORY を呼び出すことで確認できます。IdP ログをチェックして、値が一致していることを確認します。

displayName

name

String

グループを参照する際にユーザーインターフェイスに表示されるテキスト。

members.value

N/A

String

ロールのメンバーであるユーザーの id

schemas

N/A

String

名前空間 URIs を示す文字列の配列。例: urn:ietf:params:scim:schemas:core:2.0:Group

displayNameによりグループの詳細を取得する

メソッドおよびエンドポイント:

GET /scim/v2/Groups?filter=displayName eq "{{group_name}}"

説明:

displayName クエリパラメーターに関連付けられたグループの詳細を返します。

HTTP リクエストが正常に完了した場合、 HTTP 応答ステータスコード 200 を返します。

groupIdでグループの詳細を取得する

メソッドおよびエンドポイント:

GET /scim/v2/Groups/{{group_id}}

説明:

group_id pathパラメーターに関連付けられているグループの詳細を返します。

HTTP リクエストが正常に完了した場合、 HTTP 応答ステータスコード 200 を返します。

グループを作成する

メソッドおよびエンドポイント:

POST /scim/v2/Groups

説明:

Snowflakeで新しいグループを作成します。

HTTP リクエストが正常に完了した場合、 HTTP 応答ステータスコード 201 を返します。

:

displayName scim_test_group2 でグループを作成します。

{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
  "displayName":"scim_test_group2"
}
Copy

グループを更新する

メソッドおよびエンドポイント:

PATCH /scim/v2/Groups/{{group_id}}

説明:

group_id pathパラメーターに関連付けられたグループの表示名属性またはグループ メンバーシップを更新します。

この HTTP リクエストを実行するには、 opadd または replace に設定する必要があります。

HTTP リクエストが正常に完了した場合、 HTTP 応答ステータスコード 200 を返します。

失敗した場合は、HTTP 応答コード 204 を返します。

:

グループ displayName を更新して、メンバーの削除、メンバーの追加を行います。

{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
  "Operations": [{
    "op": "replace",
    "value": { "displayName": "updated_name" }
  },
  {
    "op" : "remove",
    "path": "members[value eq \"user_id_1\"]"
  },
  {
    "op": "add",
    "value": [{ "value": "user_id_2" }]
  }]
}
Copy

グループの削除

メソッドおよびエンドポイント:

DELETE /scim/v2/Groups/{{group_id}}

説明:

group_id pathパラメーターに関連付けられているグループを削除します。