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 ヘッダーを許可します。
ヘッダー |
値 |
---|---|
|
|
|
|
|
|
|
|
グループ属性¶
JSONフォーマットのキーと値のペアとして、APIリクエストの本文でグループ(つまりロール)属性を指定できます。これらのペアには、グループの表示名など、グループに関する情報が含まれています。IDプロバイダーは、各属性に独自のキー名を指定できます。
Snowflakeは、ロールライフサイクル管理のために次の SCIM 属性をサポートしています。特に明記しない限り、属性は書き込み可能です。
SCIM グループ属性 |
Snowflakeグループ属性 |
型 |
説明 |
---|---|---|---|
|
|
String |
Snowflakeにあるロールの不変で一意の識別子(GUID)。 Snowflakeはこの値を返しません。 この値は、Information Schemaテーブル関数 REST_EVENT_HISTORY を呼び出すことで確認できます。IdP ログをチェックして、値が一致していることを確認します。 |
|
|
String |
グループを参照する際にユーザーインターフェイスに表示されるテキスト。 |
|
N/A |
String |
ロールのメンバーであるユーザーの |
|
N/A |
String |
名前空間 URIs を示す文字列の配列。例: |
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" }
グループを更新する¶
- メソッドおよびエンドポイント:
PATCH /scim/v2/Groups/{{group_id}}
- 説明:
group_id
pathパラメーターに関連付けられたグループの表示名属性またはグループ メンバーシップを更新します。この HTTP リクエストを実行するには、
op
をadd
または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" }] }] }
グループの削除¶
- メソッドおよびエンドポイント:
DELETE /scim/v2/Groups/{{group_id}}
- 説明:
group_id
pathパラメーターに関連付けられているグループを削除します。