ALTER SECURITY INTEGRATION

ALTER SECURITY INTEGRATION (SAML2)

기존 SAML2 보안 통합의 속성을 수정하는 명령이에요.

출처: 문서

본문

다른 유형의 보안 통합(예: SCIM)을 수정하는 방법은 ALTER SECURITY INTEGRATION을 참고하세요.

관련 명령: CREATE SECURITY INTEGRATION (SAML2), DROP INTEGRATION, SHOW INTEGRATIONS, DESCRIBE INTEGRATION

구문 (Syntax)

ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> SET
    [ TYPE = SAML2 ]
    [ ENABLED = { TRUE | FALSE } ]
    [ METADATA_URL = '<string_literal>' ]
    [ SAML2_ISSUER = '<string_literal>' ]
    [ SAML2_SSO_URL = '<string_literal>' ]
    [ SAML2_PROVIDER = '<string_literal>' ]
    [ SAML2_X509_CERT = '<string_literal>' ]
    [ ALLOWED_USER_DOMAINS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
    [ ALLOWED_EMAIL_PATTERNS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
    [ SAML2_SP_INITIATED_LOGIN_PAGE_LABEL = '<string_literal>' ]
    [ SAML2_ENABLE_SP_INITIATED = TRUE | FALSE ]
    [ SAML2_SNOWFLAKE_X509_CERT = '<string_literal>' ]
    [ SAML2_SIGN_REQUEST = TRUE | FALSE ]
    [ SAML2_REQUESTED_NAMEID_FORMAT = '<string_literal>' ]
    [ SAML2_POST_LOGOUT_REDIRECT_URL = '<string_literal>' ]
    [ SAML2_FORCE_AUTHN = TRUE | FALSE ]
    [ SAML2_SNOWFLAKE_ISSUER_URL = '<string_literal>' ]
    [ SAML2_SNOWFLAKE_ACS_URL = '<string_literal>' ]
    [ COMMENT = '<string_literal>' ]

ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> UNSET {
    ENABLED |
    [ , ... ]
    }

ALTER [ SECURITY ] INTEGRATION <name> REFRESH
  [ SAML2_SNOWFLAKE_PRIVATE_KEY ]
  [ METADATA_URL ]

ALTER [ SECURITY ] INTEGRATION <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER [ SECURITY ] INTEGRATION <name> UNSET TAG <tag_name> [ , <tag_name> ... ]

매개변수 (Parameters)

name — 수정할 통합의 식별자예요. 식별자에 공백이나 특수 문자가 포함되어 있으면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶은 식별자는 대소문자를 구분해요.

SET ... — 공백, 콤마 또는 줄바꿈으로 구분해 통합에 설정할 하나 이상의 속성/매개변수를 지정해요:

ALLOWED_USER_DOMAINS = ( 'string_literal' [ , 'string_literal' , ... ] ) — SAML2 보안 통합으로 인증할 수 있는 이메일 도메인 목록을 지정해요. 예: ALLOWED_USER_DOMAINS = ("example.com", "example2.com", ...). 이 매개변수를 사용해 여러 IdP를 사용하는 구성에서 사용자를 IdP와 연결할 수 있어요. 자세한 내용은 페더레이션 인증에 여러 ID 공급자 사용을 참고하세요.

ALLOWED_EMAIL_PATTERNS = ( 'string_literal' [ , 'string_literal' , ... ] ) — SAML2 보안 통합으로 인증하기 위해 이메일 주소를 대조하는 정규 표현식 목록을 지정해요. 예: ALLOWED_EMAIL_PATTERNS = ("^(.+dev)@example.com$", "^(.+dev)@example2.com$", ... ). 이 매개변수를 사용해 여러 IdP를 사용하는 구성에서 사용자를 IdP와 연결할 수 있어요. 자세한 내용은 페더레이션 인증에 여러 ID 공급자 사용을 참고하세요.

TYPE = SAML2 — 통합의 유형을 지정해요. SAML2는 Snowflake와 ID 공급자 사이에 보안 인터페이스를 만들어요.

ENABLED = { TRUE | FALSE } — 통합의 작동을 시작할지 일시 중지할지 지정해요.

  • TRUE — 통합이 통합 정의에 지정된 매개변수를 기반으로 실행되도록 허용해요.
  • FALSE — 유지 관리를 위해 통합을 일시 중지해요. Snowflake와 서드파티 서비스 간의 모든 통합이 작동하지 않아요.

METADATA_URL = 'string_literal' — IdP의 메타데이터 URL을 지정해요. 메타데이터 URL은 Snowflake가 인증서 업데이트를 포함한 IdP 구성 설정을 동적으로 검색하고 동기화할 수 있게 하는 엔드포인트예요. 이 매개변수는 Okta와 Microsoft Entra ID에서만 지원돼요. 메타데이터 URL을 얻는 방법은 Snowflake용 ID 공급자(IdP) 구성에서 IdP에 해당하는 섹션을 참고하세요. 메타데이터 URL을 지정하면 SAML2_ISSUER, SAML2_SSO_URL, SAML2_PROVIDER, SAML2_X509_CERT 매개변수를 사용할 수 없어요. 이 매개변수로 지정한 정보는 메타데이터 URL에서 얻어지기 때문이에요.

SAML2_ISSUER = 'string_literal' — IdP의 EntityID / Issuer를 포함하는 문자열이에요.

SAML2_SSO_URL = 'string_literal' — IdP SSO URL을 포함하는 문자열로, Snowflake(서비스 프로바이더)가 SAML AuthnRequest 메시지로 사용자를 리디렉션해야 하는 곳이에요.

SAML2_PROVIDER = 'string_literal' — IdP를 설명하는 문자열이에요. 다음 중 하나: OKTA, ADFS, Custom.

SAML2_X509_CERT = 'string_literal' — 시작 -----BEGIN CERTIFICATE----- 및 끝 -----END CERTIFICATE----- 마커 없이 한 줄로 된 Base64 인코딩 IdP 서명 인증서예요.

SAML2_SP_INITIATED_LOGIN_PAGE_LABEL = 'string_literal' — 로그인 페이지의 Log In With 버튼 뒤에 표시할 라벨을 포함하는 문자열이에요.

SAML2_ENABLE_SP_INITIATED = TRUE | FALSE — 로그인 페이지에 Log In With 버튼이 표시될지 여부를 나타내는 부울이에요.

  • TRUE — 로그인 페이지에 Log in With 버튼을 표시해요.
  • FALSE — 로그인 페이지에 Log in With 버튼을 표시하지 않아요.

SAML2_SNOWFLAKE_X509_CERT = 'string_literal'SAML 어서션 암호화서명된 SAML 요청 전송에 사용하기 위해 Snowflake가 생성한 Base64 인코딩 자체 서명 인증서예요. 인증서 값에 접근하려면 Snowflake 계정에서 이 기능(암호화된 SAML 어서션 또는 서명된 SAML 응답) 중 하나 이상을 활성화해야 해요.

SAML2_SIGN_REQUEST = TRUE | FALSE — SAML 요청이 서명되는지 여부를 나타내는 부울이에요.

  • TRUE — SAML 요청이 서명되도록 허용해요.
  • FALSE — SAML 요청이 서명되도록 허용하지 않아요.

SAML2_REQUESTED_NAMEID_FORMAT = 'string_literal' — SAML NameID 형식은 Snowflake가 IdP의 SAML 어서션에서 사용자의 식별 속성(즉 SAML Subject)에 대한 기대치를 설정해 Snowflake에 대한 유효한 인증을 보장할 수 있게 해요. 값을 지정하지 않으면 Snowflake는 IdP에 대한 인증 요청에서 urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress 값을 보내요. 선택사항이에요. SAML NameID 형식을 지정하기로 선택하면 다음 값 중 하나를 사용해요:

  • urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
  • urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
  • urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName
  • urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName
  • urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos
  • urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
  • urn:oasis:names:tc:SAML:2.0:nameid-format:transient

SAML2_POST_LOGOUT_REDIRECT_URL = 'string_literal' — Snowsight에서 사용자가 Log Out 버튼을 클릭한 후 Snowflake가 사용자를 리디렉션하는 엔드포인트예요. Snowflake는 지정된 엔드포인트로 리디렉션할 때 Snowflake 세션을 종료해요.

SAML2_FORCE_AUTHN = TRUE | FALSE — 초기 인증 흐름 동안 사용자가 Snowflake에 접근하기 위해 다시 인증해야 하는지 여부를 나타내는 부울이에요. TRUE로 설정하면 Snowflake는 Snowflake에서 ID 공급자로의 나가는 요청에서 ForceAuthn SAML 매개변수를 TRUE로 설정해요.

  • TRUE — ID 공급자와 유효한 세션이 있어도 사용자가 Snowflake에 접근하기 위해 다시 인증하도록 강제해요.
  • FALSE — 사용자가 Snowflake에 접근하기 위해 다시 인증하도록 강제하지 않아요.

기본값: FALSE.

SAML2_SNOWFLAKE_ISSUER_URL = 'string_literal' — Snowflake 서비스 프로바이더의 EntityID / Issuer를 포함하는 문자열이에요. 잘못된 값을 지정하면 Snowflake는 사용할 수용 가능한 값을 나타내는 오류 메시지를 반환해요. 이 속성의 값은 IdP에 지정된 Snowflake 계정 URL과 일치해야 해요. 레거시 URL을 기본값으로 하므로, IdP에서 다른 URL 형식을 정의하면 이 속성을 적절히 설정해야 해요.

SAML2_SNOWFLAKE_ACS_URL = 'string_literal' — IdP가 SAML 인증 응답을 Snowflake로 다시 보낼 Snowflake Assertion Consumer Service URL을 포함하는 문자열이에요. 이 속성은 Snowflake가 IdP와 SAML SSO 작업을 시작할 때 생성하는 SAML 인증 요청에 설정돼요. 잘못된 값을 지정하면 Snowflake는 사용할 수용 가능한 값을 나타내는 오류 메시지를 반환해요. 이 속성의 값은 IdP에 지정된 Snowflake 계정 URL과 일치해야 해요. 레거시 URL을 기본값으로 하므로, IdP에서 다른 URL 형식을 정의하면 이 속성을 적절히 설정해야 해요.

기본값: https://<account_locator>.<region>.snowflakecomputing.com/fed/login

COMMENT = 'string_literal' — 통합의 주석을 추가하거나 기존 주석을 덮어써요. 기본값: 값 없음

REFRESH ... — 통합 값을 업데이트해요.

SAML2_SNOWFLAKE_PRIVATE_KEY — SAML2 보안 통합에 대한 새 개인 키와 자체 서명 인증서를 생성해요. 이전 개인 키와 자체 서명 인증서는 새 것으로 덮어써져요. 키 회전 모범 사례에 대한 자세한 내용은 SAML2 보안 통합 관리를 참고하세요.

METADATA_URL — 통합의 METADATA_URL 매개변수로 지정된 메타데이터 URL을 사용해 현재 IdP 구성 설정으로 보안 통합을 업데이트해요. REFRESH METADATA_URL을 사용해 매개변수를 수동으로 업데이트하지 않고 인증서 업데이트를 포함한 수정된 IdP 구성 설정과 Snowflake를 동기화해요.

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]태그 이름과 태그 문자열 값을 지정해요. 태그 값은 항상 문자열이며, 최대 문자 수는 256이에요. 문에서 태그를 지정하는 방법은 태그 할당량을 참고하세요.

UNSET ... — 보안 통합에서 해제할 하나 이상의 속성/매개변수를 지정해 기본값으로 되돌려요:

  • ENABLED
  • TAG tag_name [ , tag_name ... ]

사용 메모 (Usage notes)

  • Snowflake 서비스를 사용할 때 메타데이터로 개인 데이터(User 객체 외), 민감한 데이터, 수출 통제 데이터 또는 기타 규제 대상 데이터를 입력하지 않도록 주의해야 해요. 자세한 내용은 Snowflake의 메타데이터 필드를 참고하세요.
  • REFRESH 명령으로 SAML2_SNOWFLAKE_PRIVATE_KEY를 회전한 후에는 새 SAML2_SNOWFLAKE_X509_CERT 값을 IdP에 업로드해야 해요. 그렇지 않으면 SAML 인증이 작동을 멈춰요. 키 회전 모범 사례에 대한 자세한 내용은 SAML2 보안 통합 관리를 참고하세요.

예시 (Examples)

  • 다음 예시는 중지된 통합의 작동을 시작해요.
ALTER SECURITY INTEGRATION myint SET ENABLED = TRUE;
  • 다음 예시는 my_idp라는 SAML2 보안 통합의 개인 키를 회전하고 새 자체 서명 인증서를 생성해요.

주의: 아래 명령을 실행한 후에는 IdP가 여전히 이전 SAML2_SNOWFLAKE_X509_CERT 인증서를 사용하므로 SAML 인증이 작동을 멈춰요. 중단을 최소화하려면 사용자가 덜 활동적인 시기에 이 명령을 실행해야 해요. 자세한 내용은 SAML2 보안 통합 관리를 참고하세요.

alter security integration my_idp refresh SAML2_SNOWFLAKE_PRIVATE_KEY;

더 알아보기 (Learn more)